Merge staging-next into staging
This commit is contained in:
commit
78ae7ac75e
|
@ -14,6 +14,7 @@ jobs:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
- name: Merge master into staging-next
|
- name: Merge master into staging-next
|
||||||
|
id: staging_next
|
||||||
uses: devmasx/merge-branch@v1.3.1
|
uses: devmasx/merge-branch@v1.3.1
|
||||||
with:
|
with:
|
||||||
type: now
|
type: now
|
||||||
|
@ -22,6 +23,7 @@ jobs:
|
||||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
- name: Merge staging-next into staging
|
- name: Merge staging-next into staging
|
||||||
|
id: staging
|
||||||
uses: devmasx/merge-branch@v1.3.1
|
uses: devmasx/merge-branch@v1.3.1
|
||||||
with:
|
with:
|
||||||
type: now
|
type: now
|
||||||
|
@ -35,5 +37,5 @@ jobs:
|
||||||
with:
|
with:
|
||||||
issue-number: 105153
|
issue-number: 105153
|
||||||
body: |
|
body: |
|
||||||
An automatic merge [failed](https://github.com/NixOS/nixpkgs/actions/runs/${{ github.run_id }}).
|
An automatic merge${{ (steps.staging_next.outcome == 'failure' && ' from master to staging-next') || ((steps.staging.outcome == 'failure' && ' from staging-next to staging') || '') }} [failed](https://github.com/NixOS/nixpkgs/actions/runs/${{ github.run_id }}).
|
||||||
|
|
||||||
|
|
|
@ -121,15 +121,20 @@ rec {
|
||||||
js = { bits = 32; significantByte = littleEndian; family = "js"; };
|
js = { bits = 32; significantByte = littleEndian; family = "js"; };
|
||||||
};
|
};
|
||||||
|
|
||||||
# Determine where two CPUs are compatible with each other. That is,
|
# Determine when two CPUs are compatible with each other. That is,
|
||||||
# can we run code built for system b on system a? For that to
|
# can code built for system B run on system A? For that to happen,
|
||||||
# happen, then the set of all possible possible programs that system
|
# the programs that system B accepts must be a subset of the
|
||||||
# b accepts must be a subset of the set of all programs that system
|
# programs that system A accepts.
|
||||||
# a accepts. This compatibility relation forms a category where each
|
#
|
||||||
# CPU is an object and each arrow from a to b represents
|
# We have the following properties of the compatibility relation,
|
||||||
# compatibility. CPUs with multiple modes of Endianness are
|
# which must be preserved when adding compatibility information for
|
||||||
# isomorphic while all CPUs are endomorphic because any program
|
# additional CPUs.
|
||||||
# built for a CPU can run on that CPU.
|
# - (reflexivity)
|
||||||
|
# Every CPU is compatible with itself.
|
||||||
|
# - (transitivity)
|
||||||
|
# If A is compatible with B and B is compatible with C then A is compatible with C.
|
||||||
|
# - (compatible under multiple endianness)
|
||||||
|
# CPUs with multiple modes of endianness are pairwise compatible.
|
||||||
isCompatible = a: b: with cpuTypes; lib.any lib.id [
|
isCompatible = a: b: with cpuTypes; lib.any lib.id [
|
||||||
# x86
|
# x86
|
||||||
(b == i386 && isCompatible a i486)
|
(b == i386 && isCompatible a i486)
|
||||||
|
|
|
@ -78,7 +78,7 @@
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
<link xlink:href="https://kodi.tv/">Kodi</link> has been updated to version 19.0 "Matrix". See
|
<link xlink:href="https://kodi.tv/">Kodi</link> has been updated to version 19.1 "Matrix". See
|
||||||
the <link xlink:href="https://kodi.tv/article/kodi-190-matrix-release">announcement</link> for
|
the <link xlink:href="https://kodi.tv/article/kodi-190-matrix-release">announcement</link> for
|
||||||
further details.
|
further details.
|
||||||
</para>
|
</para>
|
||||||
|
@ -738,6 +738,20 @@ environment.systemPackages = [
|
||||||
The <package>yadm</package> dotfile manager has been updated from 2.x to 3.x, which has new (XDG) default locations for some data/state files. Most yadm commands will fail and print a legacy path warning (which describes how to upgrade/migrate your repository). If you have scripts, daemons, scheduled jobs, shell profiles, etc. that invoke yadm, expect them to fail or misbehave until you perform this migration and prepare accordingly.
|
The <package>yadm</package> dotfile manager has been updated from 2.x to 3.x, which has new (XDG) default locations for some data/state files. Most yadm commands will fail and print a legacy path warning (which describes how to upgrade/migrate your repository). If you have scripts, daemons, scheduled jobs, shell profiles, etc. that invoke yadm, expect them to fail or misbehave until you perform this migration and prepare accordingly.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Instead of determining <option>services.radicale.package</option>
|
||||||
|
automatically based on <option>system.stateVersion</option>, the latest
|
||||||
|
version is always used because old versions are not officially supported.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Furthermore, Radicale's systemd unit was hardened which might break some
|
||||||
|
deployments. In particular, a non-default
|
||||||
|
<literal>filesystem_folder</literal> has to be added to
|
||||||
|
<option>systemd.services.radicale.serviceConfig.ReadWritePaths</option> if
|
||||||
|
the deprecated <option>services.radicale.config</option> is used.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
x86_64-linux = "/nix/store/iwfs2bfcy7lqwhri94p2i6jc87ih55zk-nix-2.3.10";
|
x86_64-linux = "/nix/store/d1ppfhjhdwcsb4npfzyifv5z8i00fzsk-nix-2.3.11";
|
||||||
i686-linux = "/nix/store/a3ccfvy9i5n418d5v0bir330kbcz3vj8-nix-2.3.10";
|
i686-linux = "/nix/store/c6ikndcrzwpfn2sb5b9xb1f17p9b8iga-nix-2.3.11";
|
||||||
aarch64-linux = "/nix/store/bh5g6cv7bv35iz853d3xv2sphn51ybmb-nix-2.3.10";
|
aarch64-linux = "/nix/store/fb0lfrn0m8s197d264jzd64vhz9c8zbx-nix-2.3.11";
|
||||||
x86_64-darwin = "/nix/store/8c98r6zlwn2d40qm7jnnrr2rdlqviszr-nix-2.3.10";
|
x86_64-darwin = "/nix/store/qvb86ffv08q3r66qbd6nqifz425lyyhf-nix-2.3.11";
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,6 +34,7 @@ let
|
||||||
"fritzbox"
|
"fritzbox"
|
||||||
"json"
|
"json"
|
||||||
"jitsi"
|
"jitsi"
|
||||||
|
"kea"
|
||||||
"keylight"
|
"keylight"
|
||||||
"knot"
|
"knot"
|
||||||
"lnd"
|
"lnd"
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
{ config
|
||||||
|
, lib
|
||||||
|
, pkgs
|
||||||
|
, options
|
||||||
|
}:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.services.prometheus.exporters.kea;
|
||||||
|
in {
|
||||||
|
port = 9547;
|
||||||
|
extraOpts = {
|
||||||
|
controlSocketPaths = mkOption {
|
||||||
|
type = types.listOf types.str;
|
||||||
|
example = literalExample ''
|
||||||
|
[
|
||||||
|
"/run/kea/kea-dhcp4.socket"
|
||||||
|
"/run/kea/kea-dhcp6.socket"
|
||||||
|
]
|
||||||
|
'';
|
||||||
|
description = ''
|
||||||
|
Paths to kea control sockets
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
serviceOpts = {
|
||||||
|
serviceConfig = {
|
||||||
|
ExecStart = ''
|
||||||
|
${pkgs.prometheus-kea-exporter}/bin/kea-exporter \
|
||||||
|
--address ${cfg.listenAddress} \
|
||||||
|
--port ${toString cfg.port} \
|
||||||
|
${concatStringsSep " \\n" cfg.controlSocketPaths}
|
||||||
|
'';
|
||||||
|
SupplementaryGroups = [ "kea" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -3,56 +3,103 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
cfg = config.services.radicale;
|
cfg = config.services.radicale;
|
||||||
|
|
||||||
confFile = pkgs.writeText "radicale.conf" cfg.config;
|
format = pkgs.formats.ini {
|
||||||
|
listToValue = concatMapStringsSep ", " (generators.mkValueStringDefault { });
|
||||||
defaultPackage = if versionAtLeast config.system.stateVersion "20.09" then {
|
|
||||||
pkg = pkgs.radicale3;
|
|
||||||
text = "pkgs.radicale3";
|
|
||||||
} else if versionAtLeast config.system.stateVersion "17.09" then {
|
|
||||||
pkg = pkgs.radicale2;
|
|
||||||
text = "pkgs.radicale2";
|
|
||||||
} else {
|
|
||||||
pkg = pkgs.radicale1;
|
|
||||||
text = "pkgs.radicale1";
|
|
||||||
};
|
|
||||||
in
|
|
||||||
|
|
||||||
{
|
|
||||||
|
|
||||||
options = {
|
|
||||||
services.radicale.enable = mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
description = ''
|
|
||||||
Enable Radicale CalDAV and CardDAV server.
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
|
|
||||||
services.radicale.package = mkOption {
|
pkg = if isNull cfg.package then
|
||||||
type = types.package;
|
pkgs.radicale
|
||||||
default = defaultPackage.pkg;
|
else
|
||||||
defaultText = defaultPackage.text;
|
cfg.package;
|
||||||
description = ''
|
|
||||||
Radicale package to use. This defaults to version 1.x if
|
confFile = if cfg.settings == { } then
|
||||||
<literal>system.stateVersion < 17.09</literal>, version 2.x if
|
pkgs.writeText "radicale.conf" cfg.config
|
||||||
<literal>17.09 ≤ system.stateVersion < 20.09</literal>, and
|
else
|
||||||
version 3.x otherwise.
|
format.generate "radicale.conf" cfg.settings;
|
||||||
'';
|
|
||||||
|
rightsFile = format.generate "radicale.rights" cfg.rights;
|
||||||
|
|
||||||
|
bindLocalhost = cfg.settings != { } && !hasAttrByPath [ "server" "hosts" ] cfg.settings;
|
||||||
|
|
||||||
|
in {
|
||||||
|
options.services.radicale = {
|
||||||
|
enable = mkEnableOption "Radicale CalDAV and CardDAV server";
|
||||||
|
|
||||||
|
package = mkOption {
|
||||||
|
description = "Radicale package to use.";
|
||||||
|
# Default cannot be pkgs.radicale because non-null values suppress
|
||||||
|
# warnings about incompatible configuration and storage formats.
|
||||||
|
type = with types; nullOr package // { inherit (package) description; };
|
||||||
|
default = null;
|
||||||
|
defaultText = "pkgs.radicale";
|
||||||
};
|
};
|
||||||
|
|
||||||
services.radicale.config = mkOption {
|
config = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
default = "";
|
default = "";
|
||||||
description = ''
|
description = ''
|
||||||
Radicale configuration, this will set the service
|
Radicale configuration, this will set the service
|
||||||
configuration file.
|
configuration file.
|
||||||
|
This option is mutually exclusive with <option>settings</option>.
|
||||||
|
This option is deprecated. Use <option>settings</option> instead.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
services.radicale.extraArgs = mkOption {
|
settings = mkOption {
|
||||||
|
type = format.type;
|
||||||
|
default = { };
|
||||||
|
description = ''
|
||||||
|
Configuration for Radicale. See
|
||||||
|
<link xlink:href="https://radicale.org/3.0.html#documentation/configuration" />.
|
||||||
|
This option is mutually exclusive with <option>config</option>.
|
||||||
|
'';
|
||||||
|
example = literalExample ''
|
||||||
|
server = {
|
||||||
|
hosts = [ "0.0.0.0:5232" "[::]:5232" ];
|
||||||
|
};
|
||||||
|
auth = {
|
||||||
|
type = "htpasswd";
|
||||||
|
htpasswd_filename = "/etc/radicale/users";
|
||||||
|
htpasswd_encryption = "bcrypt";
|
||||||
|
};
|
||||||
|
storage = {
|
||||||
|
filesystem_folder = "/var/lib/radicale/collections";
|
||||||
|
};
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
rights = mkOption {
|
||||||
|
type = format.type;
|
||||||
|
description = ''
|
||||||
|
Configuration for Radicale's rights file. See
|
||||||
|
<link xlink:href="https://radicale.org/3.0.html#documentation/authentication-and-rights" />.
|
||||||
|
This option only works in conjunction with <option>settings</option>.
|
||||||
|
Setting this will also set <option>settings.rights.type</option> and
|
||||||
|
<option>settings.rights.file</option> to approriate values.
|
||||||
|
'';
|
||||||
|
default = { };
|
||||||
|
example = literalExample ''
|
||||||
|
root = {
|
||||||
|
user = ".+";
|
||||||
|
collection = "";
|
||||||
|
permissions = "R";
|
||||||
|
};
|
||||||
|
principal = {
|
||||||
|
user = ".+";
|
||||||
|
collection = "{user}";
|
||||||
|
permissions = "RW";
|
||||||
|
};
|
||||||
|
calendars = {
|
||||||
|
user = ".+";
|
||||||
|
collection = "{user}/[^/]+";
|
||||||
|
permissions = "rw";
|
||||||
|
};
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
extraArgs = mkOption {
|
||||||
type = types.listOf types.str;
|
type = types.listOf types.str;
|
||||||
default = [];
|
default = [];
|
||||||
description = "Extra arguments passed to the Radicale daemon.";
|
description = "Extra arguments passed to the Radicale daemon.";
|
||||||
|
@ -60,33 +107,94 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
environment.systemPackages = [ cfg.package ];
|
assertions = [
|
||||||
|
{
|
||||||
|
assertion = cfg.settings == { } || cfg.config == "";
|
||||||
|
message = ''
|
||||||
|
The options services.radicale.config and services.radicale.settings
|
||||||
|
are mutually exclusive.
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
users.users.radicale =
|
warnings = optional (isNull cfg.package && versionOlder config.system.stateVersion "17.09") ''
|
||||||
{ uid = config.ids.uids.radicale;
|
The configuration and storage formats of your existing Radicale
|
||||||
description = "radicale user";
|
installation might be incompatible with the newest version.
|
||||||
home = "/var/lib/radicale";
|
For upgrade instructions see
|
||||||
createHome = true;
|
https://radicale.org/2.1.html#documentation/migration-from-1xx-to-2xx.
|
||||||
|
Set services.radicale.package to suppress this warning.
|
||||||
|
'' ++ optional (isNull cfg.package && versionOlder config.system.stateVersion "20.09") ''
|
||||||
|
The configuration format of your existing Radicale installation might be
|
||||||
|
incompatible with the newest version. For upgrade instructions see
|
||||||
|
https://github.com/Kozea/Radicale/blob/3.0.6/NEWS.md#upgrade-checklist.
|
||||||
|
Set services.radicale.package to suppress this warning.
|
||||||
|
'' ++ optional (cfg.config != "") ''
|
||||||
|
The option services.radicale.config is deprecated.
|
||||||
|
Use services.radicale.settings instead.
|
||||||
|
'';
|
||||||
|
|
||||||
|
services.radicale.settings.rights = mkIf (cfg.rights != { }) {
|
||||||
|
type = "from_file";
|
||||||
|
file = toString rightsFile;
|
||||||
};
|
};
|
||||||
|
|
||||||
users.groups.radicale =
|
environment.systemPackages = [ pkg ];
|
||||||
{ gid = config.ids.gids.radicale; };
|
|
||||||
|
users.users.radicale.uid = config.ids.uids.radicale;
|
||||||
|
|
||||||
|
users.groups.radicale.gid = config.ids.gids.radicale;
|
||||||
|
|
||||||
systemd.services.radicale = {
|
systemd.services.radicale = {
|
||||||
description = "A Simple Calendar and Contact Server";
|
description = "A Simple Calendar and Contact Server";
|
||||||
after = [ "network.target" ];
|
after = [ "network.target" ];
|
||||||
|
requires = [ "network.target" ];
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ExecStart = concatStringsSep " " ([
|
ExecStart = concatStringsSep " " ([
|
||||||
"${cfg.package}/bin/radicale" "-C" confFile
|
"${pkg}/bin/radicale" "-C" confFile
|
||||||
] ++ (
|
] ++ (
|
||||||
map escapeShellArg cfg.extraArgs
|
map escapeShellArg cfg.extraArgs
|
||||||
));
|
));
|
||||||
User = "radicale";
|
User = "radicale";
|
||||||
Group = "radicale";
|
Group = "radicale";
|
||||||
|
StateDirectory = "radicale/collections";
|
||||||
|
StateDirectoryMode = "0750";
|
||||||
|
# Hardening
|
||||||
|
CapabilityBoundingSet = [ "" ];
|
||||||
|
DeviceAllow = [ "/dev/stdin" ];
|
||||||
|
DevicePolicy = "strict";
|
||||||
|
IPAddressAllow = mkIf bindLocalhost "localhost";
|
||||||
|
IPAddressDeny = mkIf bindLocalhost "any";
|
||||||
|
LockPersonality = true;
|
||||||
|
MemoryDenyWriteExecute = true;
|
||||||
|
NoNewPrivileges = true;
|
||||||
|
PrivateDevices = true;
|
||||||
|
PrivateTmp = true;
|
||||||
|
PrivateUsers = true;
|
||||||
|
ProcSubset = "pid";
|
||||||
|
ProtectClock = true;
|
||||||
|
ProtectControlGroups = true;
|
||||||
|
ProtectHome = true;
|
||||||
|
ProtectHostname = true;
|
||||||
|
ProtectKernelLogs = true;
|
||||||
|
ProtectKernelModules = true;
|
||||||
|
ProtectKernelTunables = true;
|
||||||
|
ProtectProc = "invisible";
|
||||||
|
ProtectSystem = "strict";
|
||||||
|
ReadWritePaths = lib.optional
|
||||||
|
(hasAttrByPath [ "storage" "filesystem_folder" ] cfg.settings)
|
||||||
|
cfg.settings.storage.filesystem_folder;
|
||||||
|
RemoveIPC = true;
|
||||||
|
RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
|
||||||
|
RestrictNamespaces = true;
|
||||||
|
RestrictRealtime = true;
|
||||||
|
RestrictSUIDSGID = true;
|
||||||
|
SystemCallArchitectures = "native";
|
||||||
|
SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" ];
|
||||||
|
UMask = "0027";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
meta.maintainers = with lib.maintainers; [ aneeshusa infinisil ];
|
meta.maintainers = with lib.maintainers; [ aneeshusa infinisil dotlambda ];
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,11 +15,9 @@ let
|
||||||
apachectl = pkgs.runCommand "apachectl" { meta.priority = -1; } ''
|
apachectl = pkgs.runCommand "apachectl" { meta.priority = -1; } ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
cp ${pkg}/bin/apachectl $out/bin/apachectl
|
cp ${pkg}/bin/apachectl $out/bin/apachectl
|
||||||
sed -i $out/bin/apachectl -e 's|$HTTPD -t|$HTTPD -t -f ${httpdConf}|'
|
sed -i $out/bin/apachectl -e 's|$HTTPD -t|$HTTPD -t -f /etc/httpd/httpd.conf|'
|
||||||
'';
|
'';
|
||||||
|
|
||||||
httpdConf = cfg.configFile;
|
|
||||||
|
|
||||||
php = cfg.phpPackage.override { apacheHttpd = pkg; };
|
php = cfg.phpPackage.override { apacheHttpd = pkg; };
|
||||||
|
|
||||||
phpModuleName = let
|
phpModuleName = let
|
||||||
|
@ -682,6 +680,8 @@ in
|
||||||
}) (filter (hostOpts: hostOpts.useACMEHost == null) acmeEnabledVhosts);
|
}) (filter (hostOpts: hostOpts.useACMEHost == null) acmeEnabledVhosts);
|
||||||
in listToAttrs acmePairs;
|
in listToAttrs acmePairs;
|
||||||
|
|
||||||
|
# httpd requires a stable path to the configuration file for reloads
|
||||||
|
environment.etc."httpd/httpd.conf".source = cfg.configFile;
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
apachectl
|
apachectl
|
||||||
pkg
|
pkg
|
||||||
|
@ -753,6 +753,7 @@ in
|
||||||
wants = concatLists (map (certName: [ "acme-finished-${certName}.target" ]) dependentCertNames);
|
wants = concatLists (map (certName: [ "acme-finished-${certName}.target" ]) dependentCertNames);
|
||||||
after = [ "network.target" ] ++ map (certName: "acme-selfsigned-${certName}.service") dependentCertNames;
|
after = [ "network.target" ] ++ map (certName: "acme-selfsigned-${certName}.service") dependentCertNames;
|
||||||
before = map (certName: "acme-${certName}.service") dependentCertNames;
|
before = map (certName: "acme-${certName}.service") dependentCertNames;
|
||||||
|
restartTriggers = [ cfg.configFile ];
|
||||||
|
|
||||||
path = [ pkg pkgs.coreutils pkgs.gnugrep ];
|
path = [ pkg pkgs.coreutils pkgs.gnugrep ];
|
||||||
|
|
||||||
|
@ -771,9 +772,9 @@ in
|
||||||
'';
|
'';
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ExecStart = "@${pkg}/bin/httpd httpd -f ${httpdConf}";
|
ExecStart = "@${pkg}/bin/httpd httpd -f /etc/httpd/httpd.conf";
|
||||||
ExecStop = "${pkg}/bin/httpd -f ${httpdConf} -k graceful-stop";
|
ExecStop = "${pkg}/bin/httpd -f /etc/httpd/httpd.conf -k graceful-stop";
|
||||||
ExecReload = "${pkg}/bin/httpd -f ${httpdConf} -k graceful";
|
ExecReload = "${pkg}/bin/httpd -f /etc/httpd/httpd.conf -k graceful";
|
||||||
User = cfg.user;
|
User = cfg.user;
|
||||||
Group = cfg.group;
|
Group = cfg.group;
|
||||||
Type = "forking";
|
Type = "forking";
|
||||||
|
@ -800,6 +801,7 @@ in
|
||||||
# certs are updated _after_ config has been reloaded.
|
# certs are updated _after_ config has been reloaded.
|
||||||
before = sslTargets;
|
before = sslTargets;
|
||||||
after = sslServices;
|
after = sslServices;
|
||||||
|
restartTriggers = [ cfg.configFile ];
|
||||||
# Block reloading if not all certs exist yet.
|
# Block reloading if not all certs exist yet.
|
||||||
# Happens when config changes add new vhosts/certs.
|
# Happens when config changes add new vhosts/certs.
|
||||||
unitConfig.ConditionPathExists = map (certName: certs.${certName}.directory + "/fullchain.pem") dependentCertNames;
|
unitConfig.ConditionPathExists = map (certName: certs.${certName}.directory + "/fullchain.pem") dependentCertNames;
|
||||||
|
@ -807,7 +809,7 @@ in
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
TimeoutSec = 60;
|
TimeoutSec = 60;
|
||||||
ExecCondition = "/run/current-system/systemd/bin/systemctl -q is-active httpd.service";
|
ExecCondition = "/run/current-system/systemd/bin/systemctl -q is-active httpd.service";
|
||||||
ExecStartPre = "${pkg}/bin/httpd -f ${httpdConf} -t";
|
ExecStartPre = "${pkg}/bin/httpd -f /etc/httpd/httpd.conf -t";
|
||||||
ExecStart = "/run/current-system/systemd/bin/systemctl reload httpd.service";
|
ExecStart = "/run/current-system/systemd/bin/systemctl reload httpd.service";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -91,6 +91,7 @@ in
|
||||||
custom-ca = handleTest ./custom-ca.nix {};
|
custom-ca = handleTest ./custom-ca.nix {};
|
||||||
croc = handleTest ./croc.nix {};
|
croc = handleTest ./croc.nix {};
|
||||||
deluge = handleTest ./deluge.nix {};
|
deluge = handleTest ./deluge.nix {};
|
||||||
|
dendrite = handleTest ./dendrite.nix {};
|
||||||
dhparams = handleTest ./dhparams.nix {};
|
dhparams = handleTest ./dhparams.nix {};
|
||||||
discourse = handleTest ./discourse.nix {};
|
discourse = handleTest ./discourse.nix {};
|
||||||
dnscrypt-proxy2 = handleTestOn ["x86_64-linux"] ./dnscrypt-proxy2.nix {};
|
dnscrypt-proxy2 = handleTestOn ["x86_64-linux"] ./dnscrypt-proxy2.nix {};
|
||||||
|
|
|
@ -0,0 +1,99 @@
|
||||||
|
import ./make-test-python.nix (
|
||||||
|
{ pkgs, ... }:
|
||||||
|
let
|
||||||
|
homeserverUrl = "http://homeserver:8008";
|
||||||
|
|
||||||
|
private_key = pkgs.runCommand "matrix_key.pem" {
|
||||||
|
buildInputs = [ pkgs.dendrite ];
|
||||||
|
} "generate-keys --private-key $out";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
name = "dendrite";
|
||||||
|
meta = with pkgs.lib; {
|
||||||
|
maintainers = teams.matrix.members;
|
||||||
|
};
|
||||||
|
|
||||||
|
nodes = {
|
||||||
|
homeserver = { pkgs, ... }: {
|
||||||
|
services.dendrite = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
global.server_name = "test-dendrite-server.com";
|
||||||
|
global.private_key = private_key;
|
||||||
|
client_api.registration_disabled = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.firewall.allowedTCPPorts = [ 8008 ];
|
||||||
|
};
|
||||||
|
|
||||||
|
client = { pkgs, ... }: {
|
||||||
|
environment.systemPackages = [
|
||||||
|
(
|
||||||
|
pkgs.writers.writePython3Bin "do_test"
|
||||||
|
{ libraries = [ pkgs.python3Packages.matrix-nio ]; } ''
|
||||||
|
import asyncio
|
||||||
|
|
||||||
|
from nio import AsyncClient
|
||||||
|
|
||||||
|
|
||||||
|
async def main() -> None:
|
||||||
|
# Connect to dendrite
|
||||||
|
client = AsyncClient("http://homeserver:8008", "alice")
|
||||||
|
|
||||||
|
# Register as user alice
|
||||||
|
response = await client.register("alice", "my-secret-password")
|
||||||
|
|
||||||
|
# Log in as user alice
|
||||||
|
response = await client.login("my-secret-password")
|
||||||
|
|
||||||
|
# Create a new room
|
||||||
|
response = await client.room_create(federate=False)
|
||||||
|
room_id = response.room_id
|
||||||
|
|
||||||
|
# Join the room
|
||||||
|
response = await client.join(room_id)
|
||||||
|
|
||||||
|
# Send a message to the room
|
||||||
|
response = await client.room_send(
|
||||||
|
room_id=room_id,
|
||||||
|
message_type="m.room.message",
|
||||||
|
content={
|
||||||
|
"msgtype": "m.text",
|
||||||
|
"body": "Hello world!"
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
# Sync responses
|
||||||
|
response = await client.sync(timeout=30000)
|
||||||
|
|
||||||
|
# Check the message was received by dendrite
|
||||||
|
last_message = response.rooms.join[room_id].timeline.events[-1].body
|
||||||
|
assert last_message == "Hello world!"
|
||||||
|
|
||||||
|
# Leave the room
|
||||||
|
response = await client.room_leave(room_id)
|
||||||
|
|
||||||
|
# Close the client
|
||||||
|
await client.close()
|
||||||
|
|
||||||
|
asyncio.get_event_loop().run_until_complete(main())
|
||||||
|
''
|
||||||
|
)
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript = ''
|
||||||
|
start_all()
|
||||||
|
|
||||||
|
with subtest("start the homeserver"):
|
||||||
|
homeserver.wait_for_unit("dendrite.service")
|
||||||
|
homeserver.wait_for_open_port(8008)
|
||||||
|
|
||||||
|
with subtest("ensure messages can be exchanged"):
|
||||||
|
client.succeed("do_test")
|
||||||
|
'';
|
||||||
|
|
||||||
|
}
|
||||||
|
)
|
|
@ -326,6 +326,57 @@ let
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
kea = {
|
||||||
|
exporterConfig = {
|
||||||
|
enable = true;
|
||||||
|
controlSocketPaths = [
|
||||||
|
"/run/kea/kea-dhcp6.sock"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
metricProvider = {
|
||||||
|
users.users.kea = {
|
||||||
|
isSystemUser = true;
|
||||||
|
};
|
||||||
|
users.groups.kea = {};
|
||||||
|
|
||||||
|
systemd.services.prometheus-kea-exporter.after = [ "kea-dhcp6.service" ];
|
||||||
|
|
||||||
|
systemd.services.kea-dhcp6 = let
|
||||||
|
configFile = pkgs.writeText "kea-dhcp6.conf" (builtins.toJSON {
|
||||||
|
Dhcp6 = {
|
||||||
|
"control-socket" = {
|
||||||
|
"socket-type" = "unix";
|
||||||
|
"socket-name" = "/run/kea/kea-dhcp6.sock";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
});
|
||||||
|
in
|
||||||
|
{
|
||||||
|
after = [ "network.target" ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
|
||||||
|
serviceConfig = {
|
||||||
|
DynamicUser = false;
|
||||||
|
User = "kea";
|
||||||
|
Group = "kea";
|
||||||
|
ExecStart = "${pkgs.kea}/bin/kea-dhcp6 -c ${configFile}";
|
||||||
|
StateDirectory = "kea";
|
||||||
|
RuntimeDirectory = "kea";
|
||||||
|
UMask = "0007";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
exporterTest = ''
|
||||||
|
wait_for_unit("kea-dhcp6.service")
|
||||||
|
wait_for_file("/run/kea/kea-dhcp6.sock")
|
||||||
|
wait_for_unit("prometheus-kea-exporter.service")
|
||||||
|
wait_for_open_port(9547)
|
||||||
|
succeed(
|
||||||
|
"curl --fail localhost:9547/metrics | grep 'packets_received_total'"
|
||||||
|
)
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
knot = {
|
knot = {
|
||||||
exporterConfig = {
|
exporterConfig = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -1,140 +1,95 @@
|
||||||
|
import ./make-test-python.nix ({ lib, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
user = "someuser";
|
user = "someuser";
|
||||||
password = "some_password";
|
password = "some_password";
|
||||||
port = builtins.toString 5232;
|
port = "5232";
|
||||||
|
filesystem_folder = "/data/radicale";
|
||||||
|
|
||||||
common = { pkgs, ... }: {
|
cli = "${pkgs.calendar-cli}/bin/calendar-cli --caldav-user ${user} --caldav-pass ${password}";
|
||||||
|
in {
|
||||||
|
name = "radicale3";
|
||||||
|
meta.maintainers = with lib.maintainers; [ dotlambda ];
|
||||||
|
|
||||||
|
machine = { pkgs, ... }: {
|
||||||
services.radicale = {
|
services.radicale = {
|
||||||
enable = true;
|
enable = true;
|
||||||
config = ''
|
settings = {
|
||||||
[auth]
|
auth = {
|
||||||
type = htpasswd
|
type = "htpasswd";
|
||||||
htpasswd_filename = /etc/radicale/htpasswd
|
htpasswd_filename = "/etc/radicale/users";
|
||||||
htpasswd_encryption = bcrypt
|
htpasswd_encryption = "bcrypt";
|
||||||
|
|
||||||
[storage]
|
|
||||||
filesystem_folder = /tmp/collections
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
|
storage = {
|
||||||
|
inherit filesystem_folder;
|
||||||
|
hook = "git add -A && (git diff --cached --quiet || git commit -m 'Changes by '%(user)s)";
|
||||||
|
};
|
||||||
|
logging.level = "info";
|
||||||
|
};
|
||||||
|
rights = {
|
||||||
|
principal = {
|
||||||
|
user = ".+";
|
||||||
|
collection = "{user}";
|
||||||
|
permissions = "RW";
|
||||||
|
};
|
||||||
|
calendars = {
|
||||||
|
user = ".+";
|
||||||
|
collection = "{user}/[^/]+";
|
||||||
|
permissions = "rw";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
systemd.services.radicale.path = [ pkgs.git ];
|
||||||
|
environment.systemPackages = [ pkgs.git ];
|
||||||
|
systemd.tmpfiles.rules = [ "d ${filesystem_folder} 0750 radicale radicale -" ];
|
||||||
# WARNING: DON'T DO THIS IN PRODUCTION!
|
# WARNING: DON'T DO THIS IN PRODUCTION!
|
||||||
# This puts unhashed secrets directly into the Nix store for ease of testing.
|
# This puts unhashed secrets directly into the Nix store for ease of testing.
|
||||||
environment.etc."radicale/htpasswd".source = pkgs.runCommand "htpasswd" {} ''
|
environment.etc."radicale/users".source = pkgs.runCommand "htpasswd" {} ''
|
||||||
${pkgs.apacheHttpd}/bin/htpasswd -bcB "$out" ${user} ${password}
|
${pkgs.apacheHttpd}/bin/htpasswd -bcB "$out" ${user} ${password}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
testScript = ''
|
||||||
|
machine.wait_for_unit("radicale.service")
|
||||||
|
machine.wait_for_open_port(${port})
|
||||||
|
|
||||||
in
|
machine.succeed("sudo -u radicale git -C ${filesystem_folder} init")
|
||||||
|
machine.succeed(
|
||||||
import ./make-test-python.nix ({ lib, ... }@args: {
|
"sudo -u radicale git -C ${filesystem_folder} config --local user.email radicale@example.com"
|
||||||
name = "radicale";
|
|
||||||
meta.maintainers = with lib.maintainers; [ aneeshusa infinisil ];
|
|
||||||
|
|
||||||
nodes = rec {
|
|
||||||
radicale = radicale1; # Make the test script read more nicely
|
|
||||||
radicale1 = lib.recursiveUpdate (common args) {
|
|
||||||
nixpkgs.overlays = [
|
|
||||||
(self: super: {
|
|
||||||
radicale1 = super.radicale1.overrideAttrs (oldAttrs: {
|
|
||||||
propagatedBuildInputs = with self.pythonPackages;
|
|
||||||
(oldAttrs.propagatedBuildInputs or []) ++ [ passlib ];
|
|
||||||
});
|
|
||||||
})
|
|
||||||
];
|
|
||||||
system.stateVersion = "17.03";
|
|
||||||
};
|
|
||||||
radicale1_export = lib.recursiveUpdate radicale1 {
|
|
||||||
services.radicale.extraArgs = [
|
|
||||||
"--export-storage" "/tmp/collections-new"
|
|
||||||
];
|
|
||||||
system.stateVersion = "17.03";
|
|
||||||
};
|
|
||||||
radicale2_verify = lib.recursiveUpdate radicale2 {
|
|
||||||
services.radicale.extraArgs = [ "--debug" "--verify-storage" ];
|
|
||||||
system.stateVersion = "17.09";
|
|
||||||
};
|
|
||||||
radicale2 = lib.recursiveUpdate (common args) {
|
|
||||||
system.stateVersion = "17.09";
|
|
||||||
};
|
|
||||||
radicale3 = lib.recursiveUpdate (common args) {
|
|
||||||
system.stateVersion = "20.09";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# This tests whether the web interface is accessible to an authenticated user
|
|
||||||
testScript = { nodes }: let
|
|
||||||
switchToConfig = nodeName: let
|
|
||||||
newSystem = nodes.${nodeName}.config.system.build.toplevel;
|
|
||||||
in "${newSystem}/bin/switch-to-configuration test";
|
|
||||||
in ''
|
|
||||||
with subtest("Check Radicale 1 functionality"):
|
|
||||||
radicale.succeed(
|
|
||||||
"${switchToConfig "radicale1"} >&2"
|
|
||||||
)
|
)
|
||||||
radicale.wait_for_unit("radicale.service")
|
machine.succeed(
|
||||||
radicale.wait_for_open_port(${port})
|
"sudo -u radicale git -C ${filesystem_folder} config --local user.name radicale"
|
||||||
radicale.succeed(
|
|
||||||
"curl --fail http://${user}:${password}@localhost:${port}/someuser/calendar.ics/"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
with subtest("Export data in Radicale 2 format"):
|
with subtest("Test calendar and event creation"):
|
||||||
radicale.succeed("systemctl stop radicale")
|
machine.succeed(
|
||||||
radicale.succeed("ls -al /tmp/collections")
|
"${cli} --caldav-url http://localhost:${port}/${user} calendar create cal"
|
||||||
radicale.fail("ls -al /tmp/collections-new")
|
|
||||||
|
|
||||||
with subtest("Radicale exits immediately after exporting storage"):
|
|
||||||
radicale.succeed(
|
|
||||||
"${switchToConfig "radicale1_export"} >&2"
|
|
||||||
)
|
)
|
||||||
radicale.wait_until_fails("systemctl status radicale")
|
machine.succeed("test -d ${filesystem_folder}/collection-root/${user}/cal")
|
||||||
radicale.succeed("ls -al /tmp/collections")
|
machine.succeed('test -z "$(ls ${filesystem_folder}/collection-root/${user}/cal)"')
|
||||||
radicale.succeed("ls -al /tmp/collections-new")
|
machine.succeed(
|
||||||
|
"${cli} --caldav-url http://localhost:${port}/${user}/cal calendar add 2021-04-23 testevent"
|
||||||
with subtest("Verify data in Radicale 2 format"):
|
|
||||||
radicale.succeed("rm -r /tmp/collections/${user}")
|
|
||||||
radicale.succeed("mv /tmp/collections-new/collection-root /tmp/collections")
|
|
||||||
radicale.succeed(
|
|
||||||
"${switchToConfig "radicale2_verify"} >&2"
|
|
||||||
)
|
)
|
||||||
radicale.wait_until_fails("systemctl status radicale")
|
machine.succeed('test -n "$(ls ${filesystem_folder}/collection-root/${user}/cal)"')
|
||||||
|
(status, stdout) = machine.execute(
|
||||||
(retcode, logs) = radicale.execute("journalctl -u radicale -n 10")
|
"sudo -u radicale git -C ${filesystem_folder} log --format=oneline | wc -l"
|
||||||
assert (
|
|
||||||
retcode == 0 and "Verifying storage" in logs
|
|
||||||
), "Radicale 2 didn't verify storage"
|
|
||||||
assert (
|
|
||||||
"failed" not in logs and "exception" not in logs
|
|
||||||
), "storage verification failed"
|
|
||||||
|
|
||||||
with subtest("Check Radicale 2 functionality"):
|
|
||||||
radicale.succeed(
|
|
||||||
"${switchToConfig "radicale2"} >&2"
|
|
||||||
)
|
)
|
||||||
radicale.wait_for_unit("radicale.service")
|
assert status == 0, "git log failed"
|
||||||
radicale.wait_for_open_port(${port})
|
assert stdout == "3\n", "there should be exactly 3 commits"
|
||||||
|
|
||||||
(retcode, output) = radicale.execute(
|
with subtest("Test rights file"):
|
||||||
"curl --fail http://${user}:${password}@localhost:${port}/someuser/calendar.ics/"
|
machine.fail(
|
||||||
|
"${cli} --caldav-url http://localhost:${port}/${user} calendar create sub/cal"
|
||||||
)
|
)
|
||||||
assert (
|
machine.fail(
|
||||||
retcode == 0 and "VCALENDAR" in output
|
"${cli} --caldav-url http://localhost:${port}/otheruser calendar create cal"
|
||||||
), "Could not read calendar from Radicale 2"
|
|
||||||
|
|
||||||
radicale.succeed("curl --fail http://${user}:${password}@localhost:${port}/.web/")
|
|
||||||
|
|
||||||
with subtest("Check Radicale 3 functionality"):
|
|
||||||
radicale.succeed(
|
|
||||||
"${switchToConfig "radicale3"} >&2"
|
|
||||||
)
|
)
|
||||||
radicale.wait_for_unit("radicale.service")
|
|
||||||
radicale.wait_for_open_port(${port})
|
|
||||||
|
|
||||||
(retcode, output) = radicale.execute(
|
with subtest("Test web interface"):
|
||||||
"curl --fail http://${user}:${password}@localhost:${port}/someuser/calendar.ics/"
|
machine.succeed("curl --fail http://${user}:${password}@localhost:${port}/.web/")
|
||||||
)
|
|
||||||
assert (
|
|
||||||
retcode == 0 and "VCALENDAR" in output
|
|
||||||
), "Could not read calendar from Radicale 3"
|
|
||||||
|
|
||||||
radicale.succeed("curl --fail http://${user}:${password}@localhost:${port}/.web/")
|
with subtest("Test security"):
|
||||||
|
output = machine.succeed("systemd-analyze security radicale.service")
|
||||||
|
machine.log(output)
|
||||||
|
assert output[-9:-1] == "SAFE :-}"
|
||||||
'';
|
'';
|
||||||
})
|
})
|
||||||
|
|
|
@ -38,6 +38,9 @@ import ./make-test-python.nix ({ pkgs, lib, ...} :
|
||||||
|
|
||||||
programs.sway.enable = true;
|
programs.sway.enable = true;
|
||||||
|
|
||||||
|
# To test pinentry via gpg-agent:
|
||||||
|
programs.gnupg.agent.enable = true;
|
||||||
|
|
||||||
virtualisation.memorySize = 1024;
|
virtualisation.memorySize = 1024;
|
||||||
# Need to switch to a different VGA card / GPU driver than the default one (std) so that Sway can launch:
|
# Need to switch to a different VGA card / GPU driver than the default one (std) so that Sway can launch:
|
||||||
virtualisation.qemu.options = [ "-vga virtio" ];
|
virtualisation.qemu.options = [ "-vga virtio" ];
|
||||||
|
@ -80,6 +83,17 @@ import ./make-test-python.nix ({ pkgs, lib, ...} :
|
||||||
machine.send_key("alt-shift-q")
|
machine.send_key("alt-shift-q")
|
||||||
machine.wait_until_fails("pgrep alacritty")
|
machine.wait_until_fails("pgrep alacritty")
|
||||||
|
|
||||||
|
# Test gpg-agent starting pinentry-gnome3 via D-Bus (tests if
|
||||||
|
# $WAYLAND_DISPLAY is correctly imported into the D-Bus user env):
|
||||||
|
machine.succeed(
|
||||||
|
"su - alice -c 'swaymsg -- exec gpg --no-tty --yes --quick-generate-key test'"
|
||||||
|
)
|
||||||
|
machine.wait_until_succeeds("pgrep --exact gpg")
|
||||||
|
machine.wait_for_text("Passphrase")
|
||||||
|
machine.screenshot("gpg_pinentry")
|
||||||
|
machine.send_key("alt-shift-q")
|
||||||
|
machine.wait_until_fails("pgrep --exact gpg")
|
||||||
|
|
||||||
# Test swaynag:
|
# Test swaynag:
|
||||||
machine.send_key("alt-shift-e")
|
machine.send_key("alt-shift-e")
|
||||||
machine.wait_for_text("You pressed the exit shortcut.")
|
machine.wait_for_text("You pressed the exit shortcut.")
|
||||||
|
|
|
@ -82,10 +82,6 @@ mkDerivation rec {
|
||||||
util-linux
|
util-linux
|
||||||
];
|
];
|
||||||
|
|
||||||
cmakeFlags = [
|
|
||||||
"-DUSE_SYSTEM_TAGLIB=ON"
|
|
||||||
];
|
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
qtWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0")
|
qtWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0")
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -655,10 +655,10 @@
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "corfu";
|
pname = "corfu";
|
||||||
ename = "corfu";
|
ename = "corfu";
|
||||||
version = "0.4";
|
version = "0.6";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/corfu-0.4.tar";
|
url = "https://elpa.gnu.org/packages/corfu-0.6.tar";
|
||||||
sha256 = "0yaspx58w02n3liqy5i4lm6lk5f1fm6v5lfrzp7xaqnngq1f4gbj";
|
sha256 = "0zl769l3mmy4b0pj70dwjllq0224r2w4l45xvaqbj75qfqclj6cj";
|
||||||
};
|
};
|
||||||
packageRequires = [ emacs ];
|
packageRequires = [ emacs ];
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -1045,10 +1045,10 @@
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "eev";
|
pname = "eev";
|
||||||
ename = "eev";
|
ename = "eev";
|
||||||
version = "20210102";
|
version = "20210512";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/eev-20210102.tar";
|
url = "https://elpa.gnu.org/packages/eev-20210512.tar";
|
||||||
sha256 = "14vpgcncmzzbv8v78v221hdhigvk00vqiizwd8dy0b7hqz6gl0rq";
|
sha256 = "0dj49lpqv5vsx02h8mla8cmv5cr5f2qbz74f9dn8q4adpzxsajin";
|
||||||
};
|
};
|
||||||
packageRequires = [ emacs ];
|
packageRequires = [ emacs ];
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -1148,10 +1148,10 @@
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "elisp-benchmarks";
|
pname = "elisp-benchmarks";
|
||||||
ename = "elisp-benchmarks";
|
ename = "elisp-benchmarks";
|
||||||
version = "1.11";
|
version = "1.12";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/elisp-benchmarks-1.11.tar";
|
url = "https://elpa.gnu.org/packages/elisp-benchmarks-1.12.tar";
|
||||||
sha256 = "0s1mpapvcivy25zbhw6ghpg0ym23vb4dsrz876rl4z2rfyckxral";
|
sha256 = "0jzpzif4vrjg5hl0hxg4aqvi6nv56cxa1w0amnkgcz4hsscxkvwm";
|
||||||
};
|
};
|
||||||
packageRequires = [];
|
packageRequires = [];
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -1159,16 +1159,21 @@
|
||||||
license = lib.licenses.free;
|
license = lib.licenses.free;
|
||||||
};
|
};
|
||||||
}) {};
|
}) {};
|
||||||
emms = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib, seq }:
|
emms = callPackage ({ cl-lib ? null
|
||||||
|
, elpaBuild
|
||||||
|
, fetchurl
|
||||||
|
, lib
|
||||||
|
, nadvice
|
||||||
|
, seq }:
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "emms";
|
pname = "emms";
|
||||||
ename = "emms";
|
ename = "emms";
|
||||||
version = "7.1";
|
version = "7.2";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/emms-7.1.tar";
|
url = "https://elpa.gnu.org/packages/emms-7.2.tar";
|
||||||
sha256 = "1dng8dy0w0wsdvvnjnrllwv5a8wq3kj20jik994b7prdx5dn6y52";
|
sha256 = "11vqqh9rnzibsfw7wx62rgzl8i8ldpf0hv1sj43nhl5c6dlc8d5z";
|
||||||
};
|
};
|
||||||
packageRequires = [ cl-lib seq ];
|
packageRequires = [ cl-lib nadvice seq ];
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://elpa.gnu.org/packages/emms.html";
|
homepage = "https://elpa.gnu.org/packages/emms.html";
|
||||||
license = lib.licenses.free;
|
license = lib.licenses.free;
|
||||||
|
@ -2824,10 +2829,10 @@
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "pyim";
|
pname = "pyim";
|
||||||
ename = "pyim";
|
ename = "pyim";
|
||||||
version = "3.7.1";
|
version = "3.7.5";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/pyim-3.7.1.tar";
|
url = "https://elpa.gnu.org/packages/pyim-3.7.5.tar";
|
||||||
sha256 = "0k73f1qdl51qshnvycjassdh70id5gp5qi5wz7k4zyl8pbampiyd";
|
sha256 = "09f34wgzckbxgr5xvaqrj0wdcmnfsb31a6m460f5g0acys20ams5";
|
||||||
};
|
};
|
||||||
packageRequires = [ async emacs xr ];
|
packageRequires = [ async emacs xr ];
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -3950,10 +3955,10 @@
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "vertico";
|
pname = "vertico";
|
||||||
ename = "vertico";
|
ename = "vertico";
|
||||||
version = "0.6";
|
version = "0.8";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/vertico-0.6.tar";
|
url = "https://elpa.gnu.org/packages/vertico-0.8.tar";
|
||||||
sha256 = "19f6ffljraikz83nc2y9q83zjc4cfyzn9rnwm18lwh6sjsydz6kk";
|
sha256 = "1cdq49csd57vqhrs1nbif79yw4s8c0p2i2ww5n5znzj7rnxwpva4";
|
||||||
};
|
};
|
||||||
packageRequires = [ emacs ];
|
packageRequires = [ emacs ];
|
||||||
meta = {
|
meta = {
|
||||||
|
|
|
@ -4,10 +4,10 @@
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "org";
|
pname = "org";
|
||||||
ename = "org";
|
ename = "org";
|
||||||
version = "20210503";
|
version = "20210510";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://orgmode.org/elpa/org-20210503.tar";
|
url = "https://orgmode.org/elpa/org-20210510.tar";
|
||||||
sha256 = "0j9p834c67qzxbxz8s1n8l5blylrpb3jh9wywphlb6jgbgl0mw09";
|
sha256 = "015c68pk52vksar7kpyb0nkcyjihlczmpq4h5vdv8xayas2qlzc7";
|
||||||
};
|
};
|
||||||
packageRequires = [];
|
packageRequires = [];
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -19,10 +19,10 @@
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "org-plus-contrib";
|
pname = "org-plus-contrib";
|
||||||
ename = "org-plus-contrib";
|
ename = "org-plus-contrib";
|
||||||
version = "20210503";
|
version = "20210510";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://orgmode.org/elpa/org-plus-contrib-20210503.tar";
|
url = "https://orgmode.org/elpa/org-plus-contrib-20210510.tar";
|
||||||
sha256 = "0k0wmnx2g919h3s9ynv1cvdlyxvydglslamlwph4xng4kzcr5lrk";
|
sha256 = "0pdwjnpcsk75jv4qs8n4xia6vspwn6dndbdx9z7kq5vqz7w4ykmw";
|
||||||
};
|
};
|
||||||
packageRequires = [];
|
packageRequires = [];
|
||||||
meta = {
|
meta = {
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://github.com/sunrise-commander/sunrise-commander/";
|
homepage = "https://github.com/sunrise-commander/sunrise-commander/";
|
||||||
description = "Two-pane file manager for Emacs based on Dired and inspired by MC";
|
description = "Orthodox (two-pane) file manager for Emacs";
|
||||||
license = licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
maintainers = [ maintainers.AndersonTorres ];
|
maintainers = [ maintainers.AndersonTorres ];
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
|
|
|
@ -13,10 +13,10 @@ let
|
||||||
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
|
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
|
||||||
|
|
||||||
sha256 = {
|
sha256 = {
|
||||||
x86_64-linux = "0l4lx5h2daw9c5vl4kz6sq2i58b45xy4948x4q0wnwbqdqlqc9s4";
|
x86_64-linux = "08qrag9nzmngzzvs2cgbmc4zzxlb9kwn183v8caj6dvcrjvfqgbv";
|
||||||
x86_64-darwin = "0qqgs7vns52bz9xkys822sjjkvyq4l20iipz6sx5kinxg6h04jyy";
|
x86_64-darwin = "0rlyr08lla3xadlh373xqcks8a9akk3x2cmakgn17q2b16988fmq";
|
||||||
aarch64-linux = "1gnh5kk4r0kfik9yfvvcbavhws4n8kn89kyl2qzpa2ryy52kk81j";
|
aarch64-linux = "1m277940xsasqac4i88s05xrqsab99jhl3ka0zzfbixrgr2dj8q1";
|
||||||
armv7l-linux = "0zz5fn9nxq58i3svhgc25s6fdz7i3rxc0naflyx1jzmpzipp4v6n";
|
armv7l-linux = "1qm4cggjj50vdnrx848x810gz3ahh0hndra22lsvcjdbsw8g35rk";
|
||||||
}.${system};
|
}.${system};
|
||||||
in
|
in
|
||||||
callPackage ./generic.nix rec {
|
callPackage ./generic.nix rec {
|
||||||
|
@ -25,7 +25,7 @@ in
|
||||||
|
|
||||||
# Please backport all compatible updates to the stable release.
|
# Please backport all compatible updates to the stable release.
|
||||||
# This is important for the extension ecosystem.
|
# This is important for the extension ecosystem.
|
||||||
version = "1.56.1";
|
version = "1.56.2";
|
||||||
pname = "vscode";
|
pname = "vscode";
|
||||||
|
|
||||||
executableName = "code" + lib.optionalString isInsiders "-insiders";
|
executableName = "code" + lib.optionalString isInsiders "-insiders";
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, pkg-config, libtool
|
{ lib, stdenv, fetchFromGitHub, pkg-config, libtool
|
||||||
, bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg, djvulibre
|
, bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg, djvulibre
|
||||||
, lcms2, openexr, libpng, librsvg, libtiff, libxml2, openjpeg, libwebp, fftw, libheif, libde265
|
, lcms2, openexr, libpng, librsvg, libtiff, libxml2, openjpeg, libwebp, fftw, libheif, libde265
|
||||||
, ApplicationServices
|
, ApplicationServices, Foundation
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
@ -50,7 +50,8 @@ stdenv.mkDerivation rec {
|
||||||
]
|
]
|
||||||
++ lib.optionals (!stdenv.hostPlatform.isMinGW)
|
++ lib.optionals (!stdenv.hostPlatform.isMinGW)
|
||||||
[ openexr librsvg openjpeg ]
|
[ openexr librsvg openjpeg ]
|
||||||
++ lib.optional stdenv.isDarwin ApplicationServices;
|
++ lib.optionals stdenv.isDarwin
|
||||||
|
[ ApplicationServices Foundation ];
|
||||||
|
|
||||||
propagatedBuildInputs =
|
propagatedBuildInputs =
|
||||||
[ bzip2 freetype libjpeg lcms2 fftw ]
|
[ bzip2 freetype libjpeg lcms2 fftw ]
|
||||||
|
|
|
@ -90,11 +90,11 @@ in
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "brave";
|
pname = "brave";
|
||||||
version = "1.24.82";
|
version = "1.24.85";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
|
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
|
||||||
sha256 = "iWUJ5yLWWQvg510Atf+Pd9ya/1NnMNW2Sp/RVFn4PCc=";
|
sha256 = "jE9INGYz78Vyvps4ESimtH1rL4GdboAUtMx1p31XQGk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontConfigure = true;
|
dontConfigure = true;
|
||||||
|
|
|
@ -20,13 +20,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "kubernetes";
|
pname = "kubernetes";
|
||||||
version = "1.21.0";
|
version = "1.21.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kubernetes";
|
owner = "kubernetes";
|
||||||
repo = "kubernetes";
|
repo = "kubernetes";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-5IUcKVbHxL5qb7M087sZSsd50t5zSaeWATnyLHkVsRU=";
|
sha256 = "sha256-gJjCw28SqU49kIiRH+MZgeYN4VBgKVEaRPr5A/2c5Pc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ removeReferencesTo makeWrapper which go rsync installShellFiles ];
|
nativeBuildInputs = [ removeReferencesTo makeWrapper which go rsync installShellFiles ];
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "dnscontrol";
|
pname = "dnscontrol";
|
||||||
version = "3.8.1";
|
version = "3.9.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "StackExchange";
|
owner = "StackExchange";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-x002p7wPKbcmr4uE04mgKBagHQV/maEo99Y2Jr7xgK4=";
|
sha256 = "sha256-9lIjQaMYy0FGMkR29Es3BMIAcn+jQYudyFJHwezlXKM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-lR5+xVi/ROOFoRWyK0h/8uiSP/joQ9Zr9kMaQ+sWNhM=";
|
vendorSha256 = "sha256-thvbqDhLdY+g/byFHJ9Tdiw8WYRccu4X1Rb0pdhE34E=";
|
||||||
|
|
||||||
subPackages = [ "." ];
|
subPackages = [ "." ];
|
||||||
|
|
||||||
|
|
|
@ -79,7 +79,8 @@ in stdenv.mkDerivation {
|
||||||
NIX_LDFLAGS = lib.optionalString stdenv.isDarwin "-framework CoreFoundation";
|
NIX_LDFLAGS = lib.optionalString stdenv.isDarwin "-framework CoreFoundation";
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
install -D -m 644 /dev/stdin $apparmor/bin.transmission-daemon <<EOF
|
mkdir $apparmor
|
||||||
|
cat >$apparmor/bin.transmission-daemon <<EOF
|
||||||
include <tunables/global>
|
include <tunables/global>
|
||||||
$out/bin/transmission-daemon {
|
$out/bin/transmission-daemon {
|
||||||
include <abstractions/base>
|
include <abstractions/base>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, makeWrapper, zlib, perl, perlPackages }:
|
{ lib, stdenv, fetchFromGitHub, makeWrapper, zlib, perl, perlPackages, openmp }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "4.8.1";
|
version = "4.8.1";
|
||||||
|
@ -14,8 +14,12 @@ stdenv.mkDerivation rec {
|
||||||
propagatedBuildInputs = [ perl perlPackages.TextNSP perlPackages.PerlMagick ];
|
propagatedBuildInputs = [ perl perlPackages.TextNSP perlPackages.PerlMagick ];
|
||||||
|
|
||||||
nativeBuildInputs = [ zlib makeWrapper ];
|
nativeBuildInputs = [ zlib makeWrapper ];
|
||||||
|
buildInputs = lib.optional stdenv.cc.isClang openmp;
|
||||||
|
|
||||||
makeFlags = [ "PREFIX=$(out)/bin" ];
|
makeFlags = [
|
||||||
|
"CC=${stdenv.cc.targetPrefix}c++" # remove once https://github.com/weizhongli/cdhit/pull/114 is merged
|
||||||
|
"PREFIX=$(out)/bin"
|
||||||
|
];
|
||||||
|
|
||||||
preInstall = "mkdir -p $out/bin";
|
preInstall = "mkdir -p $out/bin";
|
||||||
|
|
||||||
|
|
|
@ -3,13 +3,13 @@
|
||||||
buildKodiBinaryAddon rec {
|
buildKodiBinaryAddon rec {
|
||||||
pname = "inputstream-ffmpegdirect";
|
pname = "inputstream-ffmpegdirect";
|
||||||
namespace = "inputstream.ffmpegdirect";
|
namespace = "inputstream.ffmpegdirect";
|
||||||
version = "1.21.2";
|
version = "1.21.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "xbmc";
|
owner = "xbmc";
|
||||||
repo = "inputstream.ffmpegdirect";
|
repo = "inputstream.ffmpegdirect";
|
||||||
rev = "${version}-${rel}";
|
rev = "${version}-${rel}";
|
||||||
sha256 = "sha256-FXtjR/4/f434gp78PBSt+QrYtMYcnljO3Htxss/wH7U=";
|
sha256 = "sha256-OShd6sPGXXu0rlSwuQFMWqrLscE6Y0I2eV2YJYyZNMs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
extraBuildInputs = [ bzip2 zlib kodi.ffmpeg ];
|
extraBuildInputs = [ bzip2 zlib kodi.ffmpeg ];
|
||||||
|
|
|
@ -6,13 +6,13 @@
|
||||||
buildKodiBinaryAddon rec {
|
buildKodiBinaryAddon rec {
|
||||||
pname = "pvr-iptvsimple";
|
pname = "pvr-iptvsimple";
|
||||||
namespace = "pvr.iptvsimple";
|
namespace = "pvr.iptvsimple";
|
||||||
version = "7.6.2";
|
version = "7.6.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kodi-pvr";
|
owner = "kodi-pvr";
|
||||||
repo = "pvr.iptvsimple";
|
repo = "pvr.iptvsimple";
|
||||||
rev = "${version}-${rel}";
|
rev = "${version}-${rel}";
|
||||||
sha256 = "sha256-MdgPUKkbqNt/WKUTrYNetlyUBQcYLSn0J8EHH2Z9I+g=";
|
sha256 = "sha256-F2uvf3BChN4p4VV1vTMAAPwQchVI5paTdxSFEi0u9a0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
extraBuildInputs = [
|
extraBuildInputs = [
|
||||||
|
|
|
@ -38,15 +38,15 @@ assert usbSupport -> !udevSupport; # libusb-compat-0_1 won't be used if udev is
|
||||||
assert gbmSupport || waylandSupport || x11Support;
|
assert gbmSupport || waylandSupport || x11Support;
|
||||||
|
|
||||||
let
|
let
|
||||||
kodiReleaseDate = "20210219";
|
kodiReleaseDate = "20210508";
|
||||||
kodiVersion = "19.0";
|
kodiVersion = "19.1";
|
||||||
rel = "Matrix";
|
rel = "Matrix";
|
||||||
|
|
||||||
kodi_src = fetchFromGitHub {
|
kodi_src = fetchFromGitHub {
|
||||||
owner = "xbmc";
|
owner = "xbmc";
|
||||||
repo = "xbmc";
|
repo = "xbmc";
|
||||||
rev = "${kodiVersion}-${rel}";
|
rev = "v${kodiVersion}";
|
||||||
sha256 = "097dg6a7v4ia85jx1pmlpwzdpqcqxlrmniqd005q73zvgj67zc2p";
|
sha256 = "0jh67vw3983lnfgqzqfislawwbpq0vxxk1ljsg7mar06mlwfxb7h";
|
||||||
};
|
};
|
||||||
|
|
||||||
ffmpeg = stdenv.mkDerivation rec {
|
ffmpeg = stdenv.mkDerivation rec {
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "amber-theme";
|
pname = "amber-theme";
|
||||||
version = "3.36-2";
|
version = "3.38-1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "lassekongo83";
|
owner = "lassekongo83";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1g0hkv9sxfxfnpv8x7g64lr2by7wd4k216s3y9xpibsycdbwpyi5";
|
sha256 = "sha256-OrdBeAD+gdIu6u8ESE9PtqYadSuJ8nx1Z8fB4D9y4W4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ meson ninja sassc ];
|
nativeBuildInputs = [ meson ninja sassc ];
|
||||||
|
|
|
@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
|
||||||
homepage = "https://tibleiz.net/copper/";
|
homepage = "https://tibleiz.net/copper/";
|
||||||
license = licenses.bsd2;
|
license = licenses.bsd2;
|
||||||
platforms = platforms.x86_64;
|
platforms = platforms.x86_64;
|
||||||
|
broken = stdenv.isDarwin;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,24 +1,34 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, cmake, llvmPackages, libxml2, zlib, substituteAll }:
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, cmake
|
||||||
|
, llvmPackages
|
||||||
|
, libxml2
|
||||||
|
, zlib
|
||||||
|
}:
|
||||||
|
|
||||||
llvmPackages.stdenv.mkDerivation rec {
|
llvmPackages.stdenv.mkDerivation rec {
|
||||||
version = "0.7.1";
|
|
||||||
pname = "zig";
|
pname = "zig";
|
||||||
|
version = "0.7.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ziglang";
|
owner = "ziglang";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "1z6c4ym9jmga46cw2arn7zv2drcpmrf3vw139gscxp27n7q2z5md";
|
hash = "sha256-rZYv8LFH3M70SyPwPVyul+Um9j82K8GZIepVmaonzPw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake llvmPackages.llvm.dev ];
|
nativeBuildInputs = [
|
||||||
|
cmake llvmPackages.llvm.dev
|
||||||
|
];
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
llvmPackages.libclang
|
|
||||||
llvmPackages.llvm
|
|
||||||
llvmPackages.lld
|
|
||||||
libxml2
|
libxml2
|
||||||
zlib
|
zlib
|
||||||
];
|
] ++ (with llvmPackages; [
|
||||||
|
libclang
|
||||||
|
lld
|
||||||
|
llvm
|
||||||
|
]);
|
||||||
|
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
export HOME=$TMPDIR;
|
export HOME=$TMPDIR;
|
||||||
|
@ -33,12 +43,12 @@ llvmPackages.stdenv.mkDerivation rec {
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
homepage = "https://ziglang.org/";
|
||||||
description =
|
description =
|
||||||
"General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software";
|
"General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software";
|
||||||
homepage = "https://ziglang.org/";
|
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ andrewrk AndersonTorres ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
maintainers = [ maintainers.andrewrk ];
|
|
||||||
# See https://github.com/NixOS/nixpkgs/issues/86299
|
# See https://github.com/NixOS/nixpkgs/issues/86299
|
||||||
broken = stdenv.isDarwin;
|
broken = stdenv.isDarwin;
|
||||||
};
|
};
|
||||||
|
|
|
@ -3,6 +3,6 @@
|
||||||
# How to obtain `sha256`:
|
# How to obtain `sha256`:
|
||||||
# nix-prefetch-url --unpack https://github.com/erlang/otp/archive/OTP-${version}.tar.gz
|
# nix-prefetch-url --unpack https://github.com/erlang/otp/archive/OTP-${version}.tar.gz
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
version = "23.3.2";
|
version = "23.3.4";
|
||||||
sha256 = "eU3BmBJqrcg3FmkuAIfB3UoSNfQQfvGNyC2jBffwm/w=";
|
sha256 = "EKewwcK1Gr84mmFVxVmOLaPiFtsG3r/1ubGOUwM/EYY=";
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
--- a/Makefile 2021-05-14 22:39:14.407200562 +0300
|
||||||
|
+++ b/Makefile 2021-05-14 22:36:23.828513407 +0300
|
||||||
|
@@ -41,7 +41,7 @@
|
||||||
|
# What to install.
|
||||||
|
TO_BIN= lua luac
|
||||||
|
TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp
|
||||||
|
-TO_LIB= liblua.a
|
||||||
|
+TO_LIB= liblua.${version}.dylib
|
||||||
|
TO_MAN= lua.1 luac.1
|
||||||
|
|
||||||
|
# Lua version and release.
|
||||||
|
@@ -60,6 +60,8 @@
|
||||||
|
cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
|
||||||
|
cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
|
||||||
|
cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
|
||||||
|
+ ln -s -f liblua.${version}.dylib $(INSTALL_LIB)/liblua.${luaversion}.dylib
|
||||||
|
+ ln -s -f liblua.${luaversion}.dylib $(INSTALL_LIB)/liblua.dylib
|
||||||
|
|
||||||
|
uninstall:
|
||||||
|
cd src && cd $(INSTALL_BIN) && $(RM) $(TO_BIN)
|
||||||
|
--- a/src/Makefile 2021-05-14 22:35:38.575051882 +0300
|
||||||
|
+++ b/src/Makefile 2021-05-14 22:35:33.584631206 +0300
|
||||||
|
@@ -32,7 +32,7 @@
|
||||||
|
|
||||||
|
PLATS= guess aix bsd c89 freebsd generic linux linux-readline macosx mingw posix solaris
|
||||||
|
|
||||||
|
-LUA_A= liblua.a
|
||||||
|
+LUA_A= liblua.${version}.dylib
|
||||||
|
CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o
|
||||||
|
LIB_O= lauxlib.o lbaselib.o lcorolib.o ldblib.o liolib.o lmathlib.o loadlib.o loslib.o lstrlib.o ltablib.o lutf8lib.o linit.o
|
||||||
|
BASE_O= $(CORE_O) $(LIB_O) $(MYOBJS)
|
||||||
|
@@ -57,11 +57,13 @@
|
||||||
|
a: $(ALL_A)
|
||||||
|
|
||||||
|
$(LUA_A): $(BASE_O)
|
||||||
|
- $(AR) $@ $(BASE_O)
|
||||||
|
- $(RANLIB) $@
|
||||||
|
+ $(CC) -dynamiclib -install_name $(out)/lib/liblua.${version}.dylib \
|
||||||
|
+ -compatibility_version ${version} -current_version ${version} \
|
||||||
|
+ -o liblua.${version}.dylib $^
|
||||||
|
|
||||||
|
$(LUA_T): $(LUA_O) $(LUA_A)
|
||||||
|
- $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
|
||||||
|
+ $(CC) -fno-common $(MYLDFLAGS) \
|
||||||
|
+ -o $@ $(LUA_O) $(LUA_A) -L. -llua.${version} $(LIBS)
|
||||||
|
|
||||||
|
$(LUAC_T): $(LUAC_O) $(LUA_A)
|
||||||
|
$(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
|
|
@ -5,6 +5,12 @@ rec {
|
||||||
lua5_4 = callPackage ./interpreter.nix {
|
lua5_4 = callPackage ./interpreter.nix {
|
||||||
sourceVersion = { major = "5"; minor = "4"; patch = "2"; };
|
sourceVersion = { major = "5"; minor = "4"; patch = "2"; };
|
||||||
hash = "0ksj5zpj74n0jkamy3di1p6l10v4gjnd2zjnb453qc6px6bhsmqi";
|
hash = "0ksj5zpj74n0jkamy3di1p6l10v4gjnd2zjnb453qc6px6bhsmqi";
|
||||||
|
|
||||||
|
patches = if stdenv.isDarwin then [ ./5.4.darwin.patch ] else [
|
||||||
|
# build lua as a shared library as well, MIT-licensed from
|
||||||
|
# https://github.com/archlinux/svntogit-packages/tree/packages/lua/trunk
|
||||||
|
./liblua.so.patch
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
lua5_4_compat = lua5_4.override({
|
lua5_4_compat = lua5_4.override({
|
||||||
|
|
|
@ -61,7 +61,8 @@ self = stdenv.mkDerivation rec {
|
||||||
configurePhase = ''
|
configurePhase = ''
|
||||||
runHook preConfigure
|
runHook preConfigure
|
||||||
|
|
||||||
makeFlagsArray+=(CFLAGS='-O2 -fPIC${lib.optionalString compat " -DLUA_COMPAT_ALL"} $(SYSCFLAGS)' )
|
makeFlagsArray+=(CFLAGS='-O2 -fPIC${lib.optionalString compat " -DLUA_COMPAT_ALL"} $(${
|
||||||
|
if lib.versionAtLeast luaversion "5.2" then "SYSCFLAGS" else "MYCFLAGS"})' )
|
||||||
makeFlagsArray+=(${lib.optionalString stdenv.isDarwin "CC=\"$CC\""}${lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) " 'AR=${stdenv.cc.targetPrefix}ar rcu'"})
|
makeFlagsArray+=(${lib.optionalString stdenv.isDarwin "CC=\"$CC\""}${lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) " 'AR=${stdenv.cc.targetPrefix}ar rcu'"})
|
||||||
|
|
||||||
installFlagsArray=( TO_BIN="lua luac" INSTALL_DATA='cp -d' \
|
installFlagsArray=( TO_BIN="lua luac" INSTALL_DATA='cp -d' \
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ lib, stdenv, fetchFromGitLab, cmake, gfortran, perl }:
|
{ lib, stdenv, fetchFromGitLab, cmake, gfortran, perl }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "5.1.3";
|
version = "5.1.4";
|
||||||
|
|
||||||
in stdenv.mkDerivation {
|
in stdenv.mkDerivation {
|
||||||
pname = "libxc";
|
pname = "libxc";
|
||||||
|
@ -11,7 +11,7 @@ in stdenv.mkDerivation {
|
||||||
owner = "libxc";
|
owner = "libxc";
|
||||||
repo = "libxc";
|
repo = "libxc";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "14czspifznsmvvix5hcm1rk18iy590qk8p5m00p0y032gmn9i2zj";
|
sha256 = "0rs6v72zz3jr22r29zxxdk8wdsfv6wid6cx2661974z09dbvbr1f";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ gfortran ];
|
buildInputs = [ gfortran ];
|
||||||
|
|
|
@ -1,39 +1,21 @@
|
||||||
{ lib, stdenv, fetchurl, cmake, fetchpatch
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, cmake
|
||||||
, zlib
|
, zlib
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "taglib";
|
pname = "taglib";
|
||||||
version = "1.11.1";
|
version = "1.12";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchFromGitHub {
|
||||||
url = "http://taglib.org/releases/${pname}-${version}.tar.gz";
|
owner = "taglib";
|
||||||
sha256 = "0ssjcdjv4qf9liph5ry1kngam1y7zp8fzr9xv4wzzrma22kabldn";
|
repo = "taglib";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "sha256-omErajnYgxbflsbe6pS2KsexZcXisso0WGYnmIud7WA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
|
||||||
(fetchpatch {
|
|
||||||
# https://github.com/taglib/taglib/issues/829
|
|
||||||
name = "CVE-2017-12678.patch";
|
|
||||||
url = "https://github.com/taglib/taglib/commit/eb9ded1206f18.patch";
|
|
||||||
sha256 = "1bvpxsvmlpi3by7myzss9kkpdkv405612n8ff68mw1ambj8h1m90";
|
|
||||||
})
|
|
||||||
|
|
||||||
(fetchpatch {
|
|
||||||
# https://github.com/taglib/taglib/pull/869
|
|
||||||
name = "CVE-2018-11439.patch";
|
|
||||||
url = "https://github.com/taglib/taglib/commit/272648ccfcccae30e002ccf34a22e075dd477278.patch";
|
|
||||||
sha256 = "0p397qq4anvcm0p8xs68mxa8hg6dl07chg260lc6k2929m34xv72";
|
|
||||||
})
|
|
||||||
|
|
||||||
(fetchpatch {
|
|
||||||
# many consumers of taglib have started vendoring taglib due to this bug
|
|
||||||
name = "fix_ogg_corruption.patch";
|
|
||||||
url = "https://github.com/taglib/taglib/commit/9336c82da3a04552168f208cd7a5fa4646701ea4.patch";
|
|
||||||
sha256 = "01wlwk4gmfxdg5hjj9jmrain7kia89z0zsdaf5gn3nibmy5bq70r";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
||||||
buildInputs = [ zlib ];
|
buildInputs = [ zlib ];
|
||||||
|
@ -51,7 +33,6 @@ stdenv.mkDerivation rec {
|
||||||
Speex, WavPack, TrueAudio, WAV, AIFF, MP4 and ASF files.
|
Speex, WavPack, TrueAudio, WAV, AIFF, MP4 and ASF files.
|
||||||
'';
|
'';
|
||||||
license = with licenses; [ lgpl3 mpl11 ];
|
license = with licenses; [ lgpl3 mpl11 ];
|
||||||
inherit (cmake.meta) platforms;
|
|
||||||
maintainers = with maintainers; [ ttuegel ];
|
maintainers = with maintainers; [ ttuegel ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,12 +6,12 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "adafruit-platformdetect";
|
pname = "adafruit-platformdetect";
|
||||||
version = "3.13.0";
|
version = "3.13.1";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
pname = "Adafruit-PlatformDetect";
|
pname = "Adafruit-PlatformDetect";
|
||||||
inherit version;
|
inherit version;
|
||||||
sha256 = "sha256-FlPd3bj2sU52nc2+XohNhBWRa+1Dr/SyaiSusxX6PeE=";
|
sha256 = "sha256-SUK2EpOHCFWm4zV+yRtzz81B0GMcwRsVnTOh2msSsSk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ setuptools-scm ];
|
nativeBuildInputs = [ setuptools-scm ];
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, isPy27
|
, isPy27
|
||||||
, fetchPypi
|
, fetchPypi
|
||||||
, python
|
, setuptools-scm
|
||||||
, ansible
|
, ansible-base
|
||||||
, enrich
|
, enrich
|
||||||
, flaky
|
, flaky
|
||||||
, pyyaml
|
, pyyaml
|
||||||
|
@ -27,10 +27,12 @@ buildPythonPackage rec {
|
||||||
sha256 = "sha256-tnuWKEB66bwVuwu3H3mHG99ZP+/msGhMDMRL5fyQgD8=";
|
sha256 = "sha256-tnuWKEB66bwVuwu3H3mHG99ZP+/msGhMDMRL5fyQgD8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ python ];
|
nativeBuildInputs = [
|
||||||
|
setuptools-scm
|
||||||
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
ansible
|
ansible-base
|
||||||
enrich
|
enrich
|
||||||
flaky
|
flaky
|
||||||
pyyaml
|
pyyaml
|
||||||
|
@ -65,7 +67,7 @@ buildPythonPackage rec {
|
||||||
preCheck = ''
|
preCheck = ''
|
||||||
# ansible wants to write to $HOME and crashes if it can't
|
# ansible wants to write to $HOME and crashes if it can't
|
||||||
export HOME=$(mktemp -d)
|
export HOME=$(mktemp -d)
|
||||||
export PATH=$PATH:${lib.makeBinPath [ ansible ]}
|
export PATH=$PATH:${lib.makeBinPath [ ansible-base ]}
|
||||||
|
|
||||||
# create a working ansible-lint executable
|
# create a working ansible-lint executable
|
||||||
export PATH=$PATH:$PWD/src/ansiblelint
|
export PATH=$PATH:$PWD/src/ansiblelint
|
||||||
|
@ -82,7 +84,7 @@ buildPythonPackage rec {
|
||||||
"test_prerun_reqs_v2"
|
"test_prerun_reqs_v2"
|
||||||
];
|
];
|
||||||
|
|
||||||
makeWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ ansible ]}" ];
|
makeWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ ansible-base ]}" ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://github.com/ansible-community/ansible-lint";
|
homepage = "https://github.com/ansible-community/ansible-lint";
|
||||||
|
|
|
@ -70,7 +70,7 @@ buildPythonPackage rec {
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Radically simple IT automation";
|
description = "Radically simple IT automation";
|
||||||
homepage = "Radically simple IT automation";
|
homepage = "http://www.ansible.com";
|
||||||
license = licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
maintainers = with maintainers; [ hexa ];
|
maintainers = with maintainers; [ hexa ];
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
{ lib, buildPythonPackage, fetchPypi, pythonOlder
|
{ buildPythonPackage
|
||||||
, requests
|
, cryptography
|
||||||
|
, fetchPypi
|
||||||
|
, lib
|
||||||
|
, pythonOlder
|
||||||
, protobuf
|
, protobuf
|
||||||
, pycryptodome
|
, pycryptodome
|
||||||
|
, requests
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
|
@ -14,11 +18,17 @@ buildPythonPackage rec {
|
||||||
sha256 = "0ampvsv97r3hy1cakif4kmyk1ynf3scbvh4fbk02x7xrxn4kl38w";
|
sha256 = "0ampvsv97r3hy1cakif4kmyk1ynf3scbvh4fbk02x7xrxn4kl38w";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ requests protobuf pycryptodome ];
|
# package doesn't contain unit tests
|
||||||
|
# scripts in ./test require networking
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "gpapi.googleplay" ];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ cryptography protobuf pycryptodome requests ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://github.com/NoMore201/googleplay-api";
|
homepage = "https://github.com/NoMore201/googleplay-api";
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3Only;
|
||||||
description = "Google Play Unofficial Python API";
|
description = "Google Play Unofficial Python API";
|
||||||
maintainers = with maintainers; [ ];
|
maintainers = with maintainers; [ ];
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
{ buildPythonPackage
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
, isPyPy
|
, isPyPy
|
||||||
, fetchPypi
|
, fetchPypi
|
||||||
, pythonOlder
|
, pythonOlder
|
||||||
, curl
|
, curl
|
||||||
, openssl
|
, openssl
|
||||||
, bottle
|
, bottle
|
||||||
, pytest
|
, pytestCheckHook
|
||||||
, nose
|
, nose
|
||||||
, flaky
|
, flaky
|
||||||
}:
|
}:
|
||||||
|
@ -20,6 +21,11 @@ buildPythonPackage rec {
|
||||||
sha256 = "8301518689daefa53726b59ded6b48f33751c383cf987b0ccfbbc4ed40281325";
|
sha256 = "8301518689daefa53726b59ded6b48f33751c383cf987b0ccfbbc4ed40281325";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
substituteInPlace setup.py --replace '--static-libs' '--libs'
|
||||||
|
export PYCURL_SSL_LIBRARY=openssl
|
||||||
|
'';
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
curl
|
curl
|
||||||
openssl.out
|
openssl.out
|
||||||
|
@ -31,34 +37,48 @@ buildPythonPackage rec {
|
||||||
|
|
||||||
checkInputs = [
|
checkInputs = [
|
||||||
bottle
|
bottle
|
||||||
pytest
|
pytestCheckHook
|
||||||
nose
|
nose
|
||||||
flaky
|
flaky
|
||||||
];
|
];
|
||||||
|
|
||||||
# skip impure or flakey tests
|
pytestFlagsArray = [
|
||||||
# See also:
|
# don't pick up the tests directory below examples/
|
||||||
# * https://github.com/NixOS/nixpkgs/issues/77304
|
"tests"
|
||||||
checkPhase = ''
|
];
|
||||||
HOME=$TMPDIR pytest tests -k "not test_ssl_in_static_libs \
|
|
||||||
and not test_keyfunction \
|
preCheck = ''
|
||||||
and not test_keyfunction_bogus_return \
|
export HOME=$TMPDIR
|
||||||
and not test_libcurl_ssl_gnutls \
|
|
||||||
and not test_libcurl_ssl_nss \
|
|
||||||
and not test_libcurl_ssl_openssl" \
|
|
||||||
--ignore=tests/getinfo_test.py \
|
|
||||||
--ignore=tests/memory_mgmt_test.py \
|
|
||||||
--ignore=tests/multi_memory_mgmt_test.py \
|
|
||||||
--ignore=tests/multi_timer_test.py
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
preConfigure = ''
|
disabledTests = [
|
||||||
substituteInPlace setup.py --replace '--static-libs' '--libs'
|
# libcurl stopped passing the reason phrase from the HTTP status line
|
||||||
export PYCURL_SSL_LIBRARY=openssl
|
# https://github.com/pycurl/pycurl/issues/679
|
||||||
'';
|
"test_failonerror"
|
||||||
|
"test_failonerror_status_line_invalid_utf8_python3"
|
||||||
|
# bottle>=0.12.17 escapes utf8 properly, so these test don't work anymore
|
||||||
|
# https://github.com/pycurl/pycurl/issues/669
|
||||||
|
"test_getinfo_content_type_invalid_utf8_python3"
|
||||||
|
"test_getinfo_cookie_invalid_utf8_python3"
|
||||||
|
"test_getinfo_raw_content_type_invalid_utf8"
|
||||||
|
"test_getinfo_raw_cookie_invalid_utf8"
|
||||||
|
# tests that require network access
|
||||||
|
"test_keyfunction"
|
||||||
|
"test_keyfunction_bogus_return"
|
||||||
|
# OSError: tests/fake-curl/libcurl/with_openssl.so: cannot open shared object file: No such file or directory
|
||||||
|
"test_libcurl_ssl_openssl"
|
||||||
|
# OSError: tests/fake-curl/libcurl/with_nss.so: cannot open shared object file: No such file or directory
|
||||||
|
"test_libcurl_ssl_nss"
|
||||||
|
# OSError: tests/fake-curl/libcurl/with_gnutls.so: cannot open shared object file: No such file or directory
|
||||||
|
"test_libcurl_ssl_gnutls"
|
||||||
|
# AssertionError: assert 'crypto' in ['curl']
|
||||||
|
"test_ssl_in_static_libs"
|
||||||
|
];
|
||||||
|
|
||||||
meta = {
|
meta = with lib; {
|
||||||
homepage = "http://pycurl.sourceforge.net/";
|
homepage = "http://pycurl.sourceforge.net/";
|
||||||
description = "Python wrapper for libcurl";
|
description = "Python wrapper for libcurl";
|
||||||
|
license = licenses.lgpl2Only;
|
||||||
|
maintainers = with maintainers; [];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{ lib
|
{ lib
|
||||||
|
, stdenv
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, isPy27
|
, isPy27
|
||||||
|
@ -49,6 +50,9 @@ buildPythonPackage {
|
||||||
# This test try to remove a dicom inside $HOME/.pydicom/data/ and download it again.
|
# This test try to remove a dicom inside $HOME/.pydicom/data/ and download it again.
|
||||||
disabledTests = [
|
disabledTests = [
|
||||||
"test_fetch_data_files"
|
"test_fetch_data_files"
|
||||||
|
] ++ lib.optionals stdenv.isAarch64 [
|
||||||
|
# https://github.com/pydicom/pydicom/issues/1386
|
||||||
|
"test_array"
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|
|
@ -1,22 +1,14 @@
|
||||||
{ lib, buildPythonPackage, fetchPypi, fetchpatch, pkg-config, fuse3, trio, pytestCheckHook, pytest-trio, which }:
|
{ lib, buildPythonPackage, fetchPypi, pkg-config, fuse3, trio, pytestCheckHook, pytest-trio, which }:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pyfuse3";
|
pname = "pyfuse3";
|
||||||
version = "3.1.1";
|
version = "3.2.0";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "9feb42a8639dc4815522ee6af6f7221552cfd2df1c7a7e9df96767be65e18667";
|
sha256 = "45f0053ad601b03a36e2c283a5271403674245a66a0daf50e3deaab0ea4fa82f";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
|
||||||
# Fixes tests with pytest 6, to be removed in next stable version
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://github.com/libfuse/pyfuse3/commit/0070eddfc33fc2fba8eb4fe9353a2d2fa1ae575b.patch";
|
|
||||||
sha256 = "0lb4x1j31ihs3qkn61x41k2vqwcjl2fp1c2qx2jg9br6yqhjmg3b";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [ pkg-config ];
|
||||||
|
|
||||||
buildInputs = [ fuse3 ];
|
buildInputs = [ fuse3 ];
|
||||||
|
@ -36,7 +28,7 @@ buildPythonPackage rec {
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Python 3 bindings for libfuse 3 with async I/O support";
|
description = "Python 3 bindings for libfuse 3 with async I/O support";
|
||||||
homepage = "https://github.com/libfuse/pyfuse3";
|
homepage = "https://github.com/libfuse/pyfuse3";
|
||||||
license = licenses.gpl2;
|
license = licenses.lgpl2Plus;
|
||||||
maintainers = with maintainers; [ nyanloutre ];
|
maintainers = with maintainers; [ nyanloutre ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,56 +3,35 @@
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, taglib
|
, taglib
|
||||||
, cython
|
, cython
|
||||||
, pytest
|
, pytestCheckHook
|
||||||
, glibcLocales
|
|
||||||
, fetchpatch
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pytaglib";
|
pname = "pytaglib";
|
||||||
version = "1.4.5";
|
version = "1.4.6";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "supermihi";
|
owner = "supermihi";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1gvvadlgk8ny8bg76gwvvfcwp1nfgrjphi60h5f9ha7h5ff1g2wb";
|
sha256 = "sha256-UAWXR1MCxEB48n7oQE+L545F+emlU3HErzLX6YTRteg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
buildInputs = [
|
||||||
# fix tests on python 2.7
|
cython
|
||||||
(fetchpatch {
|
taglib
|
||||||
url = "https://github.com/supermihi/pytaglib/commit/0c4ae750fcd5b18d2553975c7e3e183e9dca5bf1.patch";
|
|
||||||
sha256 = "1kv3c68vimx5dc8aacvzphiaq916avmprxddi38wji8p2ql6vngj";
|
|
||||||
})
|
|
||||||
|
|
||||||
# properly install pyprinttags
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://github.com/supermihi/pytaglib/commit/ba7a1406ddf35ddc41ed57f1c8d1f2bc2ed2c93a.patch";
|
|
||||||
sha256 = "0pi0dcq7db5fd3jnbwnfsfsgxvlhnm07z5yhpp93shk0s7ci2bwp";
|
|
||||||
})
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://github.com/supermihi/pytaglib/commit/28772f6f94d37f05728071381a0fa04c6a14783a.patch";
|
|
||||||
sha256 = "0h259vzj1l0gpibdf322yclyd10x5rh1anzhsjj2ghm6rj6q0r0m";
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = ''
|
checkInputs = [
|
||||||
substituteInPlace setup.py --replace "'pytest-runner', " ""
|
pytestCheckHook
|
||||||
'';
|
];
|
||||||
|
|
||||||
buildInputs = [ taglib cython ];
|
pythonImportsCheck = [ "taglib" ];
|
||||||
|
|
||||||
checkInputs = [ pytest glibcLocales ];
|
meta = with lib; {
|
||||||
|
description = "Python bindings for the Taglib audio metadata library";
|
||||||
checkPhase = ''
|
|
||||||
LC_ALL=en_US.utf-8 pytest .
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = "https://github.com/supermihi/pytaglib";
|
homepage = "https://github.com/supermihi/pytaglib";
|
||||||
description = "Python 2.x/3.x bindings for the Taglib audio metadata library";
|
license = licenses.gpl3Plus;
|
||||||
license = lib.licenses.gpl3;
|
maintainers = with maintainers; [ mrkkrp ];
|
||||||
maintainers = [ lib.maintainers.mrkkrp ];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,23 +10,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "rfc3339-validator";
|
pname = "rfc3339-validator";
|
||||||
version = "0.1.3";
|
version = "0.1.4";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
pname = "rfc3339_validator";
|
pname = "rfc3339_validator";
|
||||||
inherit version;
|
inherit version;
|
||||||
sha256 = "7a578aa0740e9ee2b48356fe1f347139190c4c72e27f303b3617054efd15df32";
|
sha256 = "0srg0b89aikzinw72s433994k5gv5lfyarq1adhas11kz6yjm2hk";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
|
||||||
# Fixes test failure on darwin. Filed upstream: https://github.com/naimetti/rfc3339-validator/pull/3.
|
|
||||||
# Not yet merged.
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://github.com/rmcgibbo/rfc3339-validator/commit/4b6bb62c30bd158d3b4663690dcba1084ac31770.patch";
|
|
||||||
sha256 = "0h9k82hhmp2xfzn49n3i47ws3rpm9lvfs2rjrds7hgx5blivpwl6";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
propagatedBuildInputs = [ six ];
|
propagatedBuildInputs = [ six ];
|
||||||
|
|
||||||
checkInputs = [ pytestCheckHook hypothesis strict-rfc3339 ];
|
checkInputs = [ pytestCheckHook hypothesis strict-rfc3339 ];
|
||||||
|
|
|
@ -17,6 +17,8 @@ buildPythonPackage {
|
||||||
sha256 = "jNu6qm8Q/UyJVaCqwFOPX02xAR5DwvCK3PaH6Fvmakk=";
|
sha256 = "jNu6qm8Q/UyJVaCqwFOPX02xAR5DwvCK3PaH6Fvmakk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [ ./telfhash-new-tlsh-hash.patch ];
|
||||||
|
|
||||||
# The tlsh library's name is just "tlsh"
|
# The tlsh library's name is just "tlsh"
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace requirements.txt --replace "python-tlsh" "tlsh"
|
substituteInPlace requirements.txt --replace "python-tlsh" "tlsh"
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
diff --git a/telfhash/grouping.py b/telfhash/grouping.py
|
||||||
|
index c62f8d9..4ee9f0b 100644
|
||||||
|
--- a/telfhash/grouping.py
|
||||||
|
+++ b/telfhash/grouping.py
|
||||||
|
@@ -32,10 +32,10 @@ import tlsh
|
||||||
|
def get_combination(telfhash_data):
|
||||||
|
|
||||||
|
#
|
||||||
|
- # TLSH hash is 70 characters long. if the telfhash is not 70
|
||||||
|
+ # The new TLSH hash is 72 characters long. if the telfhash is not 72
|
||||||
|
# characters in length, exclude from the list
|
||||||
|
#
|
||||||
|
- files_list = [x for x in list(telfhash_data.keys()) if telfhash_data[x]["telfhash"] is not None and len(telfhash_data[x]["telfhash"]) == 70]
|
||||||
|
+ files_list = [x for x in list(telfhash_data.keys()) if telfhash_data[x]["telfhash"] is not None and len(telfhash_data[x]["telfhash"]) == 72]
|
||||||
|
|
||||||
|
#
|
||||||
|
# get the combination of all the possible pairs of filenames
|
||||||
|
diff --git a/telfhash/telfhash.py b/telfhash/telfhash.py
|
||||||
|
index f2bbd25..c6e346c 100755
|
||||||
|
--- a/telfhash/telfhash.py
|
||||||
|
+++ b/telfhash/telfhash.py
|
||||||
|
@@ -132,7 +132,7 @@ def get_hash(symbols_list):
|
||||||
|
symbol_string = ",".join(symbols_list)
|
||||||
|
encoded_symbol_string = symbol_string.encode("ascii")
|
||||||
|
|
||||||
|
- return tlsh.forcehash(encoded_symbol_string).lower()
|
||||||
|
+ return tlsh.forcehash(encoded_symbol_string)
|
||||||
|
|
||||||
|
|
||||||
|
def elf_get_imagebase(elf):
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, fetchFromGitHub, rustPlatform, pkg-config, libusb1 }:
|
{ lib, stdenv, fetchFromGitHub, rustPlatform, pkg-config, libusb1, AppKit }:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "ecpdap";
|
pname = "ecpdap";
|
||||||
|
@ -15,7 +15,8 @@ rustPlatform.buildRustPackage rec {
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [ pkg-config ];
|
||||||
|
|
||||||
buildInputs = [ libusb1 ];
|
buildInputs = [ libusb1 ]
|
||||||
|
++ lib.optional stdenv.isDarwin AppKit;
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mkdir -p $out/etc/udev/rules.d
|
mkdir -p $out/etc/udev/rules.d
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
{ lib, buildGoModule, fetchFromGitHub, jq, makeWrapper }:
|
||||||
|
|
||||||
|
buildGoModule rec {
|
||||||
|
pname = "jiq";
|
||||||
|
version = "0.7.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "fiatjaf";
|
||||||
|
repo = pname;
|
||||||
|
rev = version;
|
||||||
|
sha256 = "sha256-EPhnfgmn0AufuxwcwRrEEQk+RD97akFJSzngkTl4LmY=";
|
||||||
|
};
|
||||||
|
|
||||||
|
vendorSha256 = "sha256-ZUmOhPGy+24AuxdeRVF0Vnu8zDGFrHoUlYiDdfIV5lc=";
|
||||||
|
|
||||||
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
|
checkInputs = [ jq ];
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
wrapProgram $out/bin/jiq \
|
||||||
|
--prefix PATH : ${lib.makeBinPath [ jq ]}
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/fiatjaf/jiq";
|
||||||
|
license = licenses.mit;
|
||||||
|
description = "jid on jq - interactive JSON query tool using jq expressions";
|
||||||
|
maintainers = with maintainers; [ ma27 ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -20,4 +20,6 @@ pkgs.buildPythonApplication rec {
|
||||||
toml
|
toml
|
||||||
jsonschema
|
jsonschema
|
||||||
];
|
];
|
||||||
|
# https://github.com/nix-community/pypi2nix/issues/460
|
||||||
|
meta.broken = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,16 +11,16 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "cargo-msrv";
|
pname = "cargo-msrv";
|
||||||
version = "0.4.0";
|
version = "0.5.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "foresterre";
|
owner = "foresterre";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1ynv5d2rxlc1gzq93v8qjyl5063w7q42g9m95250yh2lmf9hdj5i";
|
sha256 = "sha256-7XOpK6+JVV/p+g/Lb/ORUC9msME0vtuDbmiCBmuOJ8w=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "03rphdps17gzcmf8n5w14x5i5rjnfznsl150s3cz5vzhbmnlpszf";
|
cargoSha256 = "sha256-KYITZHBcb5G+7PW8kwbHSsereVjH39cVLQjqNaCq2iU=";
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
updateScript = nix-update-script {
|
updateScript = nix-update-script {
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
, atk, at-spi2-atk, at-spi2-core, alsaLib, cairo, cups, dbus, expat, gdk-pixbuf, glib, gtk3
|
, atk, at-spi2-atk, at-spi2-core, alsaLib, cairo, cups, dbus, expat, gdk-pixbuf, glib, gtk3
|
||||||
, freetype, fontconfig, nss, nspr, pango, udev, libuuid, libX11, libxcb, libXi
|
, freetype, fontconfig, nss, nspr, pango, udev, libuuid, libX11, libxcb, libXi
|
||||||
, libXcursor, libXdamage, libXrandr, libXcomposite, libXext, libXfixes
|
, libXcursor, libXdamage, libXrandr, libXcomposite, libXext, libXfixes
|
||||||
, libXrender, libXtst, libXScrnSaver
|
, libXrender, libXtst, libXScrnSaver, libdrm, mesa
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "postman";
|
pname = "postman";
|
||||||
version = "7.36.1";
|
version = "8.4.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://dl.pstmn.io/download/version/${version}/linux64";
|
url = "https://dl.pstmn.io/download/version/${version}/linux64";
|
||||||
sha256 = "sha256-6brThKTAQI3cu3SSqvEIT1nwlQ/jPTP+d/Q/m/Ez5nQ=";
|
sha256 = "040l0g6m8lmjrm0wvq8z13xyddasz7v95v54d658w14gv0n713vw";
|
||||||
name = "${pname}.tar.gz";
|
name = "${pname}.tar.gz";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -43,10 +43,12 @@ stdenv.mkDerivation rec {
|
||||||
gtk3
|
gtk3
|
||||||
freetype
|
freetype
|
||||||
fontconfig
|
fontconfig
|
||||||
|
mesa
|
||||||
nss
|
nss
|
||||||
nspr
|
nspr
|
||||||
pango
|
pango
|
||||||
udev
|
udev
|
||||||
|
libdrm
|
||||||
libuuid
|
libuuid
|
||||||
libX11
|
libX11
|
||||||
libxcb
|
libxcb
|
||||||
|
|
|
@ -38,8 +38,8 @@ in ((vscode-utils.override { stdenv = gccStdenv; }).buildVscodeMarketplaceExtens
|
||||||
mktplcRef = {
|
mktplcRef = {
|
||||||
name = "vsliveshare";
|
name = "vsliveshare";
|
||||||
publisher = "ms-vsliveshare";
|
publisher = "ms-vsliveshare";
|
||||||
version = "1.0.4131";
|
version = "1.0.4272";
|
||||||
sha256 = "167fwb1nri9xs5bx14zdg2q3fsmlbihcvnk90fv9av8zirpwa3vs";
|
sha256 = "kH8ZiNzpAfR1BnKjYc+hcNMEmhBNyHlnOlj8fCdNGjY=";
|
||||||
};
|
};
|
||||||
}).overrideAttrs({ nativeBuildInputs ? [], buildInputs ? [], ... }: {
|
}).overrideAttrs({ nativeBuildInputs ? [], buildInputs ? [], ... }: {
|
||||||
nativeBuildInputs = nativeBuildInputs ++ [
|
nativeBuildInputs = nativeBuildInputs ++ [
|
||||||
|
|
|
@ -41,13 +41,13 @@ in vscode-utils.buildVscodeMarketplaceExtension rec {
|
||||||
mktplcRef = {
|
mktplcRef = {
|
||||||
name = "python";
|
name = "python";
|
||||||
publisher = "ms-python";
|
publisher = "ms-python";
|
||||||
version = "2021.4.765268190";
|
version = "2021.5.829140558";
|
||||||
};
|
};
|
||||||
|
|
||||||
vsix = fetchurl {
|
vsix = fetchurl {
|
||||||
name = "${mktplcRef.publisher}-${mktplcRef.name}.zip";
|
name = "${mktplcRef.publisher}-${mktplcRef.name}.zip";
|
||||||
url = "https://github.com/microsoft/vscode-python/releases/download/${mktplcRef.version}/ms-python-release.vsix";
|
url = "https://github.com/microsoft/vscode-python/releases/download/${mktplcRef.version}/ms-python-release.vsix";
|
||||||
sha256 = "0x7dn3vc83mph2gaxgx26bn7g71hqdpp1mpizmd4jqcrknc4d7ci";
|
sha256 = "0y2HN4WGYUUXBfqp8Xb4oaA0hbLZmE3kDUXMBAOjvPQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
|
|
@ -7,14 +7,14 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "ell";
|
pname = "ell";
|
||||||
version = "0.38";
|
version = "0.40";
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "https://git.kernel.org/pub/scm/libs/${pname}/${pname}.git";
|
url = "https://git.kernel.org/pub/scm/libs/${pname}/${pname}.git";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-UR6NHIO/L/QbuVerXe32RNT33wwrDvIZpV6nlYaImI8=";
|
sha256 = "sha256-Yr08Kb8YU7xqBnhhS8rn+GFXAV68Hgj4aY26eptb9/8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -38,7 +38,8 @@ in stdenv.mkDerivation rec {
|
||||||
buildInputs = [ libcap ]
|
buildInputs = [ libcap ]
|
||||||
++ lib.optional (!stdenv.hostPlatform.isMusl) libidn2;
|
++ lib.optional (!stdenv.hostPlatform.isMusl) libidn2;
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
install -D -m 644 /dev/stdin $apparmor/bin.ping <<EOF
|
mkdir $apparmor
|
||||||
|
cat >$apparmor/bin.ping <<EOF
|
||||||
include <tunables/global>
|
include <tunables/global>
|
||||||
$out/bin/ping {
|
$out/bin/ping {
|
||||||
include <abstractions/base>
|
include <abstractions/base>
|
||||||
|
|
|
@ -12,12 +12,12 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "iwd";
|
pname = "iwd";
|
||||||
version = "1.12";
|
version = "1.14";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "https://git.kernel.org/pub/scm/network/wireless/iwd.git";
|
url = "https://git.kernel.org/pub/scm/network/wireless/iwd.git";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-o3Vc5p/AFZwbkEWJZzO6wWAJ/BmSh0eKxdnjm5B9BFU=";
|
sha256 = "sha256-uGe4TO1/bs8k2z3wOJqaZgT6u6yX/7wx4HMSS2hN4XE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "man" ]
|
outputs = [ "out" "man" ]
|
||||||
|
@ -57,6 +57,8 @@ stdenv.mkDerivation rec {
|
||||||
];
|
];
|
||||||
|
|
||||||
postUnpack = ''
|
postUnpack = ''
|
||||||
|
mkdir -p iwd/ell
|
||||||
|
ln -s ${ell.src}/ell/useful.h iwd/ell/useful.h
|
||||||
patchShebangs .
|
patchShebangs .
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "slurm";
|
pname = "slurm";
|
||||||
version = "20.11.6.1";
|
version = "20.11.7.1";
|
||||||
|
|
||||||
# N.B. We use github release tags instead of https://www.schedmd.com/downloads.php
|
# N.B. We use github release tags instead of https://www.schedmd.com/downloads.php
|
||||||
# because the latter does not keep older releases.
|
# because the latter does not keep older releases.
|
||||||
|
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
|
||||||
repo = "slurm";
|
repo = "slurm";
|
||||||
# The release tags use - instead of .
|
# The release tags use - instead of .
|
||||||
rev = "${pname}-${builtins.replaceStrings ["."] ["-"] version}";
|
rev = "${pname}-${builtins.replaceStrings ["."] ["-"] version}";
|
||||||
sha256 = "1c2dqqddw5bfb27smq7rqa7v1wymdj155ky50rbyvl36pmhc9djp";
|
sha256 = "0ril6k4dj96qhx5x7r4nc2ghp7n9700808731v4qn9yvcslqzg9a";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, buildGoModule, fetchFromGitHub}:
|
{ lib, buildGoModule, fetchFromGitHub, nixosTests }:
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "matrix-dendrite";
|
pname = "matrix-dendrite";
|
||||||
|
@ -13,6 +13,10 @@ buildGoModule rec {
|
||||||
|
|
||||||
vendorSha256 = "1l1wydvi0yalas79cvhrqg563cvs57hg9rv6qnkw879r6smb2x1n";
|
vendorSha256 = "1l1wydvi0yalas79cvhrqg563cvs57hg9rv6qnkw879r6smb2x1n";
|
||||||
|
|
||||||
|
passthru.tests = {
|
||||||
|
inherit (nixosTests) dendrite;
|
||||||
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://matrix.org";
|
homepage = "https://matrix.org";
|
||||||
description = "Dendrite is a second-generation Matrix homeserver written in Go!";
|
description = "Dendrite is a second-generation Matrix homeserver written in Go!";
|
||||||
|
|
|
@ -142,13 +142,13 @@ in
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "inspircd";
|
pname = "inspircd";
|
||||||
version = "3.9.0";
|
version = "3.10.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = pname;
|
owner = pname;
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0x3paasf4ynx4ddky2nq613vyirbhfnxzkjq148k7154pz3q426s";
|
sha256 = "1817gmxk4v7k5398d2fb6qkwadg0fd980gqmr80wdnppx450ikn7";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "bin" "lib" "man" "doc" "out" ];
|
outputs = [ "bin" "lib" "man" "doc" "out" ];
|
||||||
|
@ -160,6 +160,8 @@ stdenv.mkDerivation rec {
|
||||||
buildInputs = extraInputs;
|
buildInputs = extraInputs;
|
||||||
|
|
||||||
configurePhase = ''
|
configurePhase = ''
|
||||||
|
runHook preConfigure
|
||||||
|
|
||||||
patchShebangs configure make/*.pl
|
patchShebangs configure make/*.pl
|
||||||
|
|
||||||
# configure is executed twice, once to set the extras
|
# configure is executed twice, once to set the extras
|
||||||
|
@ -183,6 +185,8 @@ stdenv.mkDerivation rec {
|
||||||
--module-dir ${placeholder "lib"}/lib/inspircd \
|
--module-dir ${placeholder "lib"}/lib/inspircd \
|
||||||
--runtime-dir /var/run \
|
--runtime-dir /var/run \
|
||||||
--script-dir ${placeholder "bin"}/share/inspircd \
|
--script-dir ${placeholder "bin"}/share/inspircd \
|
||||||
|
|
||||||
|
runHook postConfigure
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
{ lib, python3Packages, nixosTests }:
|
||||||
|
|
||||||
|
python3Packages.buildPythonApplication rec {
|
||||||
|
pname = "kea-exporter";
|
||||||
|
version = "0.4.2";
|
||||||
|
|
||||||
|
src = python3Packages.fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "0dpzicv0ksyda2lprldkj452c23qycl5c9avca6x7f7rbqry9pnd";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = with python3Packages; [
|
||||||
|
click
|
||||||
|
prometheus_client
|
||||||
|
];
|
||||||
|
|
||||||
|
checkPhase = ''
|
||||||
|
$out/bin/kea-exporter --help > /dev/null
|
||||||
|
$out/bin/kea-exporter --version | grep -q ${version}
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru.tests = {
|
||||||
|
inherit (nixosTests.prometheus-exporters) kea;
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Export Kea Metrics in the Prometheus Exposition Format";
|
||||||
|
homepage = "https://github.com/mweinelt/kea-exporter";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ hexa ];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "wallabag";
|
pname = "wallabag";
|
||||||
version = "2.4.1";
|
version = "2.4.2";
|
||||||
|
|
||||||
# remember to rm -r var/cache/* after a rebuild or unexpected errors will occur
|
# remember to rm -r var/cache/* after a rebuild or unexpected errors will occur
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://static.wallabag.org/releases/wallabag-release-${version}.tar.gz";
|
url = "https://static.wallabag.org/releases/wallabag-release-${version}.tar.gz";
|
||||||
sha256 = "1dqf5ia66kjsnfad2xkm8w6jgs976mf9x0dcd73jybqfgs4j09kj";
|
sha256 = "1n39flqqqjih0lc86vxdzbp44x4rqj5292if2fsa8y1xxlvyqmns";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" ];
|
outputs = [ "out" ];
|
||||||
|
|
|
@ -15,7 +15,7 @@ with lib;
|
||||||
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "0.11.8"; # also update communityModules
|
version = "0.11.9"; # also update communityModules
|
||||||
pname = "prosody";
|
pname = "prosody";
|
||||||
# The following community modules are necessary for the nixos module
|
# The following community modules are necessary for the nixos module
|
||||||
# prosody module to comply with XEP-0423 and provide a working
|
# prosody module to comply with XEP-0423 and provide a working
|
||||||
|
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
|
||||||
];
|
];
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://prosody.im/downloads/source/${pname}-${version}.tar.gz";
|
url = "https://prosody.im/downloads/source/${pname}-${version}.tar.gz";
|
||||||
sha256 = "1y38a33wab2vv9pz04blmn6m66wg4pixilh8x60jsx6mk0xih3w3";
|
sha256 = "02gzvsaq0l5lx608sfh7hfz14s6yfsr4sr4kzcsqd1cxljp35h6c";
|
||||||
};
|
};
|
||||||
|
|
||||||
# A note to all those merging automated updates: Please also update this
|
# A note to all those merging automated updates: Please also update this
|
||||||
|
@ -37,8 +37,8 @@ stdenv.mkDerivation rec {
|
||||||
# version.
|
# version.
|
||||||
communityModules = fetchhg {
|
communityModules = fetchhg {
|
||||||
url = "https://hg.prosody.im/prosody-modules";
|
url = "https://hg.prosody.im/prosody-modules";
|
||||||
rev = "f210f242cf17";
|
rev = "c149edb37349";
|
||||||
sha256 = "0ls45zfhhv8k1aywq3fvrh4ab7g4g1z1ma9mbcf2ch73m6aqhbyl";
|
sha256 = "1njw17k0nhf15hc20l28v0xzcc7jha85lqy3j97nspv9zdxmshk1";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "oil";
|
pname = "oil";
|
||||||
version = "0.8.10";
|
version = "0.8.11";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://www.oilshell.org/download/oil-${version}.tar.xz";
|
url = "https://www.oilshell.org/download/oil-${version}.tar.xz";
|
||||||
sha256 = "sha256-ETB8BirlEqro8CUdRM+AsZ/ugFa/fj52wCV9pInvMB0=";
|
sha256 = "sha256-GVV+532dPrXkQ3X2+wa4u6aCPBvQAIiypeoqzJqvk9Y=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "clair";
|
pname = "clair";
|
||||||
version = "4.0.5";
|
version = "4.1.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "quay";
|
owner = "quay";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-tpk5Avx2bRQlhOnHpmpDG14X9nk3x68TST+VtIW8rL8=";
|
sha256 = "sha256-Ns02Yi0FJPOCpjr1P5c1KOkRZ8saxQzXg/Zn5vYLztU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-O9SEVyBFnmyrQCmccXLyeOqlTwWHzICTLVKGO7rerjI=";
|
vendorSha256 = "sha256-aFaeRhg+aLOmS7VFbgdxaEtZcBKn9zCVINad6ahpDCo=";
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
pname = "volctl";
|
pname = "volctl";
|
||||||
version = "0.8.0";
|
version = "0.8.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "buzz";
|
owner = "buzz";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "02scfscf4mdrphzrd7cbwbhpig9bhvaws8qk4zc81z8vvf3mcfv2";
|
sha256 = "1cx27j83pz2qffnzb85fbl1x6pp3irv1kbw7g1hri7kaw6ky4xiz";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, libdmtx
|
, libdmtx
|
||||||
, imagemagick
|
, imagemagick
|
||||||
|
, Foundation
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
@ -20,7 +21,8 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
nativeBuildInputs = [ autoreconfHook pkg-config ];
|
nativeBuildInputs = [ autoreconfHook pkg-config ];
|
||||||
|
|
||||||
buildInputs = [ libdmtx imagemagick ];
|
buildInputs = [ libdmtx imagemagick ]
|
||||||
|
++ lib.optional stdenv.isDarwin Foundation;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Data matrix command-line utilities";
|
description = "Data matrix command-line utilities";
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
{ lib
|
{ lib
|
||||||
|
, stdenv
|
||||||
, rustPlatform
|
, rustPlatform
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
, libiconv
|
||||||
}:
|
}:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
|
@ -16,6 +18,8 @@ rustPlatform.buildRustPackage rec {
|
||||||
|
|
||||||
cargoSha256 = "sha256-xp1ei41HdbSxq8hoQB4JFtYZLb4bIKSlwEwwxUcjojE=";
|
cargoSha256 = "sha256-xp1ei41HdbSxq8hoQB4JFtYZLb4bIKSlwEwwxUcjojE=";
|
||||||
|
|
||||||
|
buildInputs = lib.optional stdenv.isDarwin libiconv;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A high performance code minimap render";
|
description = "A high performance code minimap render";
|
||||||
homepage = "https://github.com/wfxr/code-minimap";
|
homepage = "https://github.com/wfxr/code-minimap";
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "jdupes";
|
pname = "jdupes";
|
||||||
version = "1.19.2";
|
version = "1.20.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "jbruchon";
|
owner = "jbruchon";
|
||||||
repo = "jdupes";
|
repo = "jdupes";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-3lWrSybYp3RrUnydosgsNkGQjrk7JvxuxjMslN4cGfk=";
|
sha256 = "sha256-G6ixqSIdDoM/OVlPfv2bI4MA/k0x3Jic/kFo5XEsN/M=";
|
||||||
# Unicode file names lead to different checksums on HFS+ vs. other
|
# Unicode file names lead to different checksums on HFS+ vs. other
|
||||||
# filesystems because of unicode normalisation. The testdir
|
# filesystems because of unicode normalisation. The testdir
|
||||||
# directories have such files and will be removed.
|
# directories have such files and will be removed.
|
||||||
|
|
|
@ -12,10 +12,10 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
# Run `eval $(nix-build -A lorri.updater)` after updating the revision!
|
# Run `eval $(nix-build -A lorri.updater)` after updating the revision!
|
||||||
version = "1.4.0";
|
version = "1.5.0";
|
||||||
gitRev = "fee4ffac9ee16fc921d413789cc059b043f2db3d";
|
gitRev = "f4b6a135e2efb18b3a679e3946d4d070a1c45a2c";
|
||||||
sha256 = "sha256:0ix0k85ywlvkxsampajkq521d290gb0n60qwhnk6j0sc55yn558h";
|
sha256 = "0irgzw7vwhvm97nmylj44x2dnd8pwf47gvlgw7fj58fj67a0l8fr";
|
||||||
cargoSha256 = "sha256:1ngn4wnyh6cjnyg7mb48zvng0zn5fcn8s75y88nh91xq9x1bi2d9";
|
cargoSha256 = "18l7yxciqcvagsg9lykilfhr104a4qqdydjkjysxgd197xalxgzr";
|
||||||
|
|
||||||
in (rustPlatform.buildRustPackage rec {
|
in (rustPlatform.buildRustPackage rec {
|
||||||
pname = "lorri";
|
pname = "lorri";
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "nix-direnv";
|
pname = "nix-direnv";
|
||||||
version = "1.2.5";
|
version = "1.2.6";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "nix-community";
|
owner = "nix-community";
|
||||||
repo = "nix-direnv";
|
repo = "nix-direnv";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-sqEodshg6nm3O4RK63ht8u6FU98bF/1i6frS50oyZY8=";
|
sha256 = "sha256-0dCIHgoyNgpxbrPDv26oLdU+npcIgpCQdpX4HzS0vN0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Substitute instead of wrapping because the resulting file is
|
# Substitute instead of wrapping because the resulting file is
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
{ lib
|
||||||
|
, python3
|
||||||
|
, fetchFromGitHub
|
||||||
|
}:
|
||||||
|
|
||||||
|
python3.pkgs.buildPythonApplication rec {
|
||||||
|
pname = "calendar-cli";
|
||||||
|
version = "0.12.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "tobixen";
|
||||||
|
repo = "calendar-cli";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "0qjld2m7hl3dx90491pqbjcja82c1f5gwx274kss4lkb8aw0kmlv";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = with python3.pkgs; [
|
||||||
|
icalendar
|
||||||
|
caldav
|
||||||
|
pytz
|
||||||
|
tzlocal
|
||||||
|
six
|
||||||
|
];
|
||||||
|
|
||||||
|
# tests require networking
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Simple command-line CalDav client";
|
||||||
|
homepage = "https://github.com/tobixen/calendar-cli";
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
maintainers = with maintainers; [ dotlambda ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -5,11 +5,11 @@ assert stdenv.isLinux -> libcap != null;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "chrony";
|
pname = "chrony";
|
||||||
version = "4.0";
|
version = "4.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.tuxfamily.org/chrony/${pname}-${version}.tar.gz";
|
url = "https://download.tuxfamily.org/chrony/${pname}-${version}.tar.gz";
|
||||||
sha256 = "09f6w2x5h5kamb4rhcbaz911q1f730qdalgsn8s48yjyqlafl9xy";
|
sha256 = "sha256-7Xby0/k0esYiGpGtS9VT3QVlrBiM10kNCAHQj3FxFkw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -4,24 +4,25 @@
|
||||||
, rustPlatform
|
, rustPlatform
|
||||||
, installShellFiles
|
, installShellFiles
|
||||||
, perl
|
, perl
|
||||||
|
, libiconv
|
||||||
, Security
|
, Security
|
||||||
}:
|
}:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "findomain";
|
pname = "findomain";
|
||||||
version = "4.1.1";
|
version = "4.2.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Edu4rdSHL";
|
owner = "Edu4rdSHL";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-ySpkWAhLS4jPFviKnzcnW7vuUFyojTBhooq7CFz/y3w=";
|
sha256 = "sha256-bNvgENyBa+BOY7QVPbBGKFKqYd9JNek+fyPnCT9+PUs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "sha256-KWh++MHaCJpJq7mS2lRCUh0nN+e8McKWcTknUC8VFuo=";
|
cargoSha256 = "sha256-FDiIM1LlWEFmiIvebdCsznkB7egspNKhY6xUXB838g8=";
|
||||||
|
|
||||||
nativeBuildInputs = [ installShellFiles perl ];
|
nativeBuildInputs = [ installShellFiles perl ];
|
||||||
buildInputs = lib.optional stdenv.isDarwin Security;
|
buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
installManPage ${pname}.1
|
installManPage ${pname}.1
|
||||||
|
|
|
@ -46,7 +46,8 @@ stdenv.mkDerivation rec {
|
||||||
installFlags = [ "SUIDMODE=" ];
|
installFlags = [ "SUIDMODE=" ];
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
install -D -m 644 /dev/stdin $apparmor/bin.ping <<EOF
|
mkdir $apparmor
|
||||||
|
cat >$apparmor/bin.ping <<EOF
|
||||||
$out/bin/ping {
|
$out/bin/ping {
|
||||||
include <abstractions/base>
|
include <abstractions/base>
|
||||||
include <abstractions/consoles>
|
include <abstractions/consoles>
|
||||||
|
|
|
@ -12,14 +12,14 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "ofono";
|
pname = "ofono";
|
||||||
version = "1.31";
|
version = "1.32";
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "git://git.kernel.org/pub/scm/network/ofono/ofono.git";
|
url = "git://git.kernel.org/pub/scm/network/ofono/ofono.git";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "033y3vggjxn1c7mw75j452idp7arrdv51axs727f7l3c5lnxqdjy";
|
sha256 = "sha256-bJ7Qgau5soPiptrhcMZ8rWxfprRCTeR7OjQ5HZQ9hbc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|
|
@ -196,19 +196,12 @@ in rec {
|
||||||
|
|
||||||
nixStable = callPackage common (rec {
|
nixStable = callPackage common (rec {
|
||||||
pname = "nix";
|
pname = "nix";
|
||||||
version = "2.3.10";
|
version = "2.3.11";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://nixos.org/releases/nix/${pname}-${version}/${pname}-${version}.tar.xz";
|
url = "https://nixos.org/releases/nix/${pname}-${version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "a8a85e55de43d017abbf13036edfb58674ca136691582f17080c1cd12787b7ab";
|
sha256 = "89a8d7995305a78b1561e6670bbf1879c791fc4904eb094bc4f180775a61c128";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [(
|
|
||||||
fetchpatch {
|
|
||||||
url = "https://github.com/NixOS/nix/pull/4316.patch";
|
|
||||||
sha256 = "0bqlm4n9sac9prgr9xlfng92arisp1hiqvc9pfh4fibsppkgdfc5";
|
|
||||||
}
|
|
||||||
)];
|
|
||||||
|
|
||||||
inherit storeDir stateDir confDir boehmgc;
|
inherit storeDir stateDir confDir boehmgc;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
source "https://rubygems.org"
|
source "https://rubygems.org"
|
||||||
|
|
||||||
gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.0.43"
|
gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.0.44"
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
GIT
|
GIT
|
||||||
remote: https://github.com/rapid7/metasploit-framework
|
remote: https://github.com/rapid7/metasploit-framework
|
||||||
revision: 08fd394933eadca2b90e4de4ecce7f478af1f161
|
revision: dbc17d32977b2e36ead8dafff4f41c607a8bec88
|
||||||
ref: refs/tags/6.0.43
|
ref: refs/tags/6.0.44
|
||||||
specs:
|
specs:
|
||||||
metasploit-framework (6.0.43)
|
metasploit-framework (6.0.44)
|
||||||
actionpack (~> 5.2.2)
|
actionpack (~> 5.2.2)
|
||||||
activerecord (~> 5.2.2)
|
activerecord (~> 5.2.2)
|
||||||
activesupport (~> 5.2.2)
|
activesupport (~> 5.2.2)
|
||||||
|
@ -80,6 +80,7 @@ GIT
|
||||||
sinatra
|
sinatra
|
||||||
sqlite3
|
sqlite3
|
||||||
sshkey
|
sshkey
|
||||||
|
swagger-blocks
|
||||||
thin
|
thin
|
||||||
tzinfo
|
tzinfo
|
||||||
tzinfo-data
|
tzinfo-data
|
||||||
|
@ -124,13 +125,13 @@ GEM
|
||||||
arel-helpers (2.12.0)
|
arel-helpers (2.12.0)
|
||||||
activerecord (>= 3.1.0, < 7)
|
activerecord (>= 3.1.0, < 7)
|
||||||
aws-eventstream (1.1.1)
|
aws-eventstream (1.1.1)
|
||||||
aws-partitions (1.452.0)
|
aws-partitions (1.455.0)
|
||||||
aws-sdk-core (3.114.0)
|
aws-sdk-core (3.114.0)
|
||||||
aws-eventstream (~> 1, >= 1.0.2)
|
aws-eventstream (~> 1, >= 1.0.2)
|
||||||
aws-partitions (~> 1, >= 1.239.0)
|
aws-partitions (~> 1, >= 1.239.0)
|
||||||
aws-sigv4 (~> 1.1)
|
aws-sigv4 (~> 1.1)
|
||||||
jmespath (~> 1.0)
|
jmespath (~> 1.0)
|
||||||
aws-sdk-ec2 (1.235.0)
|
aws-sdk-ec2 (1.236.0)
|
||||||
aws-sdk-core (~> 3, >= 3.112.0)
|
aws-sdk-core (~> 3, >= 3.112.0)
|
||||||
aws-sigv4 (~> 1.1)
|
aws-sigv4 (~> 1.1)
|
||||||
aws-sdk-iam (1.52.0)
|
aws-sdk-iam (1.52.0)
|
||||||
|
@ -268,7 +269,7 @@ GEM
|
||||||
ttfunk
|
ttfunk
|
||||||
pg (1.2.3)
|
pg (1.2.3)
|
||||||
public_suffix (4.0.6)
|
public_suffix (4.0.6)
|
||||||
puma (5.3.0)
|
puma (5.3.1)
|
||||||
nio4r (~> 2.0)
|
nio4r (~> 2.0)
|
||||||
racc (1.5.2)
|
racc (1.5.2)
|
||||||
rack (2.2.3)
|
rack (2.2.3)
|
||||||
|
@ -289,7 +290,7 @@ GEM
|
||||||
thor (>= 0.19.0, < 2.0)
|
thor (>= 0.19.0, < 2.0)
|
||||||
rake (13.0.3)
|
rake (13.0.3)
|
||||||
rb-readline (0.5.5)
|
rb-readline (0.5.5)
|
||||||
recog (2.3.19)
|
recog (2.3.20)
|
||||||
nokogiri
|
nokogiri
|
||||||
redcarpet (3.5.1)
|
redcarpet (3.5.1)
|
||||||
reline (0.2.5)
|
reline (0.2.5)
|
||||||
|
@ -367,6 +368,7 @@ GEM
|
||||||
tilt (~> 2.0)
|
tilt (~> 2.0)
|
||||||
sqlite3 (1.4.2)
|
sqlite3 (1.4.2)
|
||||||
sshkey (2.0.0)
|
sshkey (2.0.0)
|
||||||
|
swagger-blocks (3.0.0)
|
||||||
thin (1.8.0)
|
thin (1.8.0)
|
||||||
daemons (~> 1.0, >= 1.0.9)
|
daemons (~> 1.0, >= 1.0.9)
|
||||||
eventmachine (~> 1.0, >= 1.0.4)
|
eventmachine (~> 1.0, >= 1.0.4)
|
||||||
|
|
|
@ -8,13 +8,13 @@ let
|
||||||
};
|
};
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "metasploit-framework";
|
pname = "metasploit-framework";
|
||||||
version = "6.0.43";
|
version = "6.0.44";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "rapid7";
|
owner = "rapid7";
|
||||||
repo = "metasploit-framework";
|
repo = "metasploit-framework";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-dj+8DodQnCJjwhxTD/TjccJvSA8KSjiwiX65V6CIpuQ=";
|
sha256 = "sha256-6uhqAJ7nlBROdhda9yU2IlAHZrnpKo0kpKoixXJeJYY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
|
@ -114,10 +114,10 @@
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0dsmmsk913b50rs4ihk8pafc1gp1i1k1fnbf63ki0j5xdknpli55";
|
sha256 = "01i0qysphs0fl7gxg23bbsyn8iwgnaif6lvbfg6rdn6gp6qc8qgx";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.452.0";
|
version = "1.455.0";
|
||||||
};
|
};
|
||||||
aws-sdk-core = {
|
aws-sdk-core = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
|
@ -134,10 +134,10 @@
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1kcnfr5rw80d46hwp185jniqvbrxcdjy7srh24x7gjm2gpxmm234";
|
sha256 = "1x4gq4s5d9834n2p5gm1qchm8jvin1ipirc20z1j5lszjxxpy3c2";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.235.0";
|
version = "1.236.0";
|
||||||
};
|
};
|
||||||
aws-sdk-iam = {
|
aws-sdk-iam = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
|
@ -554,12 +554,12 @@
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
fetchSubmodules = false;
|
fetchSubmodules = false;
|
||||||
rev = "08fd394933eadca2b90e4de4ecce7f478af1f161";
|
rev = "dbc17d32977b2e36ead8dafff4f41c607a8bec88";
|
||||||
sha256 = "1r56i2h5gfbyi6q3hjha1x46zhkiwgs0ylqwq9ij572hhw7bqgvn";
|
sha256 = "11i5brrca8malhj8sap9p5k0fl126qjzfnhpfr719577kq06ms7a";
|
||||||
type = "git";
|
type = "git";
|
||||||
url = "https://github.com/rapid7/metasploit-framework";
|
url = "https://github.com/rapid7/metasploit-framework";
|
||||||
};
|
};
|
||||||
version = "6.0.43";
|
version = "6.0.44";
|
||||||
};
|
};
|
||||||
metasploit-model = {
|
metasploit-model = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
|
@ -846,10 +846,10 @@
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1q34mqihyg7i46z0pbbkyw58fwmkq7a7315apaqmj41zp6akyjf1";
|
sha256 = "00839fhvcq73h9a4crbrk87y6bi2z4vp1zazxihn6w0mrwr51c3i";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "5.3.0";
|
version = "5.3.1";
|
||||||
};
|
};
|
||||||
racc = {
|
racc = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
|
@ -946,10 +946,10 @@
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "00czf392immsaff10snjxky2vpnfck1bgszpckx15y2kydag5k9i";
|
sha256 = "11hc55mdl2d4kb8vrbazydxdnzr5l7dd4v5spqrrgnmp2d7rq3az";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.3.19";
|
version = "2.3.20";
|
||||||
};
|
};
|
||||||
redcarpet = {
|
redcarpet = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
|
@ -1281,6 +1281,16 @@
|
||||||
};
|
};
|
||||||
version = "2.0.0";
|
version = "2.0.0";
|
||||||
};
|
};
|
||||||
|
swagger-blocks = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0bycg5si4pr69b0qqiqzhwcich90mvmn0v0gs39slvxg5nv3h28k";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "3.0.0";
|
||||||
|
};
|
||||||
thin = {
|
thin = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
|
|
|
@ -1,22 +1,24 @@
|
||||||
{ lib, stdenv, fetchurl, emacs, texlive, ghostscript }:
|
{ lib, stdenv, fetchurl, emacs, texlive, ghostscript }:
|
||||||
|
|
||||||
let auctex = stdenv.mkDerivation ( rec {
|
let auctex = stdenv.mkDerivation ( rec {
|
||||||
version = "12.3";
|
|
||||||
|
|
||||||
# Make this a valid tex(live-new) package;
|
# Make this a valid tex(live-new) package;
|
||||||
# the pkgs attribute is provided with a hack below.
|
# the pkgs attribute is provided with a hack below.
|
||||||
pname = "auctex";
|
pname = "auctex";
|
||||||
|
version = "12.3";
|
||||||
tlType = "run";
|
tlType = "run";
|
||||||
|
|
||||||
|
|
||||||
outputs = [ "out" "tex" ];
|
outputs = [ "out" "tex" ];
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz";
|
url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz";
|
||||||
sha256 = "1pd99hbhci3l1n0lmzn803svqwl47kld6172gwkwjmwlnqqgxm1g";
|
hash = "sha256-L9T+MLaUV8knf+IE0+g8hHK89QDI/kqBDXREBhdMqd0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ emacs texlive.combined.scheme-basic ghostscript ];
|
buildInputs = [
|
||||||
|
emacs
|
||||||
|
ghostscript
|
||||||
|
texlive.combined.scheme-basic
|
||||||
|
];
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
mkdir -p "$tex"
|
mkdir -p "$tex"
|
||||||
|
@ -27,11 +29,11 @@ let auctex = stdenv.mkDerivation ( rec {
|
||||||
"--with-texmf-dir=\${tex}"
|
"--with-texmf-dir=\${tex}"
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = {
|
meta = with lib; {
|
||||||
description = "Extensible package for writing and formatting TeX files in GNU Emacs and XEmacs";
|
|
||||||
homepage = "https://www.gnu.org/software/auctex";
|
homepage = "https://www.gnu.org/software/auctex";
|
||||||
platforms = lib.platforms.unix;
|
description = "Extensible package for writing and formatting TeX files in GNU Emacs and XEmacs";
|
||||||
license = lib.licenses.gpl3;
|
license = licenses.gpl3Plus;
|
||||||
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -2027,6 +2027,8 @@ in
|
||||||
boost = pkgs.boost.override { python = python3; };
|
boost = pkgs.boost.override { python = python3; };
|
||||||
};
|
};
|
||||||
|
|
||||||
|
calendar-cli = callPackage ../tools/networking/calendar-cli { };
|
||||||
|
|
||||||
candle = libsForQt5.callPackage ../applications/misc/candle { };
|
candle = libsForQt5.callPackage ../applications/misc/candle { };
|
||||||
|
|
||||||
capstone = callPackage ../development/libraries/capstone { };
|
capstone = callPackage ../development/libraries/capstone { };
|
||||||
|
@ -5865,6 +5867,8 @@ in
|
||||||
|
|
||||||
jq = callPackage ../development/tools/jq { };
|
jq = callPackage ../development/tools/jq { };
|
||||||
|
|
||||||
|
jiq = callPackage ../development/tools/misc/jiq { };
|
||||||
|
|
||||||
jql = callPackage ../development/tools/jql { };
|
jql = callPackage ../development/tools/jql { };
|
||||||
|
|
||||||
jo = callPackage ../development/tools/jo { };
|
jo = callPackage ../development/tools/jo { };
|
||||||
|
@ -19416,6 +19420,7 @@ in
|
||||||
prometheus-haproxy-exporter = callPackage ../servers/monitoring/prometheus/haproxy-exporter.nix { };
|
prometheus-haproxy-exporter = callPackage ../servers/monitoring/prometheus/haproxy-exporter.nix { };
|
||||||
prometheus-jitsi-exporter = callPackage ../servers/monitoring/prometheus/jitsi-exporter.nix { };
|
prometheus-jitsi-exporter = callPackage ../servers/monitoring/prometheus/jitsi-exporter.nix { };
|
||||||
prometheus-json-exporter = callPackage ../servers/monitoring/prometheus/json-exporter.nix { };
|
prometheus-json-exporter = callPackage ../servers/monitoring/prometheus/json-exporter.nix { };
|
||||||
|
prometheus-kea-exporter = callPackage ../servers/monitoring/prometheus/kea-exporter.nix { };
|
||||||
prometheus-keylight-exporter = callPackage ../servers/monitoring/prometheus/keylight-exporter.nix { };
|
prometheus-keylight-exporter = callPackage ../servers/monitoring/prometheus/keylight-exporter.nix { };
|
||||||
prometheus-knot-exporter = callPackage ../servers/monitoring/prometheus/knot-exporter.nix { };
|
prometheus-knot-exporter = callPackage ../servers/monitoring/prometheus/knot-exporter.nix { };
|
||||||
prometheus-lnd-exporter = callPackage ../servers/monitoring/prometheus/lnd-exporter.nix { };
|
prometheus-lnd-exporter = callPackage ../servers/monitoring/prometheus/lnd-exporter.nix { };
|
||||||
|
@ -22865,7 +22870,8 @@ in
|
||||||
|
|
||||||
dmrconfig = callPackage ../applications/radio/dmrconfig { };
|
dmrconfig = callPackage ../applications/radio/dmrconfig { };
|
||||||
|
|
||||||
dmtx-utils = callPackage (callPackage ../tools/graphics/dmtx-utils) {
|
dmtx-utils = callPackage ../tools/graphics/dmtx-utils {
|
||||||
|
inherit (darwin.apple_sdk.frameworks) Foundation;
|
||||||
};
|
};
|
||||||
|
|
||||||
inherit (callPackage ../applications/virtualization/docker {})
|
inherit (callPackage ../applications/virtualization/docker {})
|
||||||
|
@ -22967,7 +22973,9 @@ in
|
||||||
jdk = jdk11;
|
jdk = jdk11;
|
||||||
});
|
});
|
||||||
|
|
||||||
ecpdap = callPackage ../development/tools/ecpdap { };
|
ecpdap = callPackage ../development/tools/ecpdap {
|
||||||
|
inherit (darwin.apple_sdk.frameworks) AppKit;
|
||||||
|
};
|
||||||
|
|
||||||
ecs-agent = callPackage ../applications/virtualization/ecs-agent { };
|
ecs-agent = callPackage ../applications/virtualization/ecs-agent { };
|
||||||
|
|
||||||
|
@ -24181,7 +24189,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
imagemagick6 = callPackage ../applications/graphics/ImageMagick/6.x.nix {
|
imagemagick6 = callPackage ../applications/graphics/ImageMagick/6.x.nix {
|
||||||
inherit (darwin.apple_sdk.frameworks) ApplicationServices;
|
inherit (darwin.apple_sdk.frameworks) ApplicationServices Foundation;
|
||||||
ghostscript = null;
|
ghostscript = null;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -29014,7 +29022,9 @@ in
|
||||||
|
|
||||||
bppsuite = callPackage ../applications/science/biology/bppsuite { };
|
bppsuite = callPackage ../applications/science/biology/bppsuite { };
|
||||||
|
|
||||||
cd-hit = callPackage ../applications/science/biology/cd-hit { };
|
cd-hit = callPackage ../applications/science/biology/cd-hit {
|
||||||
|
inherit (llvmPackages) openmp;
|
||||||
|
};
|
||||||
|
|
||||||
cmtk = callPackage ../applications/science/biology/cmtk { };
|
cmtk = callPackage ../applications/science/biology/cmtk { };
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue