Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2023-01-30 18:02:05 +00:00 committed by GitHub
commit 56b467d467
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
61 changed files with 1275 additions and 968 deletions

View file

@ -783,15 +783,6 @@
been fixed to allow more than one plugin in the path.
</para>
</listitem>
<listitem>
<para>
A new option was added to the virtualisation module that
enables specifying explicitly named network interfaces in QEMU
VMs. The existing <literal>virtualisation.vlans</literal> is
still supported for cases where the name of the network
interface is irrelevant.
</para>
</listitem>
</itemizedlist>
</section>
</section>

View file

@ -198,5 +198,3 @@ In addition to numerous new and upgraded packages, this release has the followin
- `nixos-version` now accepts `--configuration-revision` to display more information about the current generation revision
- The option `services.nomad.extraSettingsPlugins` has been fixed to allow more than one plugin in the path.
- A new option was added to the virtualisation module that enables specifying explicitly named network interfaces in QEMU VMs. The existing `virtualisation.vlans` is still supported for cases where the name of the network interface is irrelevant.

View file

@ -12,9 +12,7 @@ let
};
vlans = map (m: (
m.virtualisation.vlans ++
(lib.mapAttrsToList (_: v: v.vlan) m.virtualisation.interfaces))) (lib.attrValues config.nodes);
vlans = map (m: m.virtualisation.vlans) (lib.attrValues config.nodes);
vms = map (m: m.system.build.vm) (lib.attrValues config.nodes);
nodeHostNames =

View file

@ -18,40 +18,24 @@ let
networkModule = { config, nodes, pkgs, ... }:
let
qemu-common = import ../qemu-common.nix { inherit lib pkgs; };
# Convert legacy VLANs to named interfaces and merge with explicit interfaces.
vlansNumbered = forEach (zipLists config.virtualisation.vlans (range 1 255)) (v: {
name = "eth${toString v.snd}";
vlan = v.fst;
assignIP = true;
});
explicitInterfaces = lib.mapAttrsToList (n: v: v // { name = n; }) config.virtualisation.interfaces;
interfaces = vlansNumbered ++ explicitInterfaces;
interfacesNumbered = zipLists interfaces (range 1 255);
# Automatically assign IP addresses to requested interfaces.
assignIPs = lib.filter (i: i.assignIP) interfaces;
ipInterfaces = forEach assignIPs (i:
nameValuePair i.name { ipv4.addresses =
[ { address = "192.168.${toString i.vlan}.${toString config.virtualisation.test.nodeNumber}";
interfacesNumbered = zipLists config.virtualisation.vlans (range 1 255);
interfaces = forEach interfacesNumbered ({ fst, snd }:
nameValuePair "eth${toString snd}" {
ipv4.addresses =
[{
address = "192.168.${toString fst}.${toString config.virtualisation.test.nodeNumber}";
prefixLength = 24;
}];
});
qemuOptions = lib.flatten (forEach interfacesNumbered ({ fst, snd }:
qemu-common.qemuNICFlags snd fst.vlan config.virtualisation.test.nodeNumber));
udevRules = forEach interfacesNumbered ({ fst, snd }:
"SUBSYSTEM==\"net\",ACTION==\"add\",ATTR{address}==\"${qemu-common.qemuNicMac fst.vlan config.virtualisation.test.nodeNumber}\",NAME=\"${fst.name}\"");
networkConfig =
{
networking.hostName = mkDefault config.virtualisation.test.nodeName;
networking.interfaces = listToAttrs ipInterfaces;
networking.interfaces = listToAttrs interfaces;
networking.primaryIPAddress =
optionalString (ipInterfaces != [ ]) (head (head ipInterfaces).value.ipv4.addresses).address;
optionalString (interfaces != [ ]) (head (head interfaces).value.ipv4.addresses).address;
# Put the IP addresses of all VMs in this machine's
# /etc/hosts file. If a machine has multiple
@ -67,13 +51,16 @@ let
"${config.networking.hostName}.${config.networking.domain} " +
"${config.networking.hostName}\n"));
virtualisation.qemu.options = qemuOptions;
boot.initrd.services.udev.rules = concatMapStrings (x: x + "\n") udevRules;
virtualisation.qemu.options =
let qemu-common = import ../qemu-common.nix { inherit lib pkgs; };
in
flip concatMap interfacesNumbered
({ fst, snd }: qemu-common.qemuNICFlags snd fst config.virtualisation.test.nodeNumber);
};
in
{
key = "network-interfaces";
key = "ip-address";
config = networkConfig // {
# Expose the networkConfig items for tests like nixops
# that need to recreate the network config.

View file

@ -42,7 +42,7 @@ let
in {
meta = {
maintainers = teams.freedesktop.members;
maintainers = teams.freedesktop.members ++ [ lib.maintainers.k900 ];
# uses attributes of the linked package
buildDocsInSandbox = false;
};

View file

@ -121,11 +121,15 @@ let
''}
# substitute environment variables
${pkgs.gawk}/bin/awk '{
for(varname in ENVIRON)
gsub("@"varname"@", ENVIRON[varname])
print
}' "${configFile}" > "${finalConfig}"
if [ -f "${configFile}" ]; then
${pkgs.gawk}/bin/awk '{
for(varname in ENVIRON)
gsub("@"varname"@", ENVIRON[varname])
print
}' "${configFile}" > "${finalConfig}"
else
touch "${finalConfig}"
fi
iface_args="-s ${optionalString cfg.dbusControlled "-u"} -D${cfg.driver} ${configStr}"

View file

@ -545,8 +545,7 @@ in
virtualisation.vlans =
mkOption {
type = types.listOf types.ints.unsigned;
default = if config.virtualisation.interfaces == {} then [ 1 ] else [ ];
defaultText = lib.literalExpression ''if config.virtualisation.interfaces == {} then [ 1 ] else [ ]'';
default = [ 1 ];
example = [ 1 2 ];
description =
lib.mdDoc ''
@ -561,35 +560,6 @@ in
'';
};
virtualisation.interfaces = mkOption {
default = {};
example = {
enp1s0.vlan = 1;
};
description = lib.mdDoc ''
Network interfaces to add to the VM.
'';
type = with types; attrsOf (submodule {
options = {
vlan = mkOption {
type = types.ints.unsigned;
description = lib.mdDoc ''
VLAN to which the network interface is connected.
'';
};
assignIP = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
Automatically assign an IP address to the network interface using the same scheme as
virtualisation.vlans.
'';
};
};
});
};
virtualisation.writableStore =
mkOption {
type = types.bool;

View file

@ -135,6 +135,7 @@ in {
cntr = handleTestOn ["aarch64-linux" "x86_64-linux"] ./cntr.nix {};
cockroachdb = handleTestOn ["x86_64-linux"] ./cockroachdb.nix {};
collectd = handleTest ./collectd.nix {};
connman = handleTest ./connman.nix {};
consul = handleTest ./consul.nix {};
containers-bridge = handleTest ./containers-bridge.nix {};
containers-custom-pkgs.nix = handleTest ./containers-custom-pkgs.nix {};

77
nixos/tests/connman.nix Normal file
View file

@ -0,0 +1,77 @@
import ./make-test-python.nix ({ pkgs, lib, ...}:
{
name = "connman";
meta = with lib.maintainers; {
maintainers = [ rnhmjoj ];
};
# Router running radvd on VLAN 1
nodes.router = { ... }: {
imports = [ ../modules/profiles/minimal.nix ];
virtualisation.vlans = [ 1 ];
boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = true;
networking = {
useDHCP = false;
interfaces.eth1.ipv6.addresses =
[ { address = "fd12::1"; prefixLength = 64; } ];
};
services.radvd = {
enable = true;
config = ''
interface eth1 {
AdvSendAdvert on;
AdvManagedFlag on;
AdvOtherConfigFlag on;
prefix fd12::/64 {
AdvAutonomous off;
};
};
'';
};
};
# Client running connman, connected to VLAN 1
nodes.client = { ... }: {
virtualisation.vlans = [ 1 ];
# add a virtual wlan interface
boot.kernelModules = [ "mac80211_hwsim" ];
boot.extraModprobeConfig = ''
options mac80211_hwsim radios=1
'';
# Note: the overrides are needed because the wifi is
# disabled with mkVMOverride in qemu-vm.nix.
services.connman.enable = lib.mkOverride 0 true;
services.connman.networkInterfaceBlacklist = [ "eth0" ];
networking.wireless.enable = lib.mkOverride 0 true;
networking.wireless.interfaces = [ "wlan0" ];
};
testScript =
''
start_all()
with subtest("Router is ready"):
router.wait_for_unit("radvd.service")
with subtest("Daemons are running"):
client.wait_for_unit("wpa_supplicant-wlan0.service")
client.wait_for_unit("connman.service")
client.wait_until_succeeds("connmanctl state | grep -q ready")
with subtest("Wired interface is configured"):
client.wait_until_succeeds("ip -6 route | grep -q fd12::/64")
client.wait_until_succeeds("ping -c 1 fd12::1")
with subtest("Can set up a wireless access point"):
client.succeed("connmanctl enable wifi")
client.wait_until_succeeds("connmanctl tether wifi on nixos-test reproducibility | grep -q 'Enabled'")
client.wait_until_succeeds("iw wlan0 info | grep -q nixos-test")
'';
})

View file

@ -93,19 +93,18 @@ let
name = "Static";
nodes.router = router;
nodes.client = { pkgs, ... }: with pkgs.lib; {
virtualisation.interfaces.enp1s0.vlan = 1;
virtualisation.interfaces.enp2s0.vlan = 2;
virtualisation.vlans = [ 1 2 ];
networking = {
useNetworkd = networkd;
useDHCP = false;
defaultGateway = "192.168.1.1";
defaultGateway6 = "fd00:1234:5678:1::1";
interfaces.enp1s0.ipv4.addresses = [
interfaces.eth1.ipv4.addresses = mkOverride 0 [
{ address = "192.168.1.2"; prefixLength = 24; }
{ address = "192.168.1.3"; prefixLength = 32; }
{ address = "192.168.1.10"; prefixLength = 32; }
];
interfaces.enp2s0.ipv4.addresses = [
interfaces.eth2.ipv4.addresses = mkOverride 0 [
{ address = "192.168.2.2"; prefixLength = 24; }
];
};
@ -171,12 +170,12 @@ let
# Disable test driver default config
networking.interfaces = lib.mkForce {};
networking.useNetworkd = networkd;
virtualisation.interfaces.enp1s0.vlan = 1;
virtualisation.vlans = [ 1 ];
};
testScript = ''
start_all()
client.wait_for_unit("multi-user.target")
client.wait_until_succeeds("ip addr show dev enp1s0 | grep '192.168.1'")
client.wait_until_succeeds("ip addr show dev eth1 | grep '192.168.1'")
client.shell_interact()
client.succeed("ping -c 1 192.168.1.1")
router.succeed("ping -c 1 192.168.1.1")
@ -188,13 +187,20 @@ let
name = "SimpleDHCP";
nodes.router = router;
nodes.client = { pkgs, ... }: with pkgs.lib; {
virtualisation.interfaces.enp1s0.vlan = 1;
virtualisation.interfaces.enp2s0.vlan = 2;
virtualisation.vlans = [ 1 2 ];
networking = {
useNetworkd = networkd;
useDHCP = false;
interfaces.enp1s0.useDHCP = true;
interfaces.enp2s0.useDHCP = true;
interfaces.eth1 = {
ipv4.addresses = mkOverride 0 [ ];
ipv6.addresses = mkOverride 0 [ ];
useDHCP = true;
};
interfaces.eth2 = {
ipv4.addresses = mkOverride 0 [ ];
ipv6.addresses = mkOverride 0 [ ];
useDHCP = true;
};
};
};
testScript = { ... }:
@ -205,10 +211,10 @@ let
router.wait_for_unit("network-online.target")
with subtest("Wait until we have an ip address on each interface"):
client.wait_until_succeeds("ip addr show dev enp1s0 | grep -q '192.168.1'")
client.wait_until_succeeds("ip addr show dev enp1s0 | grep -q 'fd00:1234:5678:1:'")
client.wait_until_succeeds("ip addr show dev enp2s0 | grep -q '192.168.2'")
client.wait_until_succeeds("ip addr show dev enp2s0 | grep -q 'fd00:1234:5678:2:'")
client.wait_until_succeeds("ip addr show dev eth1 | grep -q '192.168.1'")
client.wait_until_succeeds("ip addr show dev eth1 | grep -q 'fd00:1234:5678:1:'")
client.wait_until_succeeds("ip addr show dev eth2 | grep -q '192.168.2'")
client.wait_until_succeeds("ip addr show dev eth2 | grep -q 'fd00:1234:5678:2:'")
with subtest("Test vlan 1"):
client.wait_until_succeeds("ping -c 1 192.168.1.1")
@ -237,15 +243,16 @@ let
name = "OneInterfaceDHCP";
nodes.router = router;
nodes.client = { pkgs, ... }: with pkgs.lib; {
virtualisation.interfaces.enp1s0.vlan = 1;
virtualisation.interfaces.enp2s0.vlan = 2;
virtualisation.vlans = [ 1 2 ];
networking = {
useNetworkd = networkd;
useDHCP = false;
interfaces.enp1s0 = {
interfaces.eth1 = {
ipv4.addresses = mkOverride 0 [ ];
mtu = 1343;
useDHCP = true;
};
interfaces.eth2.ipv4.addresses = mkOverride 0 [ ];
};
};
testScript = { ... }:
@ -257,10 +264,10 @@ let
router.wait_for_unit("network.target")
with subtest("Wait until we have an ip address on each interface"):
client.wait_until_succeeds("ip addr show dev enp1s0 | grep -q '192.168.1'")
client.wait_until_succeeds("ip addr show dev eth1 | grep -q '192.168.1'")
with subtest("ensure MTU is set"):
assert "mtu 1343" in client.succeed("ip link show dev enp1s0")
assert "mtu 1343" in client.succeed("ip link show dev eth1")
with subtest("Test vlan 1"):
client.wait_until_succeeds("ping -c 1 192.168.1.1")
@ -279,15 +286,16 @@ let
};
bond = let
node = address: { pkgs, ... }: with pkgs.lib; {
virtualisation.interfaces.enp1s0.vlan = 1;
virtualisation.interfaces.enp2s0.vlan = 2;
virtualisation.vlans = [ 1 2 ];
networking = {
useNetworkd = networkd;
useDHCP = false;
bonds.bond0 = {
interfaces = [ "enp1s0" "enp2s0" ];
interfaces = [ "eth1" "eth2" ];
driverOptions.mode = "802.3ad";
};
interfaces.eth1.ipv4.addresses = mkOverride 0 [ ];
interfaces.eth2.ipv4.addresses = mkOverride 0 [ ];
interfaces.bond0.ipv4.addresses = mkOverride 0
[ { inherit address; prefixLength = 30; } ];
};
@ -318,11 +326,12 @@ let
};
bridge = let
node = { address, vlan }: { pkgs, ... }: with pkgs.lib; {
virtualisation.interfaces.enp1s0.vlan = vlan;
virtualisation.vlans = [ vlan ];
networking = {
useNetworkd = networkd;
useDHCP = false;
interfaces.enp1s0.ipv4.addresses = [ { inherit address; prefixLength = 24; } ];
interfaces.eth1.ipv4.addresses = mkOverride 0
[ { inherit address; prefixLength = 24; } ];
};
};
in {
@ -330,12 +339,11 @@ let
nodes.client1 = node { address = "192.168.1.2"; vlan = 1; };
nodes.client2 = node { address = "192.168.1.3"; vlan = 2; };
nodes.router = { pkgs, ... }: with pkgs.lib; {
virtualisation.interfaces.enp1s0.vlan = 1;
virtualisation.interfaces.enp2s0.vlan = 2;
virtualisation.vlans = [ 1 2 ];
networking = {
useNetworkd = networkd;
useDHCP = false;
bridges.bridge.interfaces = [ "enp1s0" "enp2s0" ];
bridges.bridge.interfaces = [ "eth1" "eth2" ];
interfaces.eth1.ipv4.addresses = mkOverride 0 [ ];
interfaces.eth2.ipv4.addresses = mkOverride 0 [ ];
interfaces.bridge.ipv4.addresses = mkOverride 0
@ -369,7 +377,7 @@ let
nodes.router = router;
nodes.client = { pkgs, ... }: with pkgs.lib; {
environment.systemPackages = [ pkgs.iptables ]; # to debug firewall rules
virtualisation.interfaces.enp1s0.vlan = 1;
virtualisation.vlans = [ 1 ];
networking = {
useNetworkd = networkd;
useDHCP = false;
@ -377,9 +385,14 @@ let
# reverse path filtering rules for the macvlan interface seem
# to be incorrect, causing the test to fail. Disable temporarily.
firewall.checkReversePath = false;
macvlans.macvlan.interface = "enp1s0";
interfaces.enp1s0.useDHCP = true;
interfaces.macvlan.useDHCP = true;
macvlans.macvlan.interface = "eth1";
interfaces.eth1 = {
ipv4.addresses = mkOverride 0 [ ];
useDHCP = true;
};
interfaces.macvlan = {
useDHCP = true;
};
};
};
testScript = { ... }:
@ -391,7 +404,7 @@ let
router.wait_for_unit("network.target")
with subtest("Wait until we have an ip address on each interface"):
client.wait_until_succeeds("ip addr show dev enp1s0 | grep -q '192.168.1'")
client.wait_until_succeeds("ip addr show dev eth1 | grep -q '192.168.1'")
client.wait_until_succeeds("ip addr show dev macvlan | grep -q '192.168.1'")
with subtest("Print lots of diagnostic information"):
@ -418,22 +431,23 @@ let
fou = {
name = "foo-over-udp";
nodes.machine = { ... }: {
virtualisation.interfaces.enp1s0.vlan = 1;
virtualisation.vlans = [ 1 ];
networking = {
useNetworkd = networkd;
useDHCP = false;
interfaces.enp1s0.ipv4.addresses = [ { address = "192.168.1.1"; prefixLength = 24; } ];
interfaces.eth1.ipv4.addresses = mkOverride 0
[ { address = "192.168.1.1"; prefixLength = 24; } ];
fooOverUDP = {
fou1 = { port = 9001; };
fou2 = { port = 9002; protocol = 41; };
fou3 = mkIf (!networkd)
{ port = 9003; local.address = "192.168.1.1"; };
fou4 = mkIf (!networkd)
{ port = 9004; local = { address = "192.168.1.1"; dev = "enp1s0"; }; };
{ port = 9004; local = { address = "192.168.1.1"; dev = "eth1"; }; };
};
};
systemd.services = {
fou3-fou-encap.after = optional (!networkd) "network-addresses-enp1s0.service";
fou3-fou-encap.after = optional (!networkd) "network-addresses-eth1.service";
};
};
testScript = { ... }:
@ -456,20 +470,20 @@ let
"gue": None,
"family": "inet",
"local": "192.168.1.1",
"dev": "enp1s0",
"dev": "eth1",
} in fous, "fou4 exists"
'';
};
sit = let
node = { address4, remote, address6 }: { pkgs, ... }: with pkgs.lib; {
virtualisation.interfaces.enp1s0.vlan = 1;
virtualisation.vlans = [ 1 ];
networking = {
useNetworkd = networkd;
useDHCP = false;
sits.sit = {
inherit remote;
local = address4;
dev = "enp1s0";
dev = "eth1";
};
interfaces.eth1.ipv4.addresses = mkOverride 0
[ { address = address4; prefixLength = 24; } ];
@ -671,10 +685,10 @@ let
vlan-ping = let
baseIP = number: "10.10.10.${number}";
vlanIP = number: "10.1.1.${number}";
baseInterface = "enp1s0";
baseInterface = "eth1";
vlanInterface = "vlan42";
node = number: {pkgs, ... }: with pkgs.lib; {
virtualisation.interfaces.enp1s0.vlan = 1;
virtualisation.vlans = [ 1 ];
networking = {
#useNetworkd = networkd;
useDHCP = false;
@ -771,12 +785,12 @@ let
privacy = {
name = "Privacy";
nodes.router = { ... }: {
virtualisation.interfaces.enp1s0.vlan = 1;
virtualisation.vlans = [ 1 ];
boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = true;
networking = {
useNetworkd = networkd;
useDHCP = false;
interfaces.enp1s0.ipv6.addresses = singleton {
interfaces.eth1.ipv6.addresses = singleton {
address = "fd00:1234:5678:1::1";
prefixLength = 64;
};
@ -798,11 +812,11 @@ let
};
};
nodes.client_with_privacy = { pkgs, ... }: with pkgs.lib; {
virtualisation.interfaces.enp1s0.vlan = 1;
virtualisation.vlans = [ 1 ];
networking = {
useNetworkd = networkd;
useDHCP = false;
interfaces.enp1s0 = {
interfaces.eth1 = {
tempAddress = "default";
ipv4.addresses = mkOverride 0 [ ];
ipv6.addresses = mkOverride 0 [ ];
@ -811,11 +825,11 @@ let
};
};
nodes.client = { pkgs, ... }: with pkgs.lib; {
virtualisation.interfaces.enp1s0.vlan = 1;
virtualisation.vlans = [ 1 ];
networking = {
useNetworkd = networkd;
useDHCP = false;
interfaces.enp1s0 = {
interfaces.eth1 = {
tempAddress = "enabled";
ipv4.addresses = mkOverride 0 [ ];
ipv6.addresses = mkOverride 0 [ ];
@ -833,9 +847,9 @@ let
with subtest("Wait until we have an ip address"):
client_with_privacy.wait_until_succeeds(
"ip addr show dev enp1s0 | grep -q 'fd00:1234:5678:1:'"
"ip addr show dev eth1 | grep -q 'fd00:1234:5678:1:'"
)
client.wait_until_succeeds("ip addr show dev enp1s0 | grep -q 'fd00:1234:5678:1:'")
client.wait_until_succeeds("ip addr show dev eth1 | grep -q 'fd00:1234:5678:1:'")
with subtest("Test vlan 1"):
client_with_privacy.wait_until_succeeds("ping -c 1 fd00:1234:5678:1::1")
@ -933,7 +947,7 @@ let
), "The IPv6 routing table has not been properly cleaned:\n{}".format(ipv6Residue)
'';
};
rename = if networkd then {
rename = {
name = "RenameInterface";
nodes.machine = { pkgs, ... }: {
virtualisation.vlans = [ 1 ];
@ -941,20 +955,23 @@ let
useNetworkd = networkd;
useDHCP = false;
};
systemd.network.links."10-custom_name" = {
matchConfig.MACAddress = "52:54:00:12:01:01";
linkConfig.Name = "custom_name";
};
};
} //
(if networkd
then { systemd.network.links."10-custom_name" = {
matchConfig.MACAddress = "52:54:00:12:01:01";
linkConfig.Name = "custom_name";
};
}
else { boot.initrd.services.udev.rules = ''
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:12:01:01", KERNEL=="eth*", NAME="custom_name"
'';
});
testScript = ''
machine.succeed("udevadm settle")
print(machine.succeed("ip link show dev custom_name"))
'';
} else {
name = "RenameInterface";
nodes = { };
testScript = "";
};
nodes = { };
# even with disabled networkd, systemd.network.links should work
# (as it's handled by udev, not networkd)
link = {

View file

@ -11,19 +11,19 @@ import ./make-test-python.nix ({ pkgs, ... }: {
# build the go integration tests as a binary
(pkgs.tracee.overrideAttrs (oa: {
pname = oa.pname + "-integration";
patches = oa.patches or [] ++ [
# change the prefix from /usr/bin to /run to find nix processes
../../pkgs/tools/security/tracee/test-EventFilters-prefix-nix-friendly.patch
];
postPatch = oa.postPatch or "" + ''
# prepare tester.sh
patchShebangs tests/integration/tester.sh
# fix the test to look at nixos paths for running programs
substituteInPlace tests/integration/integration_test.go \
--replace "/usr/bin" "/run"
'';
nativeBuildInputs = oa.nativeBuildInputs or [ ] ++ [ pkgs.makeWrapper ];
buildPhase = ''
runHook preBuild
# just build the static lib we need for the go test binary
make $makeFlags ''${enableParallelBuilding:+-j$NIX_BUILD_CORES} bpf-core ./dist/btfhub
# remove the /usr/bin prefix to work with the patch above
substituteInPlace tests/integration/integration_test.go \
--replace "/usr/bin/ls" "ls"
# then compile the tests to be ran later
CGO_LDFLAGS="$(pkg-config --libs libbpf)" go test -tags core,ebpf,integration -p 1 -c -o $GOPATH/tracee-integration ./tests/integration/...
runHook postBuild
@ -31,7 +31,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
doCheck = false;
installPhase = ''
mkdir -p $out/bin
cp $GOPATH/tracee-integration $out/bin
mv $GOPATH/tracee-integration $out/bin/
'';
doInstallCheck = false;
}))
@ -44,6 +44,6 @@ import ./make-test-python.nix ({ pkgs, ... }: {
# EventFilters/trace_only_events_from_new_containers also requires a container called "alpine"
machine.succeed('tar cv -C ${pkgs.pkgsStatic.busybox} . | podman import - alpine --change ENTRYPOINT=sleep')
print(machine.succeed('TRC_BIN="${pkgs.tracee}" tracee-integration -test.v'))
print(machine.succeed('tracee-integration -test.v'))
'';
})

View file

@ -49,8 +49,8 @@ stdenv.mkDerivation rec {
meta = {
description = "Virtual Pipe Organ Software";
homepage = "https://sourceforge.net/projects/ourorgan";
license = lib.licenses.gpl2;
homepage = "https://github.com/GrandOrgue/grandorgue";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.unix;
maintainers = [ lib.maintainers.puzzlewolf ];
};

View file

@ -0,0 +1,52 @@
{ lib
, rustPlatform
, fetchFromGitHub
, pkg-config
, openssl
, cmake
, alsa-lib
, dbus
, fontconfig
}:
rustPlatform.buildRustPackage rec {
pname = "spotify-player";
version = "0.10.0";
src = fetchFromGitHub {
owner = "aome510";
repo = pname;
rev = "v${version}";
sha256 = "sha256-bHPWpx8EJibr2kNuzuGAQPZ0DE6qeJwIRYDy+NFS/PQ=";
};
cargoSha256 = "sha256-QeQ3PYI5RmbJ+VQ9hLSTXgQXVVoID5zbRqSTrbWzVy8=";
nativeBuildInputs = [
pkg-config
cmake
];
buildInputs = [
openssl
alsa-lib
dbus
fontconfig
];
buildNoDefaultFeatures = true;
buildFeatures = [
"rodio-backend"
"media-control"
"image"
"lyric-finder"
];
meta = with lib; {
description = "A command driven spotify player";
homepage = "https://github.com/aome510/spotify-player";
license = licenses.mit;
maintainers = with maintainers; [ dit7ya ];
};
}

View file

@ -559,12 +559,12 @@ final: prev:
ale = buildVimPluginFrom2Nix {
pname = "ale";
version = "2023-01-28";
version = "2023-01-29";
src = fetchFromGitHub {
owner = "dense-analysis";
repo = "ale";
rev = "0af4899605af26dd8ea7fe79acff6ab99f6532b2";
sha256 = "0h45gnpr2l5r0ikyyrdzx9zvwvzy03qrwj3j2280rfm5m97v1ss4";
rev = "116d713f63c7a81663fa53efa10e34649c9479e3";
sha256 = "1hqlav8h09qffcicxjwzq74rm8b128jav1hgcyjv7jyz7f3fjcw4";
};
meta.homepage = "https://github.com/dense-analysis/ale/";
};
@ -847,12 +847,12 @@ final: prev:
barbecue-nvim = buildVimPluginFrom2Nix {
pname = "barbecue.nvim";
version = "2023-01-28";
version = "2023-01-29";
src = fetchFromGitHub {
owner = "utilyre";
repo = "barbecue.nvim";
rev = "11e363e33f9952b35e757c528bf6515872ec8650";
sha256 = "1vr6d0vfqr2y4ld9dj420293y9bfszl5sh3z5d4ydx1firc23ljc";
rev = "b03479533f8b17f1b5b3dc625ddf2c528e914e6c";
sha256 = "0g1rxpk74iq05ji1bb7kffmfjizn6i4r0b82y5a2vm7kqbb2sdpi";
};
meta.homepage = "https://github.com/utilyre/barbecue.nvim/";
};
@ -1795,12 +1795,12 @@ final: prev:
coc-nvim = buildVimPluginFrom2Nix {
pname = "coc.nvim";
version = "2023-01-28";
version = "2023-01-29";
src = fetchFromGitHub {
owner = "neoclide";
repo = "coc.nvim";
rev = "0ae203a03115973097d60cc2df7b35a7754f2c8f";
sha256 = "0cbw0g73x4bsz8i552q1nrqf7mglisbvzapv01l2a9l9jxspzapc";
rev = "bbaa1d5d1ff3cbd9d26bb37cfda1a990494c4043";
sha256 = "116h45vnz98ni60i12f2z6rwz9gkpp1k4ysp1ry0qpjgmb5fcbsy";
};
meta.homepage = "https://github.com/neoclide/coc.nvim/";
};
@ -2287,12 +2287,12 @@ final: prev:
dashboard-nvim = buildVimPluginFrom2Nix {
pname = "dashboard-nvim";
version = "2023-01-29";
version = "2023-01-30";
src = fetchFromGitHub {
owner = "glepnir";
repo = "dashboard-nvim";
rev = "8bb7bf77c13eb61b03a9fb8b03035ce8e0bc29a7";
sha256 = "1ldakxhz6zkxr0nal0rrr91ccj3zs3578jcdkspri8w6rrg0bqm7";
rev = "9688f9d8df356d4bc06b42a74b78f0e374f6c534";
sha256 = "0p64q1kbq03dgrpqxhl7pn85j8rqwxn6yqw8a29x09nahjrxkfrw";
};
meta.homepage = "https://github.com/glepnir/dashboard-nvim/";
};
@ -2673,12 +2673,12 @@ final: prev:
diffview-nvim = buildVimPluginFrom2Nix {
pname = "diffview.nvim";
version = "2023-01-27";
version = "2023-01-30";
src = fetchFromGitHub {
owner = "sindrets";
repo = "diffview.nvim";
rev = "dc77f487b292c4a89dd437d80331e3aacbe3aaed";
sha256 = "086xkgd05s13ddb21jvmiyzhrv585wzaxq2fj4whbyyjhrhkjkjg";
rev = "ab3757c1ea1b84ef59f7dda54f11d10022e0e3b7";
sha256 = "1rbcf3llcq542533l0cxqf3bwnzk99x76k9yclfdy12zfdcjx4fv";
};
meta.homepage = "https://github.com/sindrets/diffview.nvim/";
};
@ -3396,12 +3396,12 @@ final: prev:
glow-nvim = buildVimPluginFrom2Nix {
pname = "glow.nvim";
version = "2023-01-23";
version = "2023-01-29";
src = fetchFromGitHub {
owner = "ellisonleao";
repo = "glow.nvim";
rev = "77b5cb1235c3a7d9be9d8cf6e0454d2528414911";
sha256 = "178s6jnmry7wsj78cyq28lsnzvjzwlqbii00idxm510kifa09zqp";
rev = "c87b1120b618577e64d910a7493a26829044a8a2";
sha256 = "1i5d249jga0slnwnk6as1zqlc03x8nxd0vbrxr43qg6vw322sj7k";
};
meta.homepage = "https://github.com/ellisonleao/glow.nvim/";
};
@ -3576,11 +3576,11 @@ final: prev:
hare-vim = buildVimPluginFrom2Nix {
pname = "hare.vim";
version = "2022-10-10";
version = "2023-01-30";
src = fetchgit {
url = "https://git.sr.ht/~sircmpwn/hare.vim";
rev = "267fb4dac4e8cd4df1d9b57fa587ce718f5fc256";
sha256 = "1spl17vd8w5k5xgqvmr80fi5samzhxfcqnkmzpqjk2sf5z88k80k";
rev = "92e8a80edc11ad5df6fdcfccee567515027682eb";
sha256 = "10fl95n5c2yk8v00hr4r4zbbi4rrdhbz6jg7r86d8jw6qjxl6c1b";
};
meta.homepage = "https://git.sr.ht/~sircmpwn/hare.vim";
};
@ -3599,12 +3599,12 @@ final: prev:
haskell-tools-nvim = buildVimPluginFrom2Nix {
pname = "haskell-tools.nvim";
version = "2023-01-28";
version = "2023-01-29";
src = fetchFromGitHub {
owner = "MrcJkb";
repo = "haskell-tools.nvim";
rev = "5645e7326cd8724aeb8c222d49a4ffa55de97c82";
sha256 = "0lri9xgyhd9sfjbj7ggnhy0v8xrvswl4b6vnvk9lic05i54hl4rv";
rev = "5e1b41ef7338c0aa764425144378d8d1b3b59242";
sha256 = "0y7xkfy2jf28xam2j0z4b95w477sjr077gas0j1vvr16n4grg8wi";
};
meta.homepage = "https://github.com/MrcJkb/haskell-tools.nvim/";
};
@ -4823,12 +4823,12 @@ final: prev:
mini-nvim = buildVimPluginFrom2Nix {
pname = "mini.nvim";
version = "2023-01-24";
version = "2023-01-30";
src = fetchFromGitHub {
owner = "echasnovski";
repo = "mini.nvim";
rev = "81a575e0c51d4607bf6690f12906c7590d961717";
sha256 = "1lxvcqqixxpw61d0dd8rfn67g6jr7hlj9pj3w4hpl33mw7ji03zy";
rev = "e742f416df94846cb0c5936db46d650ac1339058";
sha256 = "0jxy9pmg8k45wxsk4npp46x2xdwyriimnfd92fvbls2s2px0myc8";
};
meta.homepage = "https://github.com/echasnovski/mini.nvim/";
};
@ -5291,12 +5291,12 @@ final: prev:
neorg = buildVimPluginFrom2Nix {
pname = "neorg";
version = "2023-01-16";
version = "2023-01-29";
src = fetchFromGitHub {
owner = "nvim-neorg";
repo = "neorg";
rev = "4a9a5fe13cd454692fc4db0b27783cd005e6be56";
sha256 = "15a8az9xlcc0h0pw7s8kmd4zm5nx7d0q0j4d192d62mkdqc685mh";
rev = "b977fa0f2069ff71111237df07de2bdeeb2b7079";
sha256 = "04r5pcdkvm9dgfsyhx0skf8nwyf790myrha7rjkqr9cpr707l6mj";
};
meta.homepage = "https://github.com/nvim-neorg/neorg/";
};
@ -5499,8 +5499,8 @@ final: prev:
src = fetchFromGitHub {
owner = "EdenEast";
repo = "nightfox.nvim";
rev = "789b3029d5058e925436ac29eb0521aa4e042b36";
sha256 = "0yg2a3qp4bdr1gv0kkl92qa7s605c652jgkym8hk95jfmiz12hyf";
rev = "aa793975d10dda69817190faea84e28eeb176934";
sha256 = "15ml496n90dd80z4gm09562wzfv8npch3sz0kdv6hjkkgg04p3rw";
};
meta.homepage = "https://github.com/EdenEast/nightfox.nvim/";
};
@ -5567,12 +5567,12 @@ final: prev:
noice-nvim = buildVimPluginFrom2Nix {
pname = "noice.nvim";
version = "2023-01-25";
version = "2023-01-29";
src = fetchFromGitHub {
owner = "folke";
repo = "noice.nvim";
rev = "20f47dcebd24c84650bb8ed57d8349cc53dffd3f";
sha256 = "05ph9hrxl6k6ic6kpghcpygq7pzm4dgzvhr6f0r9ar3b8fanz1n3";
rev = "34f7cf628666c6eb0c93fbe8a0490e977ac78b7b";
sha256 = "0nkk0zji3fdjzjhd5l2lmqb5208mkw08xkgvvxbddsjwgxx3jbg4";
};
meta.homepage = "https://github.com/folke/noice.nvim/";
};
@ -5673,6 +5673,18 @@ final: prev:
meta.homepage = "https://github.com/ChristianChiarulli/nvcode-color-schemes.vim/";
};
nvim-FeMaco-lua = buildVimPluginFrom2Nix {
pname = "nvim-FeMaco.lua";
version = "2022-10-10";
src = fetchFromGitHub {
owner = "AckslD";
repo = "nvim-FeMaco.lua";
rev = "469465fc1adf8bddc2c9bbe549d38304de95e9f7";
sha256 = "1rv3ppjfndi27dbg7dsapxacbal1mj2a9dx2vq0yvi2v1gb97b3x";
};
meta.homepage = "https://github.com/AckslD/nvim-FeMaco.lua/";
};
nvim-ale-diagnostic = buildVimPluginFrom2Nix {
pname = "nvim-ale-diagnostic";
version = "2021-11-06";
@ -5687,24 +5699,24 @@ final: prev:
nvim-autopairs = buildVimPluginFrom2Nix {
pname = "nvim-autopairs";
version = "2023-01-21";
version = "2023-01-30";
src = fetchFromGitHub {
owner = "windwp";
repo = "nvim-autopairs";
rev = "31042a5823b55c4bfb30efcbba2fc1b5b53f90dc";
sha256 = "1jiwwmm87d2i76jgimk40mydsg2jddpl7q9axy94g6411hkdq261";
rev = "5a3523ddb573804752de6c021c5cb82e267b79ca";
sha256 = "1s17rmxgnadz6wbcd21x8504ra8crbxf27qjdxh6b4a1g0w75hy1";
};
meta.homepage = "https://github.com/windwp/nvim-autopairs/";
};
nvim-base16 = buildVimPluginFrom2Nix {
pname = "nvim-base16";
version = "2023-01-11";
version = "2023-01-30";
src = fetchFromGitHub {
owner = "RRethy";
repo = "nvim-base16";
rev = "cf8252058c8fc486bc565a815083a2eb390f7621";
sha256 = "1hcj0k8szin32b2ki6mkqwpckinyca8vpwvd3rmaf597qnk0bv5h";
rev = "d41f301dcd3de51e95d5e1b7737e22a4e1eddd28";
sha256 = "1dlxa4n0xv5zpkpvw06xvbmcyaghs5byrw9xkpv9m3wqk55x395d";
};
meta.homepage = "https://github.com/RRethy/nvim-base16/";
};
@ -5867,12 +5879,12 @@ final: prev:
nvim-dap = buildVimPluginFrom2Nix {
pname = "nvim-dap";
version = "2023-01-28";
version = "2023-01-29";
src = fetchFromGitHub {
owner = "mfussenegger";
repo = "nvim-dap";
rev = "d213b7d5bf0d56b1f47c62a2f5d4ebd202fe0d12";
sha256 = "080pnbnq9ysjqn491y83mxylrgvwbwbh2qvwmcsb0y5kjjq77ix9";
rev = "0e376f00e7fac143e29e1017d2ac2cc3df13d185";
sha256 = "0xdbvbah2zxy27irc4dn9kz7ga5jv88d0z5vsbdgnqpnvv7gzc1c";
};
meta.homepage = "https://github.com/mfussenegger/nvim-dap/";
};
@ -5903,12 +5915,12 @@ final: prev:
nvim-dap-ui = buildVimPluginFrom2Nix {
pname = "nvim-dap-ui";
version = "2023-01-28";
version = "2023-01-29";
src = fetchFromGitHub {
owner = "rcarriga";
repo = "nvim-dap-ui";
rev = "e26fba0562cb9c904f7a6510a94961b82701a16f";
sha256 = "19rvvls95ih4v2wkdyyfzwv8aa4wfw281j325v1sx6fbblfr0ykx";
rev = "395382466f12325919708da238e90add967d0912";
sha256 = "1jpp88lm1fxd21f21rmsysc1h9h943kg1k8mfs5bwmh063pxwpfn";
};
meta.homepage = "https://github.com/rcarriga/nvim-dap-ui/";
};
@ -6095,12 +6107,12 @@ final: prev:
nvim-lint = buildVimPluginFrom2Nix {
pname = "nvim-lint";
version = "2023-01-21";
version = "2023-01-29";
src = fetchFromGitHub {
owner = "mfussenegger";
repo = "nvim-lint";
rev = "57a52fce9b4a045f0b371a4ca5cbb535b9db0bdd";
sha256 = "0bliv6vzgqk6nz0wk334gkbsdmkzxv38rjs0pf7jdk5azvgczslh";
rev = "379be679d3c5f80964bc19131554b846dce5d34e";
sha256 = "019wc4kxdyzpdbjazsy9ji1r0ymgbwx620ghvqw4wdvccyklg5if";
};
meta.homepage = "https://github.com/mfussenegger/nvim-lint/";
};
@ -6251,12 +6263,12 @@ final: prev:
nvim-rename-state = buildVimPluginFrom2Nix {
pname = "nvim-rename-state";
version = "2022-10-16";
version = "2023-01-30";
src = fetchFromGitHub {
owner = "olrtg";
repo = "nvim-rename-state";
rev = "43f2a8eb313eef767f1a28b69758cd86fc221e65";
sha256 = "08q5q7l2l4jvw7yh4zddcczwndcajddbaj3zddwc04ykzlh2ks1f";
rev = "8ba78ea517a605ea1a89bd1ed335886435010882";
sha256 = "15n1xnip4dzil7fh50s2216wbryzv75jggmz4qabdfv0s6zz67n2";
};
meta.homepage = "https://github.com/olrtg/nvim-rename-state/";
};
@ -6359,24 +6371,24 @@ final: prev:
nvim-tree-lua = buildVimPluginFrom2Nix {
pname = "nvim-tree.lua";
version = "2023-01-28";
version = "2023-01-30";
src = fetchFromGitHub {
owner = "nvim-tree";
repo = "nvim-tree.lua";
rev = "e14989c0eaa6f9c299d48f7e45ce1ed04b21180f";
sha256 = "04wx9lcfakg4pa1b3njrld5f59wqzsnvc4pkgvjx39iiis6f4ga8";
rev = "f3b73725c5a007b8195118bec5868c32a5eff81f";
sha256 = "04f95q5w80kpj3f0gygfm4m1f6mdpnbim1fv10mkqiq3gpkxp8mf";
};
meta.homepage = "https://github.com/nvim-tree/nvim-tree.lua/";
};
nvim-treesitter = buildVimPluginFrom2Nix {
pname = "nvim-treesitter";
version = "2023-01-28";
version = "2023-01-30";
src = fetchFromGitHub {
owner = "nvim-treesitter";
repo = "nvim-treesitter";
rev = "c610c78576f372684f42eeaec56d13be2cf304d2";
sha256 = "1xl40cfrs04g4wvysgk5zm928kj9imzbs1zxq0z3xjgzgxbs8c3z";
rev = "adeb6e02d3bd682f7bea99a988b0deadd407e888";
sha256 = "1grgs2a3rps80kmpsa1idfslcmg6zzssqi07g0zzlvrrqf96h36y";
};
meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
};
@ -6900,12 +6912,12 @@ final: prev:
presence-nvim = buildVimPluginFrom2Nix {
pname = "presence.nvim";
version = "2022-11-17";
version = "2023-01-29";
src = fetchFromGitHub {
owner = "andweeb";
repo = "presence.nvim";
rev = "c1c54758824cbecd4e18065d37191f7666fdd097";
sha256 = "0j23gdp29xb1rfb7crr5s1xs61wjzrsxwdpv01s79cjnwcvxzgxz";
rev = "87c857a56b7703f976d3a5ef15967d80508df6e6";
sha256 = "06cql88anhwnwxmssgbzaxwnx9d88mp04rjbh7cgrzr7pff2x6v6";
};
meta.homepage = "https://github.com/andweeb/presence.nvim/";
};
@ -7189,12 +7201,12 @@ final: prev:
rnvimr = buildVimPluginFrom2Nix {
pname = "rnvimr";
version = "2022-12-08";
version = "2023-01-30";
src = fetchFromGitHub {
owner = "kevinhwang91";
repo = "rnvimr";
rev = "64579c485812867bbd7890a55ca93884beb440b6";
sha256 = "0yzy3mq7b7hnnb04z45m4r3hcpf11djv5zxhsyk60pnyvlwrdl7k";
rev = "8e98463b7a940c1ffee1930d18d3c499db366585";
sha256 = "0nlcx5dnzxrv3kdsih411ng90sxlbbfw0xvr3q8x680jxqs3dzky";
};
meta.homepage = "https://github.com/kevinhwang91/rnvimr/";
};
@ -7405,12 +7417,12 @@ final: prev:
sg-nvim = buildVimPluginFrom2Nix {
pname = "sg.nvim";
version = "2023-01-27";
version = "2023-01-30";
src = fetchFromGitHub {
owner = "tjdevries";
repo = "sg.nvim";
rev = "6eb1a0dbff6d52b2f3b5d9789fb7307755c8ea1f";
sha256 = "1pcifz7fjdk2fp9xnmc67h2dbvy7ynvh5m8a8il8chy71sx5jnvi";
rev = "c5e4ab788efeec9453706a4489bcaeaa867aeeb3";
sha256 = "1yd006gykkxddr57mc0mpfqc817akaaaj2cabih9gbdsm7qy131p";
};
meta.homepage = "https://github.com/tjdevries/sg.nvim/";
};
@ -7876,12 +7888,12 @@ final: prev:
tabby-nvim = buildVimPluginFrom2Nix {
pname = "tabby.nvim";
version = "2022-12-22";
version = "2023-01-30";
src = fetchFromGitHub {
owner = "nanozuki";
repo = "tabby.nvim";
rev = "187b604da1a6452c700ce21fdf340ffbea956298";
sha256 = "0b61qmqzl8vqryy58p9688vhxwhfby6qsygi3720hvvgizxk9jka";
rev = "9065c65138b59ea8182024216a5bbcf0d77baebb";
sha256 = "0jfgg02l2872ickl3bwsm6xyh5nl5sqgn3yfk9kn45aba3kd7nvm";
};
meta.homepage = "https://github.com/nanozuki/tabby.nvim/";
};
@ -8286,12 +8298,12 @@ final: prev:
telescope-nvim = buildVimPluginFrom2Nix {
pname = "telescope.nvim";
version = "2023-01-22";
version = "2023-01-30";
src = fetchFromGitHub {
owner = "nvim-telescope";
repo = "telescope.nvim";
rev = "dce1156ca103b8222e4abbfc63f9c6887abf5ec6";
sha256 = "194jkn7a4xh5733n8n1n8n9mwibvadkxj6vw44xvwd01w0db6zhx";
rev = "d5f6c0911d6066397f1757c6b55a8bd6851bd6dc";
sha256 = "0s6s7g1vzgk1wz6d2vqxh967da41hym9ignwi5x5khyq3xzgdf6v";
};
meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/";
};
@ -8563,12 +8575,12 @@ final: prev:
treesj = buildVimPluginFrom2Nix {
pname = "treesj";
version = "2023-01-20";
version = "2023-01-30";
src = fetchFromGitHub {
owner = "Wansmer";
repo = "treesj";
rev = "15a2262dfcd7848fbafa5afea8adec3941b83c12";
sha256 = "1jv13wvg6jcca3cw5swirna0jq5m3mj0pq7q113cpy11hd74bzh7";
rev = "2723d63aed0ca4564565cc2949e0d6d2bc2b8287";
sha256 = "1bxzww9qxb442ch3i7m4bw58hn3l9lzckr0vnqp9hh55vqh7c3xk";
};
meta.homepage = "https://github.com/Wansmer/treesj/";
};
@ -9127,12 +9139,12 @@ final: prev:
vim-airline = buildVimPluginFrom2Nix {
pname = "vim-airline";
version = "2023-01-22";
version = "2023-01-29";
src = fetchFromGitHub {
owner = "vim-airline";
repo = "vim-airline";
rev = "c7460aa8836bcb05cf32331cc751739ba9392ae7";
sha256 = "1w2r5vwll0mfmviz7s9r6n00lr0b1fav7qmkj7zbvxh8hrf2z80b";
rev = "18b85395d32e235128b85a059dd60b562f9dbfe1";
sha256 = "0212cazr83r9n07gmm0rbzp7mq0lh88iwbcqsdza3nw98rqp3i5z";
};
meta.homepage = "https://github.com/vim-airline/vim-airline/";
};
@ -9523,12 +9535,12 @@ final: prev:
vim-clap = buildVimPluginFrom2Nix {
pname = "vim-clap";
version = "2023-01-27";
version = "2023-01-30";
src = fetchFromGitHub {
owner = "liuchengxu";
repo = "vim-clap";
rev = "c90b57f153fed630a6c881e6e04b2c08a2cdd4be";
sha256 = "0ncgqxvx3m6drbshmnxz1hlmjr4dsdhpshiwi9ssq3hnqr5j58a0";
rev = "6a90a1db48569814e73d201c95d90f38ae4aa27f";
sha256 = "0svshn3g4w86wizxc7nybqgwkbr5nfs454vanr8q1z7ypgqax99h";
};
meta.homepage = "https://github.com/liuchengxu/vim-clap/";
};
@ -10255,12 +10267,12 @@ final: prev:
vim-flog = buildVimPluginFrom2Nix {
pname = "vim-flog";
version = "2023-01-28";
version = "2023-01-29";
src = fetchFromGitHub {
owner = "rbong";
repo = "vim-flog";
rev = "a5f6e41fc5b51ff5185d75c44bd9279492eec8a1";
sha256 = "0v6yxx7j7lw7zp5wqhkjdbnh8wqyhdby2jfxm0wgz0m4a8w8d5k9";
rev = "2ba8af2c9682e3560db5b813d10acf3ba3415bc1";
sha256 = "0rnyk3q6zkd6b9xi5q61jr8885mqx7xz0v7yyxb3y37lrl0wfz66";
};
meta.homepage = "https://github.com/rbong/vim-flog/";
};
@ -10844,12 +10856,12 @@ final: prev:
vim-jack-in = buildVimPluginFrom2Nix {
pname = "vim-jack-in";
version = "2022-04-03";
version = "2023-01-29";
src = fetchFromGitHub {
owner = "clojure-vim";
repo = "vim-jack-in";
rev = "5467e00e26f15680b0a7998f8aa20d5a7dd44cd5";
sha256 = "1wi379l8d793v6hjx11v0dhgdn8a9ihx64gv51v9wpmjlvp9xbzd";
rev = "c7f73e6788b5a97ac700f6c1fe09c26ebfa324d0";
sha256 = "1f95877cgv9mvln6v78sgccwdfgvbaga9wbyckxw8rrbnrikwxam";
};
meta.homepage = "https://github.com/clojure-vim/vim-jack-in/";
};
@ -12791,12 +12803,12 @@ final: prev:
vim-test = buildVimPluginFrom2Nix {
pname = "vim-test";
version = "2023-01-10";
version = "2023-01-30";
src = fetchFromGitHub {
owner = "vim-test";
repo = "vim-test";
rev = "ca2502545a8c563e15f556d0eb8a59e0f74d2864";
sha256 = "1ijfdhnsr3dlp5bw3xarp2nxkavab59lnk563gvjcw74889alip9";
rev = "048f15403d9edfa513a50fafd7b107306c5512e4";
sha256 = "07vjls2cgrnrqb84vc3g00rc3c65xpvrnxyzwjm1kaprzw70wwmm";
};
meta.homepage = "https://github.com/vim-test/vim-test/";
};
@ -12971,12 +12983,12 @@ final: prev:
vim-tpipeline = buildVimPluginFrom2Nix {
pname = "vim-tpipeline";
version = "2023-01-01";
version = "2023-01-29";
src = fetchFromGitHub {
owner = "vimpostor";
repo = "vim-tpipeline";
rev = "86f37afec5cefd75baaebf8900889dabb9789a2c";
sha256 = "133vfipflvalyp373lmqza5p8dhh2qnnvlh5y2bsxh5abjk1jml1";
rev = "6be01c509779b1c8a3d1747677a9203419bd11c2";
sha256 = "17ifpbrcyfs8szdsk3j59916lsbal72mysk4ksgpw0q1paqzk75s";
};
meta.homepage = "https://github.com/vimpostor/vim-tpipeline/";
};
@ -13187,12 +13199,12 @@ final: prev:
vim-wakatime = buildVimPluginFrom2Nix {
pname = "vim-wakatime";
version = "2023-01-10";
version = "2023-01-30";
src = fetchFromGitHub {
owner = "wakatime";
repo = "vim-wakatime";
rev = "b487cccc0e920e4fdf84f72d2fc1c86ef8dc3bdc";
sha256 = "13741pp29f2pqr44sslh9fl49aw7a19l3ff78k1qm4i97ms4r0xc";
rev = "413e9c4e44baaeb60beded33e26c37d9d22130b0";
sha256 = "13i45y66ch7wkvrc3i4m77xhgr0klrbancd6csxn5hl2qwgn6122";
};
meta.homepage = "https://github.com/wakatime/vim-wakatime/";
};
@ -13801,12 +13813,12 @@ final: prev:
zenbones-nvim = buildVimPluginFrom2Nix {
pname = "zenbones.nvim";
version = "2023-01-20";
version = "2023-01-30";
src = fetchFromGitHub {
owner = "mcchrish";
repo = "zenbones.nvim";
rev = "13ed6d0493a1d5140995c4456ced54d0aa984f6a";
sha256 = "1k894mxc7v4fp5zr80wbfk18zd5shcfik0j7mv1cs8c950xmahjl";
rev = "910b8c240c6aaf5263db038db81c538602c766c3";
sha256 = "1r84wgz4p9zvpnz247xk0svq6r92ir3pgdlsbzf73qjwgph94q7k";
};
meta.homepage = "https://github.com/mcchrish/zenbones.nvim/";
};
@ -13885,12 +13897,12 @@ final: prev:
catppuccin-nvim = buildVimPluginFrom2Nix {
pname = "catppuccin-nvim";
version = "2023-01-21";
version = "2023-01-29";
src = fetchFromGitHub {
owner = "catppuccin";
repo = "nvim";
rev = "6368edcd0b5e5cb5d9fb7cdee9d62cffe3e14f0e";
sha256 = "1d1bb9js2i58qn2b8zjhqbawlrbjk3sn91cpkjaw43wldgm3samj";
rev = "491f0a58ba8901258f84de94d848811a6eaf5b98";
sha256 = "0xqvi82z2mhjb1dc4xzcmqn8h6psz1591dqr5wn15kli9vrn00id";
};
meta.homepage = "https://github.com/catppuccin/nvim/";
};
@ -13957,12 +13969,12 @@ final: prev:
lspsaga-nvim-original = buildVimPluginFrom2Nix {
pname = "lspsaga-nvim-original";
version = "2023-01-29";
version = "2023-01-30";
src = fetchFromGitHub {
owner = "glepnir";
repo = "lspsaga.nvim";
rev = "e698de51356eeda94907c179789f5c2f0112c185";
sha256 = "0gw3z7krmag9bgcqyc1j84jv58wpmm34l018x5svnmyy5v15ayw4";
rev = "705a8e9ae28a60a0ccb219c79085d57fdcd1b2a8";
sha256 = "0w541cp9kqs7mfaq43r66x1dhd1hwmxpdjsxg1v3402xgsxl6hx4";
};
meta.homepage = "https://github.com/glepnir/lspsaga.nvim/";
};

View file

@ -126,12 +126,12 @@
};
capnp = buildGrammar {
language = "capnp";
version = "62057f5";
version = "740c757";
src = fetchFromGitHub {
owner = "amaanq";
repo = "tree-sitter-capnp";
rev = "62057f5d3a57ac44ca3d773623f5585b98ae2ce7";
hash = "sha256-EsqsYnetQBpANCrOzk1U5Tg2gfJzFSax9/ia4A8x7ic=";
rev = "740c757b9585925b1ed27cef7d61ac39b7824304";
hash = "sha256-0zCSWV3afsEIhN6XavMnn4LrLenjerhdnTfQ/EaL4aA=";
};
meta.homepage = "https://github.com/amaanq/tree-sitter-capnp";
};
@ -214,12 +214,12 @@
};
cuda = buildGrammar {
language = "cuda";
version = "de20daa";
version = "98265a0";
src = fetchFromGitHub {
owner = "theHamsta";
repo = "tree-sitter-cuda";
rev = "de20daa547344bec47d89e55a37fb9ab0706d8cc";
hash = "sha256-gZctMdfwDCJEFNPKWLPr546V24clnIXUdiz4U7qISKY=";
rev = "98265a0a190c116234da73240ac8e373833ff5f7";
hash = "sha256-AOZJ29JELZi8Jafd4StXVY9gCKZj8y2nx1Z8XVlYV9E=";
};
meta.homepage = "https://github.com/theHamsta/tree-sitter-cuda";
};
@ -336,6 +336,17 @@
};
meta.homepage = "https://github.com/elm-tooling/tree-sitter-elm";
};
elsa = buildGrammar {
language = "elsa";
version = "86fb3db";
src = fetchFromGitHub {
owner = "glapa-grossklag";
repo = "tree-sitter-elsa";
rev = "86fb3dbe8462f299dfc9a93c718a11363d69e90f";
hash = "sha256-OL3FJTwBkCIXdhqkSbn7BBiTylmhOC3e5KE97SfUpyA=";
};
meta.homepage = "https://github.com/glapa-grossklag/tree-sitter-elsa";
};
elvish = buildGrammar {
language = "elvish";
version = "f32711e";
@ -813,12 +824,12 @@
};
kdl = buildGrammar {
language = "kdl";
version = "3a67244";
version = "f83f394";
src = fetchFromGitHub {
owner = "amaanq";
repo = "tree-sitter-kdl";
rev = "3a67244a48e9446248fc48117afe11dab19b030a";
hash = "sha256-mq+aG0C71b9OSug7chtopipVm1OJNLijmwe/PNb2ais=";
rev = "f83f3943568c7e7b4f5e0de1b04d722223bd4d80";
hash = "sha256-BakY6V4A2N/ZZCkyr7KU04/DWeGTAkkJua5TyZ6uNW4=";
};
meta.homepage = "https://github.com/amaanq/tree-sitter-kdl";
};
@ -912,24 +923,24 @@
};
markdown = buildGrammar {
language = "markdown";
version = "b795aa9";
version = "63cda48";
src = fetchFromGitHub {
owner = "MDeiml";
repo = "tree-sitter-markdown";
rev = "b795aa9893e4417609cf03723fe1e94e547ccfa4";
hash = "sha256-TfQoNPZd6OBOi/E2anJSpjLg9MwQQjix7d7rIL92SEw=";
rev = "63cda483a37c91eae817f33bc55680f228845566";
hash = "sha256-1GJsg9R5fDWbbeLWVjLG0vQ2FCg0qiG3NRNEFZm3lqg=";
};
location = "tree-sitter-markdown";
meta.homepage = "https://github.com/MDeiml/tree-sitter-markdown";
};
markdown_inline = buildGrammar {
language = "markdown_inline";
version = "b795aa9";
version = "63cda48";
src = fetchFromGitHub {
owner = "MDeiml";
repo = "tree-sitter-markdown";
rev = "b795aa9893e4417609cf03723fe1e94e547ccfa4";
hash = "sha256-TfQoNPZd6OBOi/E2anJSpjLg9MwQQjix7d7rIL92SEw=";
rev = "63cda483a37c91eae817f33bc55680f228845566";
hash = "sha256-1GJsg9R5fDWbbeLWVjLG0vQ2FCg0qiG3NRNEFZm3lqg=";
};
location = "tree-sitter-markdown-inline";
meta.homepage = "https://github.com/MDeiml/tree-sitter-markdown";
@ -1302,12 +1313,12 @@
};
scala = buildGrammar {
language = "scala";
version = "b7cebd2";
version = "628e0aa";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-scala";
rev = "b7cebd27eeb9c46082105938cae0acaaace573e3";
hash = "sha256-E5RwaeFmYmvEAV1W+pMNseMuVCef++xZEFssqNHrfug=";
rev = "628e0aab6c2f7d31cf3b7d730f964d4fd9b340ee";
hash = "sha256-LbVebyhVPKobPxosLDl21NGGtNlZ5gUhJN6fGX87iak=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-scala";
};
@ -1483,12 +1494,12 @@
};
thrift = buildGrammar {
language = "thrift";
version = "a4e433e";
version = "634a73f";
src = fetchFromGitHub {
owner = "duskmoon314";
repo = "tree-sitter-thrift";
rev = "a4e433e7198c811d44164d50c491c82ec533dfdc";
hash = "sha256-Nnmg8qWxPmDvyYkWpb9GvbaJHxzCWED7h+bkI/DLSWg=";
rev = "634a73fd2c80e169f302917ba665c07ec0b6ff7b";
hash = "sha256-pB7zd48aonYYKdvD3+35zsD76+F/lqBYveFBxBQISvA=";
};
meta.homepage = "https://github.com/duskmoon314/tree-sitter-thrift";
};

View file

@ -753,7 +753,7 @@ self: super: {
pname = "sg-nvim-rust";
inherit (old) version src;
cargoHash = "sha256-lrVwmJqfERq/tj4u+kRJ0kgbPQaFNAR6M3d4GqIJJyU=";
cargoHash = "sha256-nm9muH4RC92HdUiytmcW0WNyMQJcIH6dgwjUrwcqq4I=";
nativeBuildInputs = [ pkg-config ];
@ -1083,7 +1083,7 @@ self: super: {
libiconv
];
cargoSha256 = "sha256-fPVLVJXvC5blIjZ3Qyc/lxq+V+qoGrIKrXEzwdNpdHc=";
cargoSha256 = "sha256-jpO26OXaYcWirQ5tTKIwlva7dHIfdmnruF4WdwSq0nI=";
};
in
''

View file

@ -478,6 +478,7 @@ https://github.com/jose-elias-alvarez/null-ls.nvim/,,
https://github.com/nacro90/numb.nvim/,,
https://github.com/ChristianChiarulli/nvcode-color-schemes.vim/,,
https://github.com/catppuccin/nvim/,,catppuccin-nvim
https://github.com/AckslD/nvim-FeMaco.lua/,HEAD,
https://github.com/nathanmsmith/nvim-ale-diagnostic/,,
https://github.com/windwp/nvim-autopairs/,,
https://github.com/RRethy/nvim-base16/,,

View file

@ -116,5 +116,25 @@ stdenv.mkDerivation rec {
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ ];
license = licenses.asl20;
knownVulnerabilities = [
"CVE-2018-16328"
"CVE-2018-16329"
"CVE-2019-13136"
"CVE-2019-17547"
"CVE-2020-25663"
"CVE-2020-27768"
"CVE-2021-3596"
"CVE-2021-3596"
"CVE-2021-3596"
"CVE-2021-3610"
"CVE-2021-20244"
"CVE-2021-20244"
"CVE-2021-20310"
"CVE-2021-20311"
"CVE-2021-20312"
"CVE-2021-20313"
"CVE-2022-0284"
"CVE-2022-2719"
];
};
}

View file

@ -3,10 +3,10 @@
rec {
firefox = buildMozillaMach rec {
pname = "firefox";
version = "109.0";
version = "109.0.1";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "9e2b6e20353e414da3d2eb9dcd3d77757664a98a4438a8e84f19a1c7c203e40136b08bf96a458fac05ddc627347217d32f1f6337980c5ca918874993657a58e7";
sha512 = "58b21449a16a794152888f50e7fe9488c28739a7e067729acdc1de9f2e8384e6316cffdfe89f690f0d211189668d940825b4f8a26b8100468ae120772df99d72";
};
meta = {

View file

@ -9,8 +9,8 @@ let
src = fetchFromGitHub {
owner = "OCamlPro";
repo = pname;
rev = version;
sha256 = "sha256-8pJ/1UAbheQaLFs5Uubmmf5D0oFJiPxF6e2WTZgRyAc=";
rev = "refs/tags/${version}";
hash = "sha256-8pJ/1UAbheQaLFs5Uubmmf5D0oFJiPxF6e2WTZgRyAc=";
};
in

View file

@ -1,23 +1,26 @@
{ lib, fetchurl }:
{ lib, stdenvNoCC, fetchurl }:
let
stdenvNoCC.mkDerivation rec {
pname = "arkpandora";
version = "2.04";
in fetchurl {
name = "arkpandora-${version}";
urls = [
"http://distcache.FreeBSD.org/ports-distfiles/ttf-arkpandora-${version}.tgz"
"ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ttf-arkpandora-${version}.tgz"
"http://www.users.bigpond.net.au/gavindi/ttf-arkpandora-${version}.tgz"
];
downloadToTemp = true;
recursiveHash = true;
postFetch = ''
tar -xzvf $downloadedFile --strip-components=1
src = fetchurl {
urls = [
"http://distcache.FreeBSD.org/ports-distfiles/ttf-arkpandora-${version}.tgz"
"ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ttf-arkpandora-${version}.tgz"
"http://www.users.bigpond.net.au/gavindi/ttf-arkpandora-${version}.tgz"
];
hash = "sha256-ofyVPJjQD8w+8WgETF2UcJlfbSsKQgBsH3ob+yjvrpo=";
};
installPhase = ''
runHook preInstall
mkdir -p $out/share/fonts/truetype
cp *.ttf $out/share/fonts/truetype
runHook postInstall
'';
sha256 = "177k0fbs0787al0snkl8w68d2qkg7snnnq6qp28j9s98vaabs04k";
meta = {
description = "Font, metrically identical to Arial and Times New Roman";

View file

@ -1,23 +1,24 @@
{ lib, fetchurl, unzip }:
{ lib, stdenvNoCC, fetchurl, unzip }:
let
stdenvNoCC.mkDerivation rec {
pname = "ccsymbols";
version = "2020-04-19";
in
fetchurl rec {
name = "${pname}-${version}";
src = fetchurl {
url = "https://www.ctrl.blog/file/${version}_cc-symbols.zip";
hash = "sha256-hkARhb8T6VgGAybYkVuPuebjhuk1dwiBJ1bZMwvYpMY=";
};
url = "https://www.ctrl.blog/file/${version}_cc-symbols.zip";
sha256 = "sha256-mrNgTS6BAVJrIz9fHOjf8pkSbZtZ55UjyoL9tQ1fiA8=";
recursiveHash = true;
sourceRoot = ".";
nativeBuildInputs = [ unzip ];
downloadToTemp = true;
postFetch = ''
mkdir -p "$out/share/fonts/ccsymbols"
unzip -d "$out/share/fonts/ccsymbols" "$downloadedFile"
installPhase = ''
runHook preInstall
install -Dm644 CCSymbols.* -t $out/share/fonts/ccsymbols
runHook postInstall
'';
passthru = { inherit pname version; };

View file

@ -1,21 +1,24 @@
{ lib, fetchurl }:
{ lib, stdenvNoCC, fetchurl }:
let
stdenvNoCC.mkDerivation rec {
pname = "cnstrokeorder";
version = "0.0.4.7";
in fetchurl {
name = "cnstrokeorder-${version}";
url = "http://rtega.be/chmn/CNstrokeorder-${version}.ttf";
src = fetchurl {
url = "http://rtega.be/chmn/CNstrokeorder-${version}.ttf";
hash = "sha256-YYtOcUvt1V0DwAs/vf9KltcmYCFJNirvwjGyOK4JpIY=";
};
recursiveHash = true;
downloadToTemp = true;
dontUnpack = true;
postFetch = ''
install -D $downloadedFile $out/share/fonts/truetype/CNstrokeorder-${version}.ttf
installPhase = ''
runHook preInstall
install -D $src $out/share/fonts/truetype/CNstrokeorder-${version}.ttf
runHook postInstall
'';
sha256 = "0cizgfdgbq9av5c8234mysr2q54iw9pkxrmq5ga8gv32hxhl5bx4";
meta = with lib; {
description = "Chinese font that shows stroke order for HSK 1-4";
homepage = "http://rtega.be/chmn/index.php?subpage=68";

View file

@ -1,22 +1,23 @@
{ lib, fetchurl }:
{ lib, stdenvNoCC, fetchurl }:
let
stdenvNoCC.mkDerivation rec {
pname = "curie";
version = "1.0";
in fetchurl rec {
name = "curie-${version}";
url = "https://github.com/NerdyPepper/curie/releases/download/v${version}/curie-v${version}.tar.gz";
src = fetchurl {
url = "https://github.com/NerdyPepper/curie/releases/download/v${version}/curie-v${version}.tar.gz";
hash = "sha256-B89GNbOmm3lY/cRWQJEFu/5morCM/WrRQb/m6covbt8=";
};
downloadToTemp = true;
sourceRoot = ".";
recursiveHash = true;
installPhase = ''
runHook preInstall
sha256 = "sha256-twPAzsbTveYW0rQd7FYZz5AMZgvPbNmn5c7Nfzn7B0A=";
postFetch = ''
tar xzf $downloadedFile
mkdir -p $out/share/fonts/misc
install *.otb $out/share/fonts/misc
runHook postInstall
'';
meta = with lib; {

View file

@ -1,22 +1,21 @@
{ lib, fetchurl }:
{ lib, stdenvNoCC, fetchurl }:
let
stdenvNoCC.mkDerivation rec {
pname = "edwin";
version = "0.52";
in fetchurl {
name = "edwin-${version}";
url = "https://github.com/MuseScoreFonts/Edwin/archive/refs/tags/v${version}.tar.gz";
src = fetchurl {
url = "https://github.com/MuseScoreFonts/Edwin/archive/refs/tags/v${version}.tar.gz";
hash = "sha256-7yQUiLZupGc+RCZdhyO08JWqhROYqMOZ9wRdGJ6uixU=";
};
downloadToTemp = true;
installPhase = ''
runHook preInstall
recursiveHash = true;
sha256 = "sha256-e0ADK72ECl+QMvLWtFJfeHBmuEwzr9M+Kqvkd5Z2mmo=";
postFetch = ''
tar xzf $downloadedFile
mkdir -p $out/share/fonts/opentype
install Edwin-${version}/*.otf $out/share/fonts/opentype
install *.otf $out/share/fonts/opentype
runHook postInstall
'';
meta = with lib; {

View file

@ -1,20 +1,24 @@
{ lib, fetchurl } :
{ lib, stdenvNoCC, fetchurl }:
let
stdenvNoCC.mkDerivation rec {
pname = "fixedsys-excelsior";
version = "3.00";
in fetchurl rec {
name = "fixedsys-excelsior-${version}";
url = "https://raw.githubusercontent.com/chrissimpkins/codeface/master/fonts/fixed-sys-excelsior/FSEX300.ttf";
src = fetchurl {
url = "https://raw.githubusercontent.com/chrissimpkins/codeface/master/fonts/fixed-sys-excelsior/FSEX300.ttf";
hash = "sha256-buDzVzvF4z6TthbvYoL0m8DiJ6Map1Osdu0uPz0CBW0=";
};
downloadToTemp = true;
recursiveHash = true;
postFetch = ''
install -m444 -D $downloadedFile $out/share/fonts/truetype/${name}.ttf
dontUnpack = true;
installPhase = ''
runHook preInstall
install -m444 -D $src $out/share/fonts/truetype/${pname}-${version}.ttf
runHook postInstall
'';
sha256 = "32d6f07f1ff08c764357f8478892b2ba5ade23427af99759f34a0ba24bcd2e37";
meta = {
homepage = "http://www.fixedsysexcelsior.com/";
description = "Pan-unicode version of Fixedsys, a classic DOS font";

View file

@ -1,17 +1,22 @@
{ lib, fetchurl, writeScript }:
{ lib, stdenvNoCC, fetchurl, writeScript }:
let
stdenvNoCC.mkDerivation rec {
pname = "i.ming";
version = "8.00";
in
fetchurl {
name = "i.ming-${version}";
url = "https://raw.githubusercontent.com/ichitenfont/I.Ming/${version}/${version}/I.Ming-${version}.ttf";
hash = "sha256-JGu9H0+IdJL6QQtLwvqlFLEaJdq1JVRiqLm5zptwjyE=";
recursiveHash = true;
downloadToTemp = true;
postFetch = ''
install -DT -m444 $downloadedFile $out/share/fonts/truetype/I.Ming/I.Ming.ttf
src = fetchurl {
url = "https://raw.githubusercontent.com/ichitenfont/I.Ming/${version}/${version}/I.Ming-${version}.ttf";
hash = "sha256-6345629OdKz6lTnD3Vjtp6DzsYy0ojaL0naXGrtdZvw=";
};
dontUnpack = true;
installPhase = ''
runHook preInstall
install -DT -m444 $src $out/share/fonts/truetype/I.Ming/I.Ming.ttf
runHook postInstall
'';
passthru = {

View file

@ -1,20 +1,24 @@
{ lib, fetchurl }:
{ lib, stdenvNoCC, fetchurl }:
let
stdenvNoCC.mkDerivation rec {
pname = "last-resort";
version = "15.000";
in fetchurl {
name = "last-resort-${version}";
url = "https://github.com/unicode-org/last-resort-font/releases/download/${version}/LastResortHE-Regular.ttf";
downloadToTemp = true;
src = fetchurl {
url = "https://github.com/unicode-org/last-resort-font/releases/download/${version}/LastResortHE-Regular.ttf";
hash = "sha256-Qyo/tuBvBHnG/LW8sUAy62xpeqlXfyfwjUCbr4vJEag=";
};
postFetch = ''
install -D -m 0644 $downloadedFile $out/share/fonts/truetype/LastResortHE-Regular.ttf
dontUnpack = true;
installPhase = ''
runHook preInstall
install -D -m 0644 $src $out/share/fonts/truetype/LastResortHE-Regular.ttf
runHook postInstall
'';
recursiveHash = true;
sha256 = "sha256-mkRIA6Hajl5e9j/qb3WSKaIaHmekjl5wGUSszWMfmjw=";
meta = with lib; {
description = "Fallback font of last resort";
homepage = "https://github.com/unicode-org/last-resort-font";

View file

@ -1,18 +1,20 @@
{ lib, fetchurl }:
{ lib, stdenvNoCC, fetchurl }:
let
stdenvNoCC.mkDerivation rec {
pname = "libertinus";
version = "7.040";
in fetchurl rec {
name = "libertinus-${version}";
url = "https://github.com/alerque/libertinus/releases/download/v${version}/Libertinus-${version}.tar.xz";
sha256 = "0z658r88p52dyrcslv0wlccw0sw7m5jz8nbqizv95nf7bfw96iyk";
downloadToTemp = true;
recursiveHash = true;
src = fetchurl {
url = "https://github.com/alerque/libertinus/releases/download/v${version}/Libertinus-${version}.tar.xz";
hash = "sha256-f+nwInItHBzGfcLCihELO7VbrjV1GWFg0kIsiTM7OFA=";
};
installPhase = ''
runHook preInstall
postFetch = ''
tar xf $downloadedFile --strip=1
install -m644 -Dt $out/share/fonts/opentype static/OTF/*.otf
runHook postInstall
'';
meta = with lib; {

View file

@ -1,16 +1,22 @@
{ lib, fetchurl }:
{ lib, stdenvNoCC, fetchurl }:
fetchurl {
stdenvNoCC.mkDerivation {
pname = "linja-pi-pu-lukin";
version = "unstable-2021-10-29";
url = "https://web.archive.org/web/20211029000000/https://jansa-tp.github.io/linja-pi-pu-lukin/PuLukin.otf";
hash = "sha256-VPdrMHWpiokFYON4S8zT+pSs4TsB17S8TZRtkjqIqU8=";
src = fetchurl {
url = "https://web.archive.org/web/20211029000000/https://jansa-tp.github.io/linja-pi-pu-lukin/PuLukin.otf";
hash = "sha256-Mf7P9fLGiG7L555Q3wRaI/PRv/TIs0njLq2IzIbc5Wo=";
};
downloadToTemp = true;
recursiveHash = true;
postFetch = ''
install -D $downloadedFile $out/share/fonts/opentype/linja-pi-pu-lukin.otf
dontUnpack = true;
installPhase = ''
runHook preInstall
install -D $src $out/share/fonts/opentype/linja-pi-pu-lukin.otf
runHook postInstall
'';
meta = with lib; {

View file

@ -230,15 +230,22 @@ rec {
pname = "noto-fonts-emoji-blob-bin";
version = "14.0.1";
in
fetchurl {
name = "${pname}-${version}";
url = "https://github.com/C1710/blobmoji/releases/download/v${version}/Blobmoji.ttf";
sha256 = "sha256-wSH9kRJ8y2i5ZDqzeT96dJcEJnHDSpU8bOhmxaT+UCg=";
stdenvNoCC.mkDerivation {
inherit pname version;
downloadToTemp = true;
recursiveHash = true;
postFetch = ''
install -Dm 444 $downloadedFile $out/share/fonts/blobmoji/Blobmoji.ttf
src = fetchurl {
url = "https://github.com/C1710/blobmoji/releases/download/v${version}/Blobmoji.ttf";
hash = "sha256-w9s7uF6E6nomdDmeKB4ATcGB/5A4sTwDvwHT3YGXz8g=";
};
dontUnpack = true;
installPhase = ''
runHook preInstall
install -Dm 444 $src $out/share/fonts/blobmoji/Blobmoji.ttf
runHook postInstall
'';
meta = with lib; {

View file

@ -1,21 +1,21 @@
{ lib, fetchurl }:
{ lib, stdenvNoCC, fetchurl }:
let
stdenvNoCC.mkDerivation rec {
pname = "open-fonts";
version = "0.7.0";
in
fetchurl {
name = "${pname}-${version}";
url = "https://github.com/kiwi0fruit/open-fonts/releases/download/${version}/open-fonts.tar.xz";
downloadToTemp = true;
recursiveHash = true;
sha256 = "sha256-bSP9Flotoo3E5vRU3eKOUAPD2fmkWseWYWG4y0S07+4=";
src = fetchurl {
url = "https://github.com/kiwi0fruit/open-fonts/releases/download/${version}/open-fonts.tar.xz";
hash = "sha256-NJKbdrvgZz9G7mjAJYzN7rU/fo2xRFZA2BbQ+A56iPw=";
};
installPhase = ''
runHook preInstall
postFetch = ''
tar xf $downloadedFile
mkdir -p $out/share/fonts/truetype
install open-fonts/*.ttf $out/share/fonts/truetype
install *.ttf $out/share/fonts/truetype
runHook postInstall
'';
meta = with lib; {

View file

@ -1,29 +1,30 @@
{ lib, fetchurl }:
{ lib, stdenvNoCC, fetchurl }:
let
stdenvNoCC.mkDerivation {
pname = "pecita";
version = "5.4";
in
fetchurl {
name = "pecita-${version}";
src = fetchurl {
url = "http://pecita.eu/b/Pecita.otf";
hash = "sha256-D9IZ+p4UFHUNt9me7D4vv0x6rMK9IaViKPliCEyX6t4=";
};
url = "http://pecita.eu/b/Pecita.otf";
dontUnpack = true;
downloadToTemp = true;
installPhase = ''
runHook preInstall
postFetch = ''
mkdir -p $out/share/fonts/opentype
cp -v $downloadedFile $out/share/fonts/opentype/Pecita.otf
'';
cp -v $src $out/share/fonts/opentype/Pecita.otf
recursiveHash = true;
sha256 = "0pwm20f38lcbfkdqkpa2ydpc9kvmdg0ifc4h2dmipsnwbcb5rfwm";
runHook postInstall
'';
meta = with lib; {
homepage = "http://pecita.eu/police-en.php";
description = "Handwritten font with connected glyphs";
license = licenses.ofl;
platforms = platforms.all;
maintainers = [maintainers.rycee];
maintainers = [ maintainers.rycee ];
};
}

View file

@ -1,21 +1,27 @@
{ lib, fetchurl, libarchive }:
{ lib, stdenvNoCC, fetchurl, p7zip }:
let
stdenvNoCC.mkDerivation rec {
pname = "sarasa-gothic";
version = "0.38.0";
in fetchurl {
name = "sarasa-gothic-${version}";
# Use the 'ttc' files here for a smaller closure size.
# (Using 'ttf' files gives a closure size about 15x larger, as of November 2021.)
url = "https://github.com/be5invis/Sarasa-Gothic/releases/download/v${version}/sarasa-gothic-ttc-${version}.7z";
sha256 = "sha256-lGkb3e2EFHkDLm+/KArfOQ50qBFRThlpcID06g0t4aI=";
src = fetchurl {
# Use the 'ttc' files here for a smaller closure size.
# (Using 'ttf' files gives a closure size about 15x larger, as of November 2021.)
url = "https://github.com/be5invis/Sarasa-Gothic/releases/download/v${version}/sarasa-gothic-ttc-${version}.7z";
hash = "sha256-UXWstk1vIoaFqa8nVxfJcAtN7BzWevzgfMx1gyXu0k8=";
};
recursiveHash = true;
downloadToTemp = true;
sourceRoot = ".";
nativeBuildInputs = [ p7zip ];
installPhase = ''
runHook preInstall
postFetch = ''
mkdir -p $out/share/fonts/truetype
${libarchive}/bin/bsdtar -xf $downloadedFile -C $out/share/fonts/truetype
cp *.ttc $out/share/fonts/truetype
runHook postInstall
'';
meta = with lib; {

View file

@ -1,25 +1,24 @@
{ lib, fetchurl }:
{ lib, stdenvNoCC, fetchurl }:
let
stdenvNoCC.mkDerivation rec {
pname = "scientifica";
version = "2.3";
in fetchurl rec {
name = "scientifica-${version}";
url = "https://github.com/NerdyPepper/scientifica/releases/download/v${version}/scientifica.tar";
src = fetchurl {
url = "https://github.com/NerdyPepper/scientifica/releases/download/v${version}/scientifica.tar";
hash = "sha256-8IV4aaDoRsbxddy4U90fEZ6henUhjmO38HNtWo4ein8=";
};
downloadToTemp = true;
installPhase = ''
runHook preInstall
recursiveHash = true;
sha256 = "sha256-pVWkj/2lFpmWk0PPDrIMU4Gey7/m/9tzUsuD3ZDUAdc=";
postFetch = ''
tar xf $downloadedFile
mkdir -p $out/share/fonts/truetype
mkdir -p $out/share/fonts/misc
install scientifica/ttf/*.ttf $out/share/fonts/truetype
install scientifica/otb/*.otb $out/share/fonts/misc
install scientifica/bdf/*.bdf $out/share/fonts/misc
install ttf/*.ttf $out/share/fonts/truetype
install otb/*.otb $out/share/fonts/misc
install bdf/*.bdf $out/share/fonts/misc
runHook postInstall
'';
meta = with lib; {

View file

@ -1,25 +1,31 @@
{ lib, fetchurl, xorg }:
{ lib, stdenvNoCC, fetchurl, xorg }:
let
stdenvNoCC.mkDerivation rec {
pname = "spleen";
version = "1.9.1";
in fetchurl {
name = "${pname}-${version}";
url = "https://github.com/fcambus/spleen/releases/download/${version}/spleen-${version}.tar.gz";
downloadToTemp = true;
recursiveHash = true;
postFetch = ''
tar xvf $downloadedFile --strip=1
src = fetchurl {
url = "https://github.com/fcambus/spleen/releases/download/${version}/spleen-${version}.tar.gz";
hash = "sha256-fvWcTgKkXp3e1ryhi1Oc3w8OtJ5svLJXhY2lasXapiI=";
};
nativeBuildInputs = [ xorg.mkfontscale ];
dontBuild = true;
installPhase = ''
runHook preInstall
d="$out/share/fonts/misc"
install -D -m 644 *.{pcf,bdf,otf} -t "$d"
install -D -m 644 *.psfu -t "$out/share/consolefonts"
install -m644 fonts.alias-spleen $d/fonts.alias
# create fonts.dir so NixOS xorg module adds to fp
${xorg.mkfontscale}/bin/mkfontdir "$d"
mkfontdir "$d"
runHook postInstall
'';
sha256 = "sha256-6Imsa0ku8On63di0DOo0QxBa0t+tbtPRxM531EIiG94=";
meta = with lib; {
description = "Monospaced bitmap fonts";

View file

@ -1,19 +1,23 @@
{ lib, fetchurl }:
{ lib, stdenvNoCC, fetchurl }:
let
stdenvNoCC.mkDerivation rec {
pname = "unifont_upper";
version = "15.0.01";
in fetchurl rec {
name = "unifont_upper-${version}";
url = "mirror://gnu/unifont/unifont-${version}/${name}.ttf";
src = fetchurl {
url = "mirror://gnu/unifont/unifont-${version}/${pname}-${version}.ttf";
hash = "sha256-o6ItW9fME+f4t2cvhj96r3ZG9nKLAUznn/pdukFYnxw=";
};
downloadToTemp = true;
dontUnpack = true;
recursiveHash = true;
installPhase = ''
runHook preInstall
postFetch = "install -Dm644 $downloadedFile $out/share/fonts/truetype/unifont_upper.ttf";
install -Dm644 $src $out/share/fonts/truetype/unifont_upper.ttf
hash = "sha256-cGX9umTGRfrQT3gwPgNqxPHB7Un3ZT3b7hPy4IP45Fk=";
runHook postInstall
'';
meta = with lib; {
description = "Unicode font for glyphs above the Unicode Basic Multilingual Plane";

View file

@ -19,13 +19,13 @@ lib.checkListOfEnum "${pname}: color variants" [ "standard" "black" "blue" "brow
stdenvNoCC.mkDerivation rec {
inherit pname;
version = "2022-11-06";
version = "2023-01-29";
src = fetchFromGitHub {
owner = "vinceliuice";
repo = pname;
rev = version;
sha256 = "ybp+r0Ru2lJg1WipFHIowvRO5XjppI0cUxKc6kPn0lM=";
sha256 = "J3opK+5xGmV81ubA60BZw9+9IifylrRYo+5cRLWd6Xs=";
};
nativeBuildInputs = [

View file

@ -262,7 +262,7 @@ in {
runHook postBuild
'';
wrapperArgs = [
wrapperArgs = lib.optionals (!(stdenv.isDarwin && stdenv.isAarch64)) [
"--prefix PATH : ${lib.makeBinPath [ buildPackages.gdb ]}:${
placeholder "out"
}/bin"

View file

@ -245,7 +245,7 @@ let
homepage = "https://pipewire.org/";
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ jtojnar kranzes ];
maintainers = with maintainers; [ jtojnar kranzes k900 ];
};
};

View file

@ -8,12 +8,10 @@ buildDunePackage rec {
owner = "ACoquereau";
repo = pname;
rev = version;
sha256 = "sha256-cYY9x7QZjH7pdJyHMqfMXgHZ3/zJLp/6ntY6OSIo6Vs=";
hash = "sha256-cYY9x7QZjH7pdJyHMqfMXgHZ3/zJLp/6ntY6OSIo6Vs=";
};
useDune2 = true;
minimumOCamlVersion = "4.03";
minimalOCamlVersion = "4.03";
strictDeps = true;

View file

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "p1monitor";
version = "2.2.0";
version = "2.2.1";
format = "pyproject";
disabled = pythonOlder "3.9";
@ -20,8 +20,8 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "klaasnicolaas";
repo = "python-p1monitor";
rev = "refs/tags/${version}";
hash = "sha256-HaTwqTKqTuXZVt2fhKXyXEEYZCSau/YY6DRg6YHIhOI=";
rev = "refs/tags/v${version}";
hash = "sha256-jmSSejflez3AmIp7PY6m0+vW8YZuNgUj8lwyu0roLYc=";
};
nativeBuildInputs = [
@ -52,7 +52,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Module for interacting with the P1 Monitor";
homepage = "https://github.com/klaasnicolaas/python-p1monitor";
changelog = "https://github.com/klaasnicolaas/python-p1monitor/releases/tag/${version}";
changelog = "https://github.com/klaasnicolaas/python-p1monitor/releases/tag/v${version}";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};

View file

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "pyswitchbot";
version = "0.37.0";
version = "0.37.1";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "Danielhiversen";
repo = "pySwitchbot";
rev = "refs/tags/${version}";
hash = "sha256-+bkEaXIvIX67D8b3CIhNM/rz2DjUbpjsshImoUopjlA=";
hash = "sha256-6td0ueo21h3B2ITV6wXehiwDPIB8+4m0K5hnMm8Mu54=";
};
propagatedBuildInputs = [

View file

@ -3,14 +3,14 @@
stdenv.mkDerivation rec {
pname = "sbt-extras";
rev = "5eeee846642c8226931263ed758ef80f077cadaf";
version = "2022-11-11";
rev = "32c96866364964b3e2f7272e0f9ef3e1a76ea7d7";
version = "2023-01-05";
src = fetchFromGitHub {
owner = "paulp";
repo = "sbt-extras";
inherit rev;
sha256 = "2eUGQa0SdfnENbnjy9ZDxd0lKhUrzmTyDLB4fupqVIs=";
sha256 = "AgwqWmNkUkyQDu6R8LO86/JYJJHI6ZjEhPglt/jWBRY=";
};
dontBuild = true;

View file

@ -0,0 +1,22 @@
{ lib, fetchFromGitHub, buildGoModule }:
buildGoModule rec {
pname = "drone-runner-ssh";
version = "unstable-2022-12-22";
src = fetchFromGitHub {
owner = "drone-runners";
repo = pname;
rev = "ee70745c60e070a7fac57d9cecc41252e7a3ff55";
sha256 = "sha256-YUyhEA1kYIFLN+BI2A8PFeSgifoVNmNPKtdS58MwwVU=";
};
vendorHash = "sha256-Vj6ZmNwegKBVJPh6MsjtLMmX9WR76msuR2DPM8Qyhe0=";
meta = with lib; {
description = "Experimental Drone runner that executes a pipeline on a remote machine";
homepage = "https://github.com/drone-runners/drone-runner-ssh";
license = licenses.unfreeRedistributable;
maintainers = teams.c3d2.members;
};
}

View file

@ -0,0 +1,22 @@
{ lib, buildGoModule, fetchFromGitHub }:
buildGoModule rec {
pname = "ls-lint";
version = "1.11.2";
src = fetchFromGitHub {
owner = "loeffel-io";
repo = "ls-lint";
rev = "v${version}";
sha256 = "sha256-mt1SvRHtAA0lChZ//8XIQGDPg1l1EOMkPIAe8YKhMSs=";
};
vendorSha256 = "sha256-OEwN9kj1npI+H7DY+e3tl5TIY/qr4y2CgAV5fwNA9l4=";
meta = with lib; {
description = "An extremely fast file and directory name linter";
homepage = "https://ls-lint.org/";
license = licenses.mit;
maintainers = with maintainers; [ flokli ];
};
}

View file

@ -1,19 +1,19 @@
{ stdenv, lib, fetchurl, ghostscript, gyre-fonts, texinfo, imagemagick, texi2html, guile
, python3, gettext, flex, perl, bison, pkg-config, autoreconfHook, dblatex
, fontconfig, freetype, pango, fontforge, help2man, zip, netpbm, groff
, makeWrapper, t1utils
, makeWrapper, t1utils, boehmgc, rsync
, texlive, tex ? texlive.combine {
inherit (texlive) scheme-small lh metafont epsf;
inherit (texlive) scheme-small lh metafont epsf fontinst;
}
}:
stdenv.mkDerivation rec {
pname = "lilypond";
version = "2.22.2";
version = "2.24.0";
src = fetchurl {
url = "http://lilypond.org/download/sources/v${lib.versions.majorMinor version}/lilypond-${version}.tar.gz";
sha256 = "sha256-3ekIVPp94QEvThMEpoYXrqmrMiky7AznaYT2DSaqI74=";
sha256 = "sha256-PO2+O5KwJWnjpvLwZ0hYlns9onjXCqPpiu9b3Nf3i2k=";
};
postInstall = ''
@ -43,13 +43,18 @@ stdenv.mkDerivation rec {
buildInputs =
[ ghostscript texinfo imagemagick texi2html guile dblatex tex zip netpbm
python3 gettext perl fontconfig freetype pango
fontforge help2man groff t1utils
fontforge help2man groff t1utils boehmgc rsync
];
autoreconfPhase = "NOCONFIGURE=1 sh autogen.sh";
enableParallelBuilding = true;
passthru.updateScript = {
command = [ ./update.sh ];
supportedFeatures = [ "commit" ];
};
meta = with lib; {
description = "Music typesetting system";
homepage = "http://lilypond.org/";

View file

@ -1,11 +1,14 @@
{ lib, fetchurl, guile, lilypond }:
{ lib, fetchurl, lilypond }:
(lilypond.override {
inherit guile;
}).overrideAttrs (oldAttrs: rec {
version = "2.23.12";
lilypond.overrideAttrs (oldAttrs: rec {
version = "2.25.1";
src = fetchurl {
url = "https://lilypond.org/download/sources/v${lib.versions.majorMinor version}/lilypond-${version}.tar.gz";
sha256 = "sha256-SLZ9/Jybltd8+1HANk8pTGHRb7MuZSJJDDY/S4Kwz/k=";
sha256 = "sha256-DchY+4+bWIvTZb4v9q/fAqStkbsxHhvty3eur0ZFYVs=";
};
passthru.updateScript = {
command = [ ./update.sh "unstable" ];
supportedFeatures = [ "commit" ];
};
})

25
pkgs/misc/lilypond/update.sh Executable file
View file

@ -0,0 +1,25 @@
#!/usr/bin/env nix-shell
#!nix-shell -I nixpkgs=./. -i bash -p curl gnused nix
set -euo pipefail
if [ $# -gt 0 ] && [ "$1" = "unstable" ]; then
ATTR="lilypond-unstable"
FILE="$(dirname "${BASH_SOURCE[@]}")/unstable.nix"
QUERY="VERSION_DEVEL="
else
ATTR="lilypond"
FILE="$(dirname "${BASH_SOURCE[@]}")/default.nix"
QUERY="VERSION_STABLE="
fi
# update version
PREV=$(nix eval --raw -f default.nix $ATTR.version)
NEXT=$(curl -s 'https://gitlab.com/lilypond/lilypond/-/raw/master/VERSION' | grep "$QUERY" | cut -d= -f2)
sed -i "s|$PREV|$NEXT|" "$FILE"
echo "[{\"commitMessage\":\"$ATTR: $PREV -> $NEXT\"}]"
# update hash
PREV=$(nix eval --raw -f default.nix $ATTR.src.outputHash)
NEXT=$(nix hash to-sri --type sha256 $(nix-prefetch-url --type sha256 $(nix eval --raw -f default.nix $ATTR.src.url)))
sed -i "s|$PREV|$NEXT|" "$FILE"

View file

@ -8,16 +8,16 @@
rustPlatform.buildRustPackage rec {
pname = "libreddit";
version = "0.27.1";
version = "0.28.0";
src = fetchFromGitHub {
owner = "libreddit";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-3Q/Vl126EMRSNdStpZqFEkA0Kjzu6BeyBhokTQrrQXE=";
hash = "sha256-kiiZxS5ttUZ1FdF/N9sO6GO13Wmij8DwsNa8p+ZTk0k=";
};
cargoSha256 = "sha256-TA0Rsya3vx6N/iAWpRmB7Byz7AIR0sdfk3kJ8wgvWHY=";
cargoSha256 = "sha256-0XBJ1tlVO2+iK9O2CDVZxDwFXW8T23j2lSbqpnW3fis=";
buildInputs = lib.optionals stdenv.isDarwin [
Security

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "pgvector";
version = "0.3.2";
version = "0.4.0";
src = fetchFromGitHub {
owner = "pgvector";
repo = "pgvector";
rev = "v${version}";
sha256 = "sha256-I+MIQjZNsKHLsiCtvip73fA2LYPR7PVFgTBNtn+CtFE=";
hash = "sha256-bOckX7zvHhgJDDhoAm+VZVIeVIf2hG/3oWZWuTtnZPo=";
};
buildInputs = [ postgresql ];

View file

@ -25,14 +25,14 @@ let
in
with py.pkgs; buildPythonApplication rec {
pname = "awscli2";
version = "2.9.18"; # N.B: if you change this, check if overrides are still up-to-date
version = "2.9.19"; # N.B: if you change this, check if overrides are still up-to-date
format = "pyproject";
src = fetchFromGitHub {
owner = "aws";
repo = "aws-cli";
rev = version;
hash = "sha256-WE0fBw6rBMDK+BHmZT1OXr4nu3G8y0AmdimSRi2RaPs=";
hash = "sha256-0Z4jTN9+bsurCYqJcYqG0r0ed3gWG9PDgT5J/+stiPE=";
};
nativeBuildInputs = [

View file

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "wgpu-utils";
version = "0.14.1";
version = "0.15.0";
src = fetchFromGitHub {
owner = "gfx-rs";
repo = "wgpu";
rev = "v${version}";
hash = "sha256-jHjV2A949m/KyAkkdaP00d5j+V96jRQah4LKs8LcYQk=";
hash = "sha256-Yfq85stS1FWahrwv+8hEFSAGr2eZHJ+/cuNYfIFRi3c=";
};
cargoHash = "sha256-XbEgcPLL3UZ4zdV90AEFI8RlkZAMuLXznlkBcAG/0l8=";
cargoHash = "sha256-R8x3QfVWyEyz7o9Jzh+XgQKYF8HZMAPwbq847j2LfqY=";
nativeBuildInputs = [
pkg-config

View file

@ -1,38 +1,65 @@
{ lib, stdenv, fetchurl, jdk11, runtimeShell, unzip, chromium }:
stdenv.mkDerivation rec {
pname = "burpsuite";
version = "2021.12";
{ lib, fetchurl, jdk, buildFHSUserEnv, unzip, makeDesktopItem }:
let
version = "2022.12.7";
src = fetchurl {
name = "burpsuite.jar";
urls = [
"https://portswigger.net/Burp/Releases/Download?productId=100&version=${version}&type=Jar"
"https://web.archive.org/web/https://portswigger.net/Burp/Releases/Download?productId=100&version=${version}&type=Jar"
"https://portswigger.net/burp/releases/download?productId=100&version=${version}&type=Jar"
"https://web.archive.org/web/https://portswigger.net/burp/releases/download?productId=100&version=${version}&type=Jar"
];
sha256 = "sha256-BLX/SgHctXciOZoA6Eh4zuDJoxNSZgvoj2Teg1fV80g=";
sha256 = "2e354c2aadc58267bc282dde462d20b3aca7108077eb141d49f89a16172763cf";
};
dontUnpack = true;
dontBuild = true;
installPhase = ''
runHook preInstall
description = "An integrated platform for performing security testing of web applications";
desktopItem = makeDesktopItem rec {
name = "burpsuite";
exec = name;
icon = name;
desktopName = "Burp Suite Community Edition";
comment = description;
categories = [ "Development" "Security" "System" ];
};
mkdir -p $out/bin
echo '#!${runtimeShell}
eval "$(${unzip}/bin/unzip -p ${src} chromium.properties)"
mkdir -p "$HOME/.BurpSuite/burpbrowser/$linux64"
ln -sf "${chromium}/bin/chromium" "$HOME/.BurpSuite/burpbrowser/$linux64/chrome"
exec ${jdk11}/bin/java -jar ${src} "$@"' > $out/bin/burpsuite
chmod +x $out/bin/burpsuite
in
buildFHSUserEnv {
name = "burpsuite-${version}";
runHook postInstall
runScript = "${jdk}/bin/java -jar ${src}";
targetPkgs = pkgs: with pkgs; [
alsa-lib
at-spi2-core
cairo
cups
dbus
expat
glib
gtk3
libdrm
libudev0-shim
libxkbcommon
mesa.drivers
nspr
nss
pango
xorg.libX11
xorg.libxcb
xorg.libXcomposite
xorg.libXdamage
xorg.libXext
xorg.libXfixes
xorg.libXrandr
];
extraInstallCommands = ''
mkdir -p "$out/share/pixmaps"
${lib.getBin unzip}/bin/unzip -p ${src} resources/Media/icon64community.png > "$out/share/pixmaps/burpsuite.png"
cp -r ${desktopItem}/share/applications $out/share
'';
preferLocalBuild = true;
meta = with lib; {
description = "An integrated platform for performing security testing of web applications";
inherit description;
longDescription = ''
Burp Suite is an integrated platform for performing security testing of web applications.
Its various tools work seamlessly together to support the entire testing process, from
@ -43,8 +70,8 @@ stdenv.mkDerivation rec {
downloadPage = "https://portswigger.net/burp/freedownload";
sourceProvenance = with sourceTypes; [ binaryBytecode ];
license = licenses.unfree;
platforms = jdk11.meta.platforms;
hydraPlatforms = [];
platforms = jdk.meta.platforms;
hydraPlatforms = [ ];
maintainers = with maintainers; [ bennofs ];
};
}

View file

@ -1,4 +1,6 @@
{ lib, stdenv
{ lib
, nixosTests
, stdenv
, fetchurl
, fetchpatch
, pkg-config
@ -170,6 +172,8 @@ stdenv.mkDerivation rec {
doCheck = true;
passthru.tests.connman = nixosTests.connman;
meta = with lib; {
description = "A daemon for managing internet connections";
homepage = "https://git.kernel.org/pub/scm/network/connman/connman.git/";

View file

@ -2,6 +2,7 @@
, stdenv
, fetchFromGitHub
, fetchpatch
, bzip2
, cli11
, cmake
, curl
@ -15,6 +16,7 @@
, spdlog
, termcolor
, tl-expected
, fmt_9
}:
let
@ -34,28 +36,34 @@ let
});
spdlog' = spdlog.overrideAttrs (oldAttrs: {
# Required for header files. See alse:
# https://github.com/gabime/spdlog/pull/1241 (current solution)
# https://github.com/gabime/spdlog/issues/1897 (previous solution)
cmakeFlags = oldAttrs.cmakeFlags ++ [
"-DSPDLOG_FMT_EXTERNAL=OFF"
];
# Use as header-only library.
#
# Spdlog 1.11 requires fmt version 8 while micromamba requires
# version 9. spdlog may use its bundled version of fmt,
# though. Micromamba is not calling spdlog functions with
# fmt-types in their signature. I.e. we get away with removing
# fmt_8 from spdlog's propagated dependencies and using fmt_9 for
# micromamba itself.
dontBuild = true;
cmakeFlags = oldAttrs.cmakeFlags ++ [ "-DSPDLOG_FMT_EXTERNAL=OFF" ];
propagatedBuildInputs = [];
});
in
stdenv.mkDerivation rec {
pname = "micromamba";
version = "1.0.0";
version = "1.2.0";
src = fetchFromGitHub {
owner = "mamba-org";
repo = "mamba";
rev = "micromamba-" + version;
sha256 = "sha256-t1DfLwBGW6MfazuFludn6/fdYWFaMnkhXva6bvus694=";
sha256 = "sha256-KGlH5i/lI6c1Jj1ttAOrip8BKECaea5D202TJMcFDmM=";
};
nativeBuildInputs = [ cmake ];
buildInputs = [
bzip2
cli11
nlohmann_json
curl
@ -68,6 +76,7 @@ stdenv.mkDerivation rec {
ghc_filesystem
python3
tl-expected
fmt_9
];
cmakeFlags = [

View file

@ -19,15 +19,15 @@ let
in
buildGoModule rec {
pname = "tracee";
version = "0.9.2";
version = "0.10.0";
src = fetchFromGitHub {
owner = "aquasecurity";
repo = pname;
rev = "v${version}";
sha256 = "sha256-w/x7KhopkADKvpDc5TE5Kf34pRY6HP3kX1Lqujnl0b8=";
sha256 = "sha256-TSzvuPE4to6aN52fmcwC6mVBOWUFQSyWHDgNs8emPq4=";
};
vendorSha256 = "sha256-5RXNRNoMydFcemNGgyfqcUPtfMVgMYdiyWo/sZi8GQw=";
vendorSha256 = "sha256-HGJ7Gtug+nSg+mAQH4jcNkeikWQW10cgAIoAqeAf9r4=";
patches = [
./use-our-libbpf.patch
@ -64,11 +64,10 @@ buildGoModule rec {
mkdir -p $out/{bin,share/tracee}
cp ./dist/tracee-ebpf $out/bin
cp ./dist/tracee-rules $out/bin
mv ./dist/tracee-{ebpf,rules} $out/bin/
cp -r ./dist/rules $out/share/tracee/
cp -r ./cmd/tracee-rules/templates $out/share/tracee/
mv ./dist/rules $out/share/tracee/
mv ./cmd/tracee-rules/templates $out/share/tracee/
runHook postInstall
'';
@ -105,7 +104,12 @@ buildGoModule rec {
is delivered as a Docker image that monitors the OS and detects suspicious
behavior based on a pre-defined set of behavioral patterns.
'';
license = licenses.asl20;
license = with licenses; [
# general license
asl20
# pkg/ebpf/c/*
gpl2Plus
];
maintainers = with maintainers; [ jk ];
platforms = [ "x86_64-linux" ];
};

View file

@ -1,15 +0,0 @@
diff --git a/tests/integration/integration_test.go b/tests/integration/integration_test.go
index afbc5330..13745c70 100644
--- a/tests/integration/integration_test.go
+++ b/tests/integration/integration_test.go
@@ -246,8 +246,8 @@ func Test_EventFilters(t *testing.T) {
eventFunc: checkExecve,
},
{
- name: "trace only execve events that starts with /usr/bin",
- filterArgs: []string{"event=execve", "execve.pathname=/usr/bin*"},
+ name: "trace only execve events that starts with /run",
+ filterArgs: []string{"event=execve", "execve.pathname=/run*"},
eventFunc: checkExecve,
},
{

View file

@ -5,24 +5,31 @@
, testers
}:
ocamlPackages.buildDunePackage rec {
let
pname = "soupault";
version = "4.3.1";
minimalOCamlVersion = "4.08";
version = "4.4.0";
in
ocamlPackages.buildDunePackage {
inherit pname version;
minimalOCamlVersion = "4.13";
duneVersion = "3";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "PataphysicalSociety";
repo = pname;
rev = version;
sha256 = "sha256-P8PGSJ7TOlnMoTcE5ZXqc7pJe4l+zRhBh0A/2iIJLQI=";
sha256 = "sha256-M4gaPxBxQ1Bk2C3BwvobYHyaWKIZgQ6buZ6S5wBlvPg=";
};
buildInputs = with ocamlPackages; [
base64
camomile
containers
digestif
ezjsonm
fileutils
fmt

View file

@ -6635,6 +6635,8 @@ with pkgs;
drone-runner-docker = callPackage ../development/tools/continuous-integration/drone-runner-docker { };
drone-runner-ssh = callPackage ../development/tools/continuous-integration/drone-runner-ssh { };
dropbear = callPackage ../tools/networking/dropbear { };
dsview = libsForQt5.callPackage ../applications/science/electronics/dsview { };
@ -18052,6 +18054,8 @@ with pkgs;
litestream = callPackage ../development/tools/database/litestream {};
ls-lint = callPackage ../development/tools/ls-lint { };
lsof = callPackage ../development/tools/misc/lsof { };
ltrace = callPackage ../development/tools/misc/ltrace { };
@ -32838,6 +32842,8 @@ with pkgs;
spotify = callPackage ../applications/audio/spotify { };
spotify-player = callPackage ../applications/audio/spotify-player { };
spotifywm = callPackage ../applications/audio/spotifywm { };
psst = callPackage ../applications/audio/psst { };
@ -37509,7 +37515,7 @@ with pkgs;
inherit (darwin.apple_sdk_11_0.frameworks) CoreFoundation Security SystemConfiguration;
};
lilypond = callPackage ../misc/lilypond { guile = guile_1_8; };
lilypond = callPackage ../misc/lilypond { };
lilypond-unstable = callPackage ../misc/lilypond/unstable.nix { };