Merge master into staging-next
This commit is contained in:
commit
fc22d0d5e2
|
@ -12866,6 +12866,12 @@
|
||||||
githubId = 118959;
|
githubId = 118959;
|
||||||
name = "VinyMeuh";
|
name = "VinyMeuh";
|
||||||
};
|
};
|
||||||
|
viraptor = {
|
||||||
|
email = "nix@viraptor.info";
|
||||||
|
github = "viraptor";
|
||||||
|
githubId = 188063;
|
||||||
|
name = "Stanisław Pitucha";
|
||||||
|
};
|
||||||
viric = {
|
viric = {
|
||||||
email = "viric@viric.name";
|
email = "viric@viric.name";
|
||||||
github = "viric";
|
github = "viric";
|
||||||
|
|
|
@ -41,17 +41,18 @@ checks:
|
||||||
`RefuseManualStop` in the `[Unit]` section, and `X-OnlyManualStart` in the
|
`RefuseManualStop` in the `[Unit]` section, and `X-OnlyManualStart` in the
|
||||||
`[Unit]` section.
|
`[Unit]` section.
|
||||||
|
|
||||||
- The rest of the behavior is decided whether the unit has `X-StopIfChanged`
|
- Further behavior depends on the unit having `X-StopIfChanged` in the
|
||||||
in the `[Service]` section set (exposed via
|
`[Service]` section set to `true` (exposed via
|
||||||
[systemd.services.\<name\>.stopIfChanged](#opt-systemd.services)). This is
|
[systemd.services.\<name\>.stopIfChanged](#opt-systemd.services)). This is
|
||||||
set to `true` by default and must be explicitly turned off if not wanted.
|
set to `true` by default and must be explicitly turned off if not wanted.
|
||||||
If the flag is enabled, the unit is **stop**ped and then **start**ed. If
|
If the flag is enabled, the unit is **stop**ped and then **start**ed. If
|
||||||
not, the unit is **restart**ed. The goal of the flag is to make sure that
|
not, the unit is **restart**ed. The goal of the flag is to make sure that
|
||||||
the new unit never runs in the old environment which is still in place
|
the new unit never runs in the old environment which is still in place
|
||||||
before the activation script is run.
|
before the activation script is run. This behavior is different when the
|
||||||
|
service is socket-activated, as outlined in the following steps.
|
||||||
|
|
||||||
- The last thing that is taken into account is whether the unit is a service
|
- The last thing that is taken into account is whether the unit is a service
|
||||||
and socket-activated. Due to a bug, this is currently only done when
|
and socket-activated. If `X-StopIfChanged` is **not** set, the service
|
||||||
`X-StopIfChanged` is set. If the unit is socket-activated, the socket is
|
is **restart**ed with the others. If it is set, both the service and the
|
||||||
stopped and started, and the service is stopped and to be started by socket
|
socket are **stop**ped and the socket is **start**ed, leaving socket
|
||||||
activation.
|
activation to start the service when it's needed.
|
||||||
|
|
|
@ -88,9 +88,10 @@
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
The rest of the behavior is decided whether the unit has
|
Further behavior depends on the unit having
|
||||||
<literal>X-StopIfChanged</literal> in the
|
<literal>X-StopIfChanged</literal> in the
|
||||||
<literal>[Service]</literal> section set (exposed via
|
<literal>[Service]</literal> section set to
|
||||||
|
<literal>true</literal> (exposed via
|
||||||
<link linkend="opt-systemd.services">systemd.services.<name>.stopIfChanged</link>).
|
<link linkend="opt-systemd.services">systemd.services.<name>.stopIfChanged</link>).
|
||||||
This is set to <literal>true</literal> by default and must
|
This is set to <literal>true</literal> by default and must
|
||||||
be explicitly turned off if not wanted. If the flag is
|
be explicitly turned off if not wanted. If the flag is
|
||||||
|
@ -100,17 +101,22 @@
|
||||||
is <emphasis role="strong">restart</emphasis>ed. The goal of
|
is <emphasis role="strong">restart</emphasis>ed. The goal of
|
||||||
the flag is to make sure that the new unit never runs in the
|
the flag is to make sure that the new unit never runs in the
|
||||||
old environment which is still in place before the
|
old environment which is still in place before the
|
||||||
activation script is run.
|
activation script is run. This behavior is different when
|
||||||
|
the service is socket-activated, as outlined in the
|
||||||
|
following steps.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
The last thing that is taken into account is whether the
|
The last thing that is taken into account is whether the
|
||||||
unit is a service and socket-activated. Due to a bug, this
|
unit is a service and socket-activated. If
|
||||||
is currently only done when
|
<literal>X-StopIfChanged</literal> is
|
||||||
<literal>X-StopIfChanged</literal> is set. If the unit is
|
<emphasis role="strong">not</emphasis> set, the service is
|
||||||
socket-activated, the socket is stopped and started, and the
|
<emphasis role="strong">restart</emphasis>ed with the
|
||||||
service is stopped and to be started by socket activation.
|
others. If it is set, both the service and the socket are
|
||||||
|
<emphasis role="strong">stop</emphasis>ped and the socket is
|
||||||
|
<emphasis role="strong">start</emphasis>ed, leaving socket
|
||||||
|
activation to start the service when it’s needed.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
|
@ -307,6 +307,7 @@ sub handleModifiedUnit {
|
||||||
# seem to get applied on daemon-reload.
|
# seem to get applied on daemon-reload.
|
||||||
} elsif ($unit =~ /\.mount$/) {
|
} elsif ($unit =~ /\.mount$/) {
|
||||||
# Reload the changed mount unit to force a remount.
|
# Reload the changed mount unit to force a remount.
|
||||||
|
# FIXME: only reload when Options= changed, restart otherwise
|
||||||
$unitsToReload->{$unit} = 1;
|
$unitsToReload->{$unit} = 1;
|
||||||
recordUnit($reloadListFile, $unit);
|
recordUnit($reloadListFile, $unit);
|
||||||
} elsif ($unit =~ /\.socket$/) {
|
} elsif ($unit =~ /\.socket$/) {
|
||||||
|
@ -339,7 +340,7 @@ sub handleModifiedUnit {
|
||||||
# If this unit is socket-activated, then stop the
|
# If this unit is socket-activated, then stop the
|
||||||
# socket unit(s) as well, and restart the
|
# socket unit(s) as well, and restart the
|
||||||
# socket(s) instead of the service.
|
# socket(s) instead of the service.
|
||||||
my $socketActivated = 0;
|
my $socket_activated = 0;
|
||||||
if ($unit =~ /\.service$/) {
|
if ($unit =~ /\.service$/) {
|
||||||
my @sockets = split(/ /, join(" ", @{$unitInfo{Service}{Sockets} // []}));
|
my @sockets = split(/ /, join(" ", @{$unitInfo{Service}{Sockets} // []}));
|
||||||
if (scalar @sockets == 0) {
|
if (scalar @sockets == 0) {
|
||||||
|
@ -347,13 +348,15 @@ sub handleModifiedUnit {
|
||||||
}
|
}
|
||||||
foreach my $socket (@sockets) {
|
foreach my $socket (@sockets) {
|
||||||
if (defined $activePrev->{$socket}) {
|
if (defined $activePrev->{$socket}) {
|
||||||
|
# We can now be sure this is a socket-activate unit
|
||||||
|
|
||||||
$unitsToStop->{$socket} = 1;
|
$unitsToStop->{$socket} = 1;
|
||||||
# Only restart sockets that actually
|
# Only restart sockets that actually
|
||||||
# exist in new configuration:
|
# exist in new configuration:
|
||||||
if (-e "$out/etc/systemd/system/$socket") {
|
if (-e "$out/etc/systemd/system/$socket") {
|
||||||
$unitsToStart->{$socket} = 1;
|
$unitsToStart->{$socket} = 1;
|
||||||
recordUnit($startListFile, $socket);
|
recordUnit($startListFile, $socket);
|
||||||
$socketActivated = 1;
|
$socket_activated = 1;
|
||||||
}
|
}
|
||||||
# Remove from units to reload so we don't restart and reload
|
# Remove from units to reload so we don't restart and reload
|
||||||
if ($unitsToReload->{$unit}) {
|
if ($unitsToReload->{$unit}) {
|
||||||
|
@ -368,7 +371,7 @@ sub handleModifiedUnit {
|
||||||
# that this unit needs to be started below.
|
# that this unit needs to be started below.
|
||||||
# We write this to a file to ensure that the
|
# We write this to a file to ensure that the
|
||||||
# service gets restarted if we're interrupted.
|
# service gets restarted if we're interrupted.
|
||||||
if (!$socketActivated) {
|
if (!$socket_activated) {
|
||||||
$unitsToStart->{$unit} = 1;
|
$unitsToStart->{$unit} = 1;
|
||||||
recordUnit($startListFile, $unit);
|
recordUnit($startListFile, $unit);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,46 @@
|
||||||
# Test configuration switching.
|
# Test configuration switching.
|
||||||
|
|
||||||
import ./make-test-python.nix ({ pkgs, ...} : {
|
import ./make-test-python.nix ({ pkgs, ...} : let
|
||||||
|
|
||||||
|
# Simple service that can either be socket-activated or that will
|
||||||
|
# listen on port 1234 if not socket-activated.
|
||||||
|
# A connection to the socket causes 'hello' to be written to the client.
|
||||||
|
socketTest = pkgs.writeScript "socket-test.py" /* python */ ''
|
||||||
|
#!${pkgs.python3}/bin/python3
|
||||||
|
|
||||||
|
from socketserver import TCPServer, StreamRequestHandler
|
||||||
|
import socket
|
||||||
|
import os
|
||||||
|
|
||||||
|
|
||||||
|
class Handler(StreamRequestHandler):
|
||||||
|
def handle(self):
|
||||||
|
self.wfile.write("hello".encode("utf-8"))
|
||||||
|
|
||||||
|
|
||||||
|
class Server(TCPServer):
|
||||||
|
def __init__(self, server_address, handler_cls):
|
||||||
|
listenFds = os.getenv('LISTEN_FDS')
|
||||||
|
if listenFds is None or int(listenFds) < 1:
|
||||||
|
print(f'Binding to {server_address}')
|
||||||
|
TCPServer.__init__(
|
||||||
|
self, server_address, handler_cls, bind_and_activate=True)
|
||||||
|
else:
|
||||||
|
TCPServer.__init__(
|
||||||
|
self, server_address, handler_cls, bind_and_activate=False)
|
||||||
|
# Override socket
|
||||||
|
print(f'Got activated by {os.getenv("LISTEN_FDNAMES")} '
|
||||||
|
f'with {listenFds} FDs')
|
||||||
|
self.socket = socket.fromfd(3, self.address_family,
|
||||||
|
self.socket_type)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
server = Server(("localhost", 1234), Handler)
|
||||||
|
server.serve_forever()
|
||||||
|
'';
|
||||||
|
|
||||||
|
in {
|
||||||
name = "switch-test";
|
name = "switch-test";
|
||||||
meta = with pkgs.lib.maintainers; {
|
meta = with pkgs.lib.maintainers; {
|
||||||
maintainers = [ gleber das_j ];
|
maintainers = [ gleber das_j ];
|
||||||
|
@ -8,6 +48,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
|
|
||||||
nodes = {
|
nodes = {
|
||||||
machine = { pkgs, lib, ... }: {
|
machine = { pkgs, lib, ... }: {
|
||||||
|
environment.systemPackages = [ pkgs.socat ]; # for the socket activation stuff
|
||||||
users.mutableUsers = false;
|
users.mutableUsers = false;
|
||||||
|
|
||||||
specialisation = rec {
|
specialisation = rec {
|
||||||
|
@ -231,6 +272,40 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
systemd.services.reload-triggers-and-restart.serviceConfig.X-Modified = "test";
|
systemd.services.reload-triggers-and-restart.serviceConfig.X-Modified = "test";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
simple-socket.configuration = {
|
||||||
|
systemd.services.socket-activated = {
|
||||||
|
description = "A socket-activated service";
|
||||||
|
stopIfChanged = lib.mkDefault false;
|
||||||
|
serviceConfig = {
|
||||||
|
ExecStart = socketTest;
|
||||||
|
ExecReload = "${pkgs.coreutils}/bin/true";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
systemd.sockets.socket-activated = {
|
||||||
|
wantedBy = [ "sockets.target" ];
|
||||||
|
listenStreams = [ "/run/test.sock" ];
|
||||||
|
socketConfig.SocketMode = lib.mkDefault "0777";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
simple-socket-service-modified.configuration = {
|
||||||
|
imports = [ simple-socket.configuration ];
|
||||||
|
systemd.services.socket-activated.serviceConfig.X-Test = "test";
|
||||||
|
};
|
||||||
|
|
||||||
|
simple-socket-stop-if-changed.configuration = {
|
||||||
|
imports = [ simple-socket.configuration ];
|
||||||
|
systemd.services.socket-activated.stopIfChanged = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
simple-socket-stop-if-changed-and-reloadtrigger.configuration = {
|
||||||
|
imports = [ simple-socket.configuration ];
|
||||||
|
systemd.services.socket-activated = {
|
||||||
|
stopIfChanged = true;
|
||||||
|
reloadTriggers = [ "test" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
mount.configuration = {
|
mount.configuration = {
|
||||||
systemd.mounts = [
|
systemd.mounts = [
|
||||||
{
|
{
|
||||||
|
@ -378,7 +453,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
assert_lacks(out, "\nrestarting the following units:")
|
assert_lacks(out, "\nrestarting the following units:")
|
||||||
assert_lacks(out, "\nstarting the following units:")
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
assert_lacks(out, "the following new units were started:")
|
assert_lacks(out, "the following new units were started:")
|
||||||
assert_lacks(out, "as well:")
|
|
||||||
|
|
||||||
# Start a simple service
|
# Start a simple service
|
||||||
out = switch_to_specialisation("${machine}", "simpleService")
|
out = switch_to_specialisation("${machine}", "simpleService")
|
||||||
|
@ -388,7 +462,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
assert_lacks(out, "\nrestarting the following units:")
|
assert_lacks(out, "\nrestarting the following units:")
|
||||||
assert_lacks(out, "\nstarting the following units:")
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
assert_contains(out, "the following new units were started: test.service\n")
|
assert_contains(out, "the following new units were started: test.service\n")
|
||||||
assert_lacks(out, "as well:")
|
|
||||||
|
|
||||||
# Not changing anything doesn't do anything
|
# Not changing anything doesn't do anything
|
||||||
out = switch_to_specialisation("${machine}", "simpleService")
|
out = switch_to_specialisation("${machine}", "simpleService")
|
||||||
|
@ -398,7 +471,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
assert_lacks(out, "\nrestarting the following units:")
|
assert_lacks(out, "\nrestarting the following units:")
|
||||||
assert_lacks(out, "\nstarting the following units:")
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
assert_lacks(out, "the following new units were started:")
|
assert_lacks(out, "the following new units were started:")
|
||||||
assert_lacks(out, "as well:")
|
|
||||||
|
|
||||||
# Restart the simple service
|
# Restart the simple service
|
||||||
out = switch_to_specialisation("${machine}", "simpleServiceModified")
|
out = switch_to_specialisation("${machine}", "simpleServiceModified")
|
||||||
|
@ -408,7 +480,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
assert_lacks(out, "\nrestarting the following units:")
|
assert_lacks(out, "\nrestarting the following units:")
|
||||||
assert_contains(out, "\nstarting the following units: test.service\n")
|
assert_contains(out, "\nstarting the following units: test.service\n")
|
||||||
assert_lacks(out, "the following new units were started:")
|
assert_lacks(out, "the following new units were started:")
|
||||||
assert_lacks(out, "as well:")
|
|
||||||
|
|
||||||
# Restart the service with stopIfChanged=false
|
# Restart the service with stopIfChanged=false
|
||||||
out = switch_to_specialisation("${machine}", "simpleServiceNostop")
|
out = switch_to_specialisation("${machine}", "simpleServiceNostop")
|
||||||
|
@ -418,7 +489,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
assert_contains(out, "\nrestarting the following units: test.service\n")
|
assert_contains(out, "\nrestarting the following units: test.service\n")
|
||||||
assert_lacks(out, "\nstarting the following units:")
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
assert_lacks(out, "the following new units were started:")
|
assert_lacks(out, "the following new units were started:")
|
||||||
assert_lacks(out, "as well:")
|
|
||||||
|
|
||||||
# Reload the service with reloadIfChanged=true
|
# Reload the service with reloadIfChanged=true
|
||||||
out = switch_to_specialisation("${machine}", "simpleServiceReload")
|
out = switch_to_specialisation("${machine}", "simpleServiceReload")
|
||||||
|
@ -428,7 +498,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
assert_lacks(out, "\nrestarting the following units:")
|
assert_lacks(out, "\nrestarting the following units:")
|
||||||
assert_lacks(out, "\nstarting the following units:")
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
assert_lacks(out, "the following new units were started:")
|
assert_lacks(out, "the following new units were started:")
|
||||||
assert_lacks(out, "as well:")
|
|
||||||
|
|
||||||
# Nothing happens when restartIfChanged=false
|
# Nothing happens when restartIfChanged=false
|
||||||
out = switch_to_specialisation("${machine}", "simpleServiceNorestart")
|
out = switch_to_specialisation("${machine}", "simpleServiceNorestart")
|
||||||
|
@ -438,7 +507,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
assert_lacks(out, "\nrestarting the following units:")
|
assert_lacks(out, "\nrestarting the following units:")
|
||||||
assert_lacks(out, "\nstarting the following units:")
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
assert_lacks(out, "the following new units were started:")
|
assert_lacks(out, "the following new units were started:")
|
||||||
assert_lacks(out, "as well:")
|
|
||||||
|
|
||||||
# Dry mode shows different messages
|
# Dry mode shows different messages
|
||||||
out = switch_to_specialisation("${machine}", "simpleService", action="dry-activate")
|
out = switch_to_specialisation("${machine}", "simpleService", action="dry-activate")
|
||||||
|
@ -448,7 +516,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
assert_lacks(out, "\nrestarting the following units:")
|
assert_lacks(out, "\nrestarting the following units:")
|
||||||
assert_lacks(out, "\nstarting the following units:")
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
assert_lacks(out, "the following new units were started:")
|
assert_lacks(out, "the following new units were started:")
|
||||||
assert_lacks(out, "as well:")
|
|
||||||
assert_contains(out, "would start the following units: test.service\n")
|
assert_contains(out, "would start the following units: test.service\n")
|
||||||
|
|
||||||
# Ensure \ works in unit names
|
# Ensure \ works in unit names
|
||||||
|
@ -459,7 +526,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
assert_lacks(out, "\nrestarting the following units:")
|
assert_lacks(out, "\nrestarting the following units:")
|
||||||
assert_lacks(out, "\nstarting the following units:")
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
assert_contains(out, "the following new units were started: escaped\\x2ddash.service\n")
|
assert_contains(out, "the following new units were started: escaped\\x2ddash.service\n")
|
||||||
assert_lacks(out, "as well:")
|
|
||||||
|
|
||||||
out = switch_to_specialisation("${machine}", "unitWithBackslashModified")
|
out = switch_to_specialisation("${machine}", "unitWithBackslashModified")
|
||||||
assert_contains(out, "stopping the following units: escaped\\x2ddash.service\n")
|
assert_contains(out, "stopping the following units: escaped\\x2ddash.service\n")
|
||||||
|
@ -468,7 +534,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
assert_lacks(out, "\nrestarting the following units:")
|
assert_lacks(out, "\nrestarting the following units:")
|
||||||
assert_contains(out, "\nstarting the following units: escaped\\x2ddash.service\n")
|
assert_contains(out, "\nstarting the following units: escaped\\x2ddash.service\n")
|
||||||
assert_lacks(out, "the following new units were started:")
|
assert_lacks(out, "the following new units were started:")
|
||||||
assert_lacks(out, "as well:")
|
|
||||||
|
|
||||||
with subtest("failing units"):
|
with subtest("failing units"):
|
||||||
# Let the simple service fail
|
# Let the simple service fail
|
||||||
|
@ -482,7 +547,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
assert_lacks(out, "the following new units were started:")
|
assert_lacks(out, "the following new units were started:")
|
||||||
assert_contains(out, "warning: the following units failed: test.service\n")
|
assert_contains(out, "warning: the following units failed: test.service\n")
|
||||||
assert_contains(out, "Main PID:") # output of systemctl
|
assert_contains(out, "Main PID:") # output of systemctl
|
||||||
assert_lacks(out, "as well:")
|
|
||||||
|
|
||||||
# A unit that gets into autorestart without failing is not treated as failed
|
# A unit that gets into autorestart without failing is not treated as failed
|
||||||
out = switch_to_specialisation("${machine}", "autorestartService")
|
out = switch_to_specialisation("${machine}", "autorestartService")
|
||||||
|
@ -492,7 +556,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
assert_lacks(out, "\nrestarting the following units:")
|
assert_lacks(out, "\nrestarting the following units:")
|
||||||
assert_lacks(out, "\nstarting the following units:")
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
assert_contains(out, "the following new units were started: autorestart.service\n")
|
assert_contains(out, "the following new units were started: autorestart.service\n")
|
||||||
assert_lacks(out, "as well:")
|
|
||||||
machine.systemctl('stop autorestart.service') # cancel the 20y timer
|
machine.systemctl('stop autorestart.service') # cancel the 20y timer
|
||||||
|
|
||||||
# Switching to the same system should do nothing (especially not treat the unit as failed)
|
# Switching to the same system should do nothing (especially not treat the unit as failed)
|
||||||
|
@ -503,7 +566,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
assert_lacks(out, "\nrestarting the following units:")
|
assert_lacks(out, "\nrestarting the following units:")
|
||||||
assert_lacks(out, "\nstarting the following units:")
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
assert_contains(out, "the following new units were started: autorestart.service\n")
|
assert_contains(out, "the following new units were started: autorestart.service\n")
|
||||||
assert_lacks(out, "as well:")
|
|
||||||
machine.systemctl('stop autorestart.service') # cancel the 20y timer
|
machine.systemctl('stop autorestart.service') # cancel the 20y timer
|
||||||
|
|
||||||
# If systemd thinks the unit has failed and is in autorestart, we should show it as failed
|
# If systemd thinks the unit has failed and is in autorestart, we should show it as failed
|
||||||
|
@ -516,7 +578,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
assert_lacks(out, "the following new units were started:")
|
assert_lacks(out, "the following new units were started:")
|
||||||
assert_contains(out, "warning: the following units failed: autorestart.service\n")
|
assert_contains(out, "warning: the following units failed: autorestart.service\n")
|
||||||
assert_contains(out, "Main PID:") # output of systemctl
|
assert_contains(out, "Main PID:") # output of systemctl
|
||||||
assert_lacks(out, "as well:")
|
|
||||||
|
|
||||||
with subtest("unit file parser"):
|
with subtest("unit file parser"):
|
||||||
# Switch to a well-known state
|
# Switch to a well-known state
|
||||||
|
@ -530,7 +591,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
assert_contains(out, "\nrestarting the following units: test.service\n")
|
assert_contains(out, "\nrestarting the following units: test.service\n")
|
||||||
assert_lacks(out, "\nstarting the following units:")
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
assert_lacks(out, "the following new units were started:")
|
assert_lacks(out, "the following new units were started:")
|
||||||
assert_lacks(out, "as well:")
|
|
||||||
|
|
||||||
# Rename it
|
# Rename it
|
||||||
out = switch_to_specialisation("${machine}", "simpleServiceWithExtraSectionOtherName")
|
out = switch_to_specialisation("${machine}", "simpleServiceWithExtraSectionOtherName")
|
||||||
|
@ -540,7 +600,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
assert_contains(out, "\nrestarting the following units: test.service\n")
|
assert_contains(out, "\nrestarting the following units: test.service\n")
|
||||||
assert_lacks(out, "\nstarting the following units:")
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
assert_lacks(out, "the following new units were started:")
|
assert_lacks(out, "the following new units were started:")
|
||||||
assert_lacks(out, "as well:")
|
|
||||||
|
|
||||||
# Remove it
|
# Remove it
|
||||||
out = switch_to_specialisation("${machine}", "simpleServiceNostop")
|
out = switch_to_specialisation("${machine}", "simpleServiceNostop")
|
||||||
|
@ -550,7 +609,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
assert_contains(out, "\nrestarting the following units: test.service\n")
|
assert_contains(out, "\nrestarting the following units: test.service\n")
|
||||||
assert_lacks(out, "\nstarting the following units:")
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
assert_lacks(out, "the following new units were started:")
|
assert_lacks(out, "the following new units were started:")
|
||||||
assert_lacks(out, "as well:")
|
|
||||||
|
|
||||||
# [Install] section is ignored
|
# [Install] section is ignored
|
||||||
out = switch_to_specialisation("${machine}", "simpleServiceWithInstallSection")
|
out = switch_to_specialisation("${machine}", "simpleServiceWithInstallSection")
|
||||||
|
@ -560,7 +618,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
assert_lacks(out, "\nrestarting the following units:")
|
assert_lacks(out, "\nrestarting the following units:")
|
||||||
assert_lacks(out, "\nstarting the following units:")
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
assert_lacks(out, "the following new units were started:")
|
assert_lacks(out, "the following new units were started:")
|
||||||
assert_lacks(out, "as well:")
|
|
||||||
|
|
||||||
# Add a key
|
# Add a key
|
||||||
out = switch_to_specialisation("${machine}", "simpleServiceWithExtraKey")
|
out = switch_to_specialisation("${machine}", "simpleServiceWithExtraKey")
|
||||||
|
@ -570,7 +627,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
assert_contains(out, "\nrestarting the following units: test.service\n")
|
assert_contains(out, "\nrestarting the following units: test.service\n")
|
||||||
assert_lacks(out, "\nstarting the following units:")
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
assert_lacks(out, "the following new units were started:")
|
assert_lacks(out, "the following new units were started:")
|
||||||
assert_lacks(out, "as well:")
|
|
||||||
|
|
||||||
# Change its value
|
# Change its value
|
||||||
out = switch_to_specialisation("${machine}", "simpleServiceWithExtraKeyOtherValue")
|
out = switch_to_specialisation("${machine}", "simpleServiceWithExtraKeyOtherValue")
|
||||||
|
@ -580,7 +636,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
assert_contains(out, "\nrestarting the following units: test.service\n")
|
assert_contains(out, "\nrestarting the following units: test.service\n")
|
||||||
assert_lacks(out, "\nstarting the following units:")
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
assert_lacks(out, "the following new units were started:")
|
assert_lacks(out, "the following new units were started:")
|
||||||
assert_lacks(out, "as well:")
|
|
||||||
|
|
||||||
# Rename it
|
# Rename it
|
||||||
out = switch_to_specialisation("${machine}", "simpleServiceWithExtraKeyOtherName")
|
out = switch_to_specialisation("${machine}", "simpleServiceWithExtraKeyOtherName")
|
||||||
|
@ -590,7 +645,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
assert_contains(out, "\nrestarting the following units: test.service\n")
|
assert_contains(out, "\nrestarting the following units: test.service\n")
|
||||||
assert_lacks(out, "\nstarting the following units:")
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
assert_lacks(out, "the following new units were started:")
|
assert_lacks(out, "the following new units were started:")
|
||||||
assert_lacks(out, "as well:")
|
|
||||||
|
|
||||||
# Remove it
|
# Remove it
|
||||||
out = switch_to_specialisation("${machine}", "simpleServiceNostop")
|
out = switch_to_specialisation("${machine}", "simpleServiceNostop")
|
||||||
|
@ -600,7 +654,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
assert_contains(out, "\nrestarting the following units: test.service\n")
|
assert_contains(out, "\nrestarting the following units: test.service\n")
|
||||||
assert_lacks(out, "\nstarting the following units:")
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
assert_lacks(out, "the following new units were started:")
|
assert_lacks(out, "the following new units were started:")
|
||||||
assert_lacks(out, "as well:")
|
|
||||||
|
|
||||||
# Add a reload trigger
|
# Add a reload trigger
|
||||||
out = switch_to_specialisation("${machine}", "simpleServiceReloadTrigger")
|
out = switch_to_specialisation("${machine}", "simpleServiceReloadTrigger")
|
||||||
|
@ -610,7 +663,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
assert_lacks(out, "\nrestarting the following units:")
|
assert_lacks(out, "\nrestarting the following units:")
|
||||||
assert_lacks(out, "\nstarting the following units:")
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
assert_lacks(out, "the following new units were started:")
|
assert_lacks(out, "the following new units were started:")
|
||||||
assert_lacks(out, "as well:")
|
|
||||||
|
|
||||||
# Modify the reload trigger
|
# Modify the reload trigger
|
||||||
out = switch_to_specialisation("${machine}", "simpleServiceReloadTriggerModified")
|
out = switch_to_specialisation("${machine}", "simpleServiceReloadTriggerModified")
|
||||||
|
@ -620,7 +672,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
assert_lacks(out, "\nrestarting the following units:")
|
assert_lacks(out, "\nrestarting the following units:")
|
||||||
assert_lacks(out, "\nstarting the following units:")
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
assert_lacks(out, "the following new units were started:")
|
assert_lacks(out, "the following new units were started:")
|
||||||
assert_lacks(out, "as well:")
|
|
||||||
|
|
||||||
# Modify the reload trigger and something else
|
# Modify the reload trigger and something else
|
||||||
out = switch_to_specialisation("${machine}", "simpleServiceReloadTriggerModifiedAndSomethingElse")
|
out = switch_to_specialisation("${machine}", "simpleServiceReloadTriggerModifiedAndSomethingElse")
|
||||||
|
@ -630,7 +681,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
assert_contains(out, "\nrestarting the following units: test.service\n")
|
assert_contains(out, "\nrestarting the following units: test.service\n")
|
||||||
assert_lacks(out, "\nstarting the following units:")
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
assert_lacks(out, "the following new units were started:")
|
assert_lacks(out, "the following new units were started:")
|
||||||
assert_lacks(out, "as well:")
|
|
||||||
|
|
||||||
# Remove the reload trigger
|
# Remove the reload trigger
|
||||||
out = switch_to_specialisation("${machine}", "simpleServiceReloadTriggerModifiedSomethingElse")
|
out = switch_to_specialisation("${machine}", "simpleServiceReloadTriggerModifiedSomethingElse")
|
||||||
|
@ -640,7 +690,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
assert_lacks(out, "\nrestarting the following units:")
|
assert_lacks(out, "\nrestarting the following units:")
|
||||||
assert_lacks(out, "\nstarting the following units:")
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
assert_lacks(out, "the following new units were started:")
|
assert_lacks(out, "the following new units were started:")
|
||||||
assert_lacks(out, "as well:")
|
|
||||||
|
|
||||||
with subtest("restart and reload by activation script"):
|
with subtest("restart and reload by activation script"):
|
||||||
switch_to_specialisation("${machine}", "simpleServiceNorestart")
|
switch_to_specialisation("${machine}", "simpleServiceNorestart")
|
||||||
|
@ -650,7 +699,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
assert_lacks(out, "reloading the following units:")
|
assert_lacks(out, "reloading the following units:")
|
||||||
assert_lacks(out, "restarting the following units:")
|
assert_lacks(out, "restarting the following units:")
|
||||||
assert_contains(out, "\nstarting the following units: no-restart-service.service, reload-triggers-and-restart-by-as.service, simple-reload-service.service, simple-restart-service.service, simple-service.service\n")
|
assert_contains(out, "\nstarting the following units: no-restart-service.service, reload-triggers-and-restart-by-as.service, simple-reload-service.service, simple-restart-service.service, simple-service.service\n")
|
||||||
assert_lacks(out, "as well:")
|
assert_contains(out, "the following new units were started: no-restart-service.service, reload-triggers-and-restart-by-as.service, reload-triggers-and-restart.service, reload-triggers.service, simple-reload-service.service, simple-restart-service.service, simple-service.service\n")
|
||||||
# Switch to the same system where the example services get restarted
|
# Switch to the same system where the example services get restarted
|
||||||
# and reloaded by the activation script
|
# and reloaded by the activation script
|
||||||
out = switch_to_specialisation("${machine}", "restart-and-reload-by-activation-script")
|
out = switch_to_specialisation("${machine}", "restart-and-reload-by-activation-script")
|
||||||
|
@ -659,7 +708,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
assert_contains(out, "reloading the following units: reload-triggers-and-restart.service, reload-triggers.service, simple-reload-service.service\n")
|
assert_contains(out, "reloading the following units: reload-triggers-and-restart.service, reload-triggers.service, simple-reload-service.service\n")
|
||||||
assert_contains(out, "restarting the following units: reload-triggers-and-restart-by-as.service, simple-restart-service.service, simple-service.service\n")
|
assert_contains(out, "restarting the following units: reload-triggers-and-restart-by-as.service, simple-restart-service.service, simple-service.service\n")
|
||||||
assert_lacks(out, "\nstarting the following units:")
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
assert_lacks(out, "as well:")
|
assert_lacks(out, "the following new units were started:")
|
||||||
# Switch to the same system and see if the service gets restarted when it's modified
|
# Switch to the same system and see if the service gets restarted when it's modified
|
||||||
# while the fact that it's supposed to be reloaded by the activation script is ignored.
|
# while the fact that it's supposed to be reloaded by the activation script is ignored.
|
||||||
out = switch_to_specialisation("${machine}", "restart-and-reload-by-activation-script-modified")
|
out = switch_to_specialisation("${machine}", "restart-and-reload-by-activation-script-modified")
|
||||||
|
@ -668,7 +717,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
assert_contains(out, "reloading the following units: reload-triggers.service, simple-reload-service.service\n")
|
assert_contains(out, "reloading the following units: reload-triggers.service, simple-reload-service.service\n")
|
||||||
assert_contains(out, "restarting the following units: reload-triggers-and-restart-by-as.service, reload-triggers-and-restart.service, simple-restart-service.service, simple-service.service\n")
|
assert_contains(out, "restarting the following units: reload-triggers-and-restart-by-as.service, reload-triggers-and-restart.service, simple-restart-service.service, simple-service.service\n")
|
||||||
assert_lacks(out, "\nstarting the following units:")
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
assert_lacks(out, "as well:")
|
assert_lacks(out, "the following new units were started:")
|
||||||
# The same, but in dry mode
|
# The same, but in dry mode
|
||||||
out = switch_to_specialisation("${machine}", "restart-and-reload-by-activation-script", action="dry-activate")
|
out = switch_to_specialisation("${machine}", "restart-and-reload-by-activation-script", action="dry-activate")
|
||||||
assert_lacks(out, "would stop the following units:")
|
assert_lacks(out, "would stop the following units:")
|
||||||
|
@ -676,7 +725,71 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
assert_contains(out, "would reload the following units: reload-triggers.service, simple-reload-service.service\n")
|
assert_contains(out, "would reload the following units: reload-triggers.service, simple-reload-service.service\n")
|
||||||
assert_contains(out, "would restart the following units: reload-triggers-and-restart-by-as.service, reload-triggers-and-restart.service, simple-restart-service.service, simple-service.service\n")
|
assert_contains(out, "would restart the following units: reload-triggers-and-restart-by-as.service, reload-triggers-and-restart.service, simple-restart-service.service, simple-service.service\n")
|
||||||
assert_lacks(out, "\nwould start the following units:")
|
assert_lacks(out, "\nwould start the following units:")
|
||||||
assert_lacks(out, "as well:")
|
|
||||||
|
with subtest("socket-activated services"):
|
||||||
|
# Socket-activated services don't get started, just the socket
|
||||||
|
machine.fail("[ -S /run/test.sock ]")
|
||||||
|
out = switch_to_specialisation("${machine}", "simple-socket")
|
||||||
|
# assert_lacks(out, "stopping the following units:") not relevant
|
||||||
|
assert_lacks(out, "NOT restarting the following changed units:")
|
||||||
|
assert_lacks(out, "reloading the following units:")
|
||||||
|
assert_lacks(out, "\nrestarting the following units:")
|
||||||
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
|
assert_contains(out, "the following new units were started: socket-activated.socket\n")
|
||||||
|
machine.succeed("[ -S /run/test.sock ]")
|
||||||
|
|
||||||
|
# Changing a non-activated service does nothing
|
||||||
|
out = switch_to_specialisation("${machine}", "simple-socket-service-modified")
|
||||||
|
assert_lacks(out, "stopping the following units:")
|
||||||
|
assert_lacks(out, "NOT restarting the following changed units:")
|
||||||
|
assert_lacks(out, "reloading the following units:")
|
||||||
|
assert_lacks(out, "\nrestarting the following units:")
|
||||||
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
|
assert_lacks(out, "the following new units were started:")
|
||||||
|
machine.succeed("[ -S /run/test.sock ]")
|
||||||
|
# The unit is properly activated when the socket is accessed
|
||||||
|
if machine.succeed("socat - UNIX-CONNECT:/run/test.sock") != "hello":
|
||||||
|
raise Exception("Socket was not properly activated") # idk how that would happen tbh
|
||||||
|
|
||||||
|
# Changing an activated service with stopIfChanged=false restarts the service
|
||||||
|
out = switch_to_specialisation("${machine}", "simple-socket")
|
||||||
|
assert_lacks(out, "stopping the following units:")
|
||||||
|
assert_lacks(out, "NOT restarting the following changed units:")
|
||||||
|
assert_lacks(out, "reloading the following units:")
|
||||||
|
assert_contains(out, "\nrestarting the following units: socket-activated.service\n")
|
||||||
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
|
assert_lacks(out, "the following new units were started:")
|
||||||
|
machine.succeed("[ -S /run/test.sock ]")
|
||||||
|
# Socket-activation of the unit still works
|
||||||
|
if machine.succeed("socat - UNIX-CONNECT:/run/test.sock") != "hello":
|
||||||
|
raise Exception("Socket was not properly activated after the service was restarted")
|
||||||
|
|
||||||
|
# Changing an activated service with stopIfChanged=true stops the service and
|
||||||
|
# socket and starts the socket
|
||||||
|
out = switch_to_specialisation("${machine}", "simple-socket-stop-if-changed")
|
||||||
|
assert_contains(out, "stopping the following units: socket-activated.service, socket-activated.socket\n")
|
||||||
|
assert_lacks(out, "NOT restarting the following changed units:")
|
||||||
|
assert_lacks(out, "reloading the following units:")
|
||||||
|
assert_lacks(out, "\nrestarting the following units:")
|
||||||
|
assert_contains(out, "\nstarting the following units: socket-activated.socket\n")
|
||||||
|
assert_lacks(out, "the following new units were started:")
|
||||||
|
machine.succeed("[ -S /run/test.sock ]")
|
||||||
|
# Socket-activation of the unit still works
|
||||||
|
if machine.succeed("socat - UNIX-CONNECT:/run/test.sock") != "hello":
|
||||||
|
raise Exception("Socket was not properly activated after the service was restarted")
|
||||||
|
|
||||||
|
# Changing a reload trigger of a socket-activated unit only reloads it
|
||||||
|
out = switch_to_specialisation("${machine}", "simple-socket-stop-if-changed-and-reloadtrigger")
|
||||||
|
assert_lacks(out, "stopping the following units:")
|
||||||
|
assert_lacks(out, "NOT restarting the following changed units:")
|
||||||
|
assert_contains(out, "reloading the following units: socket-activated.service\n")
|
||||||
|
assert_lacks(out, "\nrestarting the following units:")
|
||||||
|
assert_lacks(out, "\nstarting the following units: socket-activated.socket")
|
||||||
|
assert_lacks(out, "the following new units were started:")
|
||||||
|
machine.succeed("[ -S /run/test.sock ]")
|
||||||
|
# Socket-activation of the unit still works
|
||||||
|
if machine.succeed("socat - UNIX-CONNECT:/run/test.sock") != "hello":
|
||||||
|
raise Exception("Socket was not properly activated after the service was restarted")
|
||||||
|
|
||||||
with subtest("mounts"):
|
with subtest("mounts"):
|
||||||
switch_to_specialisation("${machine}", "mount")
|
switch_to_specialisation("${machine}", "mount")
|
||||||
|
@ -689,7 +802,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
assert_lacks(out, "\nrestarting the following units:")
|
assert_lacks(out, "\nrestarting the following units:")
|
||||||
assert_lacks(out, "\nstarting the following units:")
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
assert_lacks(out, "the following new units were started:")
|
assert_lacks(out, "the following new units were started:")
|
||||||
assert_lacks(out, "as well:")
|
|
||||||
# It changed
|
# It changed
|
||||||
out = machine.succeed("mount | grep 'on /testmount'")
|
out = machine.succeed("mount | grep 'on /testmount'")
|
||||||
assert_contains(out, "size=10240k")
|
assert_contains(out, "size=10240k")
|
||||||
|
@ -700,11 +812,11 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
assert_contains(out, "OnCalendar=2014-03-25 02:59:56 UTC")
|
assert_contains(out, "OnCalendar=2014-03-25 02:59:56 UTC")
|
||||||
out = switch_to_specialisation("${machine}", "timerModified")
|
out = switch_to_specialisation("${machine}", "timerModified")
|
||||||
assert_lacks(out, "stopping the following units:")
|
assert_lacks(out, "stopping the following units:")
|
||||||
|
assert_lacks(out, "NOT restarting the following units:")
|
||||||
assert_lacks(out, "reloading the following units:")
|
assert_lacks(out, "reloading the following units:")
|
||||||
assert_contains(out, "restarting the following units: test-timer.timer\n")
|
assert_contains(out, "\nrestarting the following units: test-timer.timer\n")
|
||||||
assert_lacks(out, "\nstarting the following units:")
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
assert_lacks(out, "the following new units were started:")
|
assert_lacks(out, "the following new units were started:")
|
||||||
assert_lacks(out, "as well:")
|
|
||||||
# It changed
|
# It changed
|
||||||
out = machine.succeed("systemctl show test-timer.timer")
|
out = machine.succeed("systemctl show test-timer.timer")
|
||||||
assert_contains(out, "OnCalendar=Fri 2012-11-23 16:00:00")
|
assert_contains(out, "OnCalendar=Fri 2012-11-23 16:00:00")
|
||||||
|
@ -716,8 +828,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
assert_lacks(out, "reloading the following units:")
|
assert_lacks(out, "reloading the following units:")
|
||||||
assert_lacks(out, "\nrestarting the following units:")
|
assert_lacks(out, "\nrestarting the following units:")
|
||||||
assert_lacks(out, "\nstarting the following units:")
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
assert_contains(out, "the following new units were started: test-watch.path")
|
assert_contains(out, "the following new units were started: test-watch.path\n")
|
||||||
assert_lacks(out, "as well:")
|
|
||||||
machine.fail("test -f /testpath-modified")
|
machine.fail("test -f /testpath-modified")
|
||||||
|
|
||||||
# touch the file, unit should be triggered
|
# touch the file, unit should be triggered
|
||||||
|
@ -739,8 +850,21 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||||
with subtest("slices"):
|
with subtest("slices"):
|
||||||
machine.succeed("echo 0 > /proc/sys/vm/panic_on_oom") # allow OOMing
|
machine.succeed("echo 0 > /proc/sys/vm/panic_on_oom") # allow OOMing
|
||||||
out = switch_to_specialisation("${machine}", "slice")
|
out = switch_to_specialisation("${machine}", "slice")
|
||||||
|
# assert_lacks(out, "stopping the following units:") not relevant
|
||||||
|
assert_lacks(out, "NOT restarting the following changed units:")
|
||||||
|
assert_lacks(out, "reloading the following units:")
|
||||||
|
assert_lacks(out, "\nrestarting the following units:")
|
||||||
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
|
assert_lacks(out, "the following new units were started:")
|
||||||
machine.fail("systemctl start testservice.service")
|
machine.fail("systemctl start testservice.service")
|
||||||
|
|
||||||
out = switch_to_specialisation("${machine}", "sliceModified")
|
out = switch_to_specialisation("${machine}", "sliceModified")
|
||||||
|
assert_lacks(out, "stopping the following units:")
|
||||||
|
assert_lacks(out, "NOT restarting the following changed units:")
|
||||||
|
assert_lacks(out, "reloading the following units:")
|
||||||
|
assert_lacks(out, "\nrestarting the following units:")
|
||||||
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
|
assert_lacks(out, "the following new units were started:")
|
||||||
machine.succeed("systemctl start testservice.service")
|
machine.succeed("systemctl start testservice.service")
|
||||||
machine.succeed("echo 1 > /proc/sys/vm/panic_on_oom") # disallow OOMing
|
machine.succeed("echo 1 > /proc/sys/vm/panic_on_oom") # disallow OOMing
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -24,13 +24,13 @@
|
||||||
with lib;
|
with lib;
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = if withGui then "elements" else "elementsd";
|
pname = if withGui then "elements" else "elementsd";
|
||||||
version = "0.21.0.1";
|
version = "0.21.0.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ElementsProject";
|
owner = "ElementsProject";
|
||||||
repo = "elements";
|
repo = "elements";
|
||||||
rev = "elements-${version}";
|
rev = "elements-${version}";
|
||||||
sha256 = "sha256-nZa5doiFQJhtK8cUUISTZhS61HzW7CMB9pPsWKc8Gac=";
|
sha256 = "sha256-5b3wylp9Z2U0ueu2gI9jGeWiiJoddjcjQ/6zkFATyvA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs =
|
nativeBuildInputs =
|
||||||
|
|
|
@ -27,13 +27,13 @@ in
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
pname = "macvim";
|
pname = "macvim";
|
||||||
|
|
||||||
version = "8.2.1719";
|
version = "8.2.3455";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "macvim-dev";
|
owner = "macvim-dev";
|
||||||
repo = "macvim";
|
repo = "macvim";
|
||||||
rev = "snapshot-166";
|
rev = "snapshot-172";
|
||||||
sha256 = "1p51q59l1dl5lnf1ms960lm8zfg39p8xq0pdjw6wdyypjj3r8v3v";
|
sha256 = "sha256-LLLQ/V1vyKTuSXzHW3SOlOejZD5AV16NthEdMoTnfko=";
|
||||||
};
|
};
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
diff --git a/src/MacVim/vimrc b/src/MacVim/vimrc
|
diff --git a/src/MacVim/vimrc b/src/MacVim/vimrc
|
||||||
index af43549..dfb10fe 100644
|
index 32c89b387..c2af70127 100644
|
||||||
--- a/src/MacVim/vimrc
|
--- a/src/MacVim/vimrc
|
||||||
+++ b/src/MacVim/vimrc
|
+++ b/src/MacVim/vimrc
|
||||||
@@ -14,35 +14,5 @@ set backspace+=indent,eol,start
|
@@ -9,35 +9,5 @@ set nocompatible
|
||||||
" translated to English).
|
" more sensible value. Add "set backspace&" to your ~/.vimrc to reset it.
|
||||||
set langmenu=none
|
set backspace+=indent,eol,start
|
||||||
|
|
||||||
-" Python2
|
-" Python2
|
||||||
-" MacVim is configured by default to use the pre-installed System python2
|
-" MacVim is configured by default to use the pre-installed System python2
|
||||||
|
@ -29,22 +29,22 @@ index af43549..dfb10fe 100644
|
||||||
-" or an installation from python.org:
|
-" or an installation from python.org:
|
||||||
-if exists("&pythonthreedll") && exists("&pythonthreehome") &&
|
-if exists("&pythonthreedll") && exists("&pythonthreehome") &&
|
||||||
- \ !filereadable(&pythonthreedll)
|
- \ !filereadable(&pythonthreedll)
|
||||||
- if filereadable("/opt/local/Library/Frameworks/Python.framework/Versions/3.8/Python")
|
- if filereadable("/opt/local/Library/Frameworks/Python.framework/Versions/3.9/Python")
|
||||||
- " MacPorts python 3.8
|
- " MacPorts python 3.9
|
||||||
- set pythonthreedll=/opt/local/Library/Frameworks/Python.framework/Versions/3.8/Python
|
- set pythonthreedll=/opt/local/Library/Frameworks/Python.framework/Versions/3.9/Python
|
||||||
- elseif filereadable("/Library/Frameworks/Python.framework/Versions/3.8/Python")
|
- elseif filereadable("/Library/Frameworks/Python.framework/Versions/3.9/Python")
|
||||||
- " https://www.python.org/downloads/mac-osx/
|
- " https://www.python.org/downloads/mac-osx/
|
||||||
- set pythonthreedll=/Library/Frameworks/Python.framework/Versions/3.8/Python
|
- set pythonthreedll=/Library/Frameworks/Python.framework/Versions/3.9/Python
|
||||||
- endif
|
- endif
|
||||||
-endif
|
-endif
|
||||||
-
|
-
|
||||||
+" Default cscopeprg to the Nix-installed path
|
+" Default cscopeprg to the Nix-installed path
|
||||||
+set cscopeprg=@CSCOPE@
|
+set cscopeprg=@CSCOPE@
|
||||||
diff --git a/src/Makefile b/src/Makefile
|
diff --git a/src/Makefile b/src/Makefile
|
||||||
index fd2d5e1..37a6d6a 100644
|
index c4a3ada37..06ee3de44 100644
|
||||||
--- a/src/Makefile
|
--- a/src/Makefile
|
||||||
+++ b/src/Makefile
|
+++ b/src/Makefile
|
||||||
@@ -1397,7 +1397,7 @@ MACVIMGUI_SRC = gui.c gui_beval.c MacVim/gui_macvim.m MacVim/MMBackend.m \
|
@@ -1402,7 +1402,7 @@ MACVIMGUI_SRC = gui.c gui_beval.c MacVim/gui_macvim.m MacVim/MMBackend.m \
|
||||||
MacVim/MacVim.m
|
MacVim/MacVim.m
|
||||||
MACVIMGUI_OBJ = objects/gui.o objects/gui_beval.o \
|
MACVIMGUI_OBJ = objects/gui.o objects/gui_beval.o \
|
||||||
objects/gui_macvim.o objects/MMBackend.o objects/MacVim.o
|
objects/gui_macvim.o objects/MMBackend.o objects/MacVim.o
|
||||||
|
@ -52,12 +52,12 @@ index fd2d5e1..37a6d6a 100644
|
||||||
+MACVIMGUI_DEFS = -DMACOS_X_DARWIN -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe
|
+MACVIMGUI_DEFS = -DMACOS_X_DARWIN -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe
|
||||||
MACVIMGUI_IPATH =
|
MACVIMGUI_IPATH =
|
||||||
MACVIMGUI_LIBS_DIR =
|
MACVIMGUI_LIBS_DIR =
|
||||||
MACVIMGUI_LIBS1 = -framework Cocoa -framework Carbon
|
MACVIMGUI_LIBS1 =
|
||||||
diff --git a/src/auto/configure b/src/auto/configure
|
diff --git a/src/auto/configure b/src/auto/configure
|
||||||
index 06257a5..68437df 100755
|
index 39ef81449..d8fa7ec2f 100755
|
||||||
--- a/src/auto/configure
|
--- a/src/auto/configure
|
||||||
+++ b/src/auto/configure
|
+++ b/src/auto/configure
|
||||||
@@ -5872,10 +5872,7 @@ $as_echo "not found" >&6; }
|
@@ -5896,10 +5896,7 @@ $as_echo "not found" >&6; }
|
||||||
|
|
||||||
for path in "${vi_cv_path_mzscheme_pfx}/lib" "${SCHEME_LIB}"; do
|
for path in "${vi_cv_path_mzscheme_pfx}/lib" "${SCHEME_LIB}"; do
|
||||||
if test "X$path" != "X"; then
|
if test "X$path" != "X"; then
|
||||||
|
@ -69,7 +69,7 @@ index 06257a5..68437df 100755
|
||||||
MZSCHEME_LIBS="${path}/libmzscheme3m.a"
|
MZSCHEME_LIBS="${path}/libmzscheme3m.a"
|
||||||
MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
|
MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
|
||||||
elif test -f "${path}/libracket3m.a"; then
|
elif test -f "${path}/libracket3m.a"; then
|
||||||
@@ -6260,23 +6257,6 @@ $as_echo ">>> too old; need Perl version 5.003_01 or later <<<" >&6; }
|
@@ -6287,23 +6284,6 @@ $as_echo ">>> too old; need Perl version 5.003_01 or later <<<" >&6; }
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "x$MACOS_X" = "xyes"; then
|
if test "x$MACOS_X" = "xyes"; then
|
||||||
|
@ -93,7 +93,7 @@ index 06257a5..68437df 100755
|
||||||
PERL_LIBS=`echo "$PERL_LIBS" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'`
|
PERL_LIBS=`echo "$PERL_LIBS" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'`
|
||||||
PERL_CFLAGS=`echo "$PERL_CFLAGS" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'`
|
PERL_CFLAGS=`echo "$PERL_CFLAGS" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'`
|
||||||
fi
|
fi
|
||||||
@@ -6499,13 +6479,7 @@ __:
|
@@ -6526,13 +6506,6 @@ __:
|
||||||
eof
|
eof
|
||||||
eval "`cd ${PYTHON_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`"
|
eval "`cd ${PYTHON_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`"
|
||||||
rm -f -- "${tmp_mkf}"
|
rm -f -- "${tmp_mkf}"
|
||||||
|
@ -104,11 +104,10 @@ index 06257a5..68437df 100755
|
||||||
- vi_cv_path_python_plibs="-F${python_PYTHONFRAMEWORKPREFIX} -framework Python"
|
- vi_cv_path_python_plibs="-F${python_PYTHONFRAMEWORKPREFIX} -framework Python"
|
||||||
- fi
|
- fi
|
||||||
- else
|
- else
|
||||||
+
|
|
||||||
vi_cv_path_python_plibs="-L${PYTHON_CONFDIR} -lpython${vi_cv_var_python_version}"
|
vi_cv_path_python_plibs="-L${PYTHON_CONFDIR} -lpython${vi_cv_var_python_version}"
|
||||||
if test -n "${python_LINKFORSHARED}" && test -n "${python_PYTHONFRAMEWORKPREFIX}"; then
|
if test -n "${python_LINKFORSHARED}" && test -n "${python_PYTHONFRAMEWORKPREFIX}"; then
|
||||||
python_link_symbol=`echo ${python_LINKFORSHARED} | sed 's/\([^ \t][^ \t]*[ \t][ \t]*[^ \t][^ \t]*\)[ \t].*/\1/'`
|
python_link_symbol=`echo ${python_LINKFORSHARED} | sed 's/\([^ \t][^ \t]*[ \t][ \t]*[^ \t][^ \t]*\)[ \t].*/\1/'`
|
||||||
@@ -6520,7 +6494,6 @@ eof
|
@@ -6547,7 +6520,6 @@ eof
|
||||||
fi
|
fi
|
||||||
vi_cv_path_python_plibs="${vi_cv_path_python_plibs} ${python_BASEMODLIBS} ${python_LIBS} ${python_SYSLIBS} ${python_LINKFORSHARED}"
|
vi_cv_path_python_plibs="${vi_cv_path_python_plibs} ${python_BASEMODLIBS} ${python_LIBS} ${python_SYSLIBS} ${python_LINKFORSHARED}"
|
||||||
vi_cv_path_python_plibs=`echo $vi_cv_path_python_plibs | sed s/-ltermcap//`
|
vi_cv_path_python_plibs=`echo $vi_cv_path_python_plibs | sed s/-ltermcap//`
|
||||||
|
@ -116,7 +115,7 @@ index 06257a5..68437df 100755
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -6599,13 +6572,6 @@ rm -f core conftest.err conftest.$ac_objext \
|
@@ -6626,13 +6598,6 @@ rm -f core conftest.err conftest.$ac_objext \
|
||||||
$as_echo "no" >&6; }
|
$as_echo "no" >&6; }
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -130,7 +129,7 @@ index 06257a5..68437df 100755
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if compile and link flags for Python are sane" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if compile and link flags for Python are sane" >&5
|
||||||
$as_echo_n "checking if compile and link flags for Python are sane... " >&6; }
|
$as_echo_n "checking if compile and link flags for Python are sane... " >&6; }
|
||||||
cflags_save=$CFLAGS
|
cflags_save=$CFLAGS
|
||||||
@@ -7499,11 +7465,7 @@ $as_echo "$tclver - OK" >&6; };
|
@@ -7557,11 +7522,7 @@ $as_echo "$tclver - OK" >&6; };
|
||||||
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for location of Tcl include" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for location of Tcl include" >&5
|
||||||
$as_echo_n "checking for location of Tcl include... " >&6; }
|
$as_echo_n "checking for location of Tcl include... " >&6; }
|
||||||
|
@ -142,7 +141,7 @@ index 06257a5..68437df 100755
|
||||||
TCL_INC=
|
TCL_INC=
|
||||||
for try in $tclinc; do
|
for try in $tclinc; do
|
||||||
if test -f "$try/tcl.h"; then
|
if test -f "$try/tcl.h"; then
|
||||||
@@ -7521,13 +7483,8 @@ $as_echo "<not found>" >&6; }
|
@@ -7579,13 +7540,8 @@ $as_echo "<not found>" >&6; }
|
||||||
if test -z "$SKIP_TCL"; then
|
if test -z "$SKIP_TCL"; then
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for location of tclConfig.sh script" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for location of tclConfig.sh script" >&5
|
||||||
$as_echo_n "checking for location of tclConfig.sh script... " >&6; }
|
$as_echo_n "checking for location of tclConfig.sh script... " >&6; }
|
||||||
|
@ -156,9 +155,9 @@ index 06257a5..68437df 100755
|
||||||
for try in $tclcnf; do
|
for try in $tclcnf; do
|
||||||
if test -f "$try/tclConfig.sh"; then
|
if test -f "$try/tclConfig.sh"; then
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $try/tclConfig.sh" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $try/tclConfig.sh" >&5
|
||||||
@@ -7717,10 +7674,6 @@ $as_echo "$rubyhdrdir" >&6; }
|
@@ -7774,10 +7730,6 @@ $as_echo "$rubyhdrdir" >&6; }
|
||||||
if test -f "$rubylibdir/$librubya"; then
|
rubylibdir=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig.expand($ruby_rbconfig::CONFIG['libdir'])"`
|
||||||
librubyarg="$librubyarg"
|
if test -f "$rubylibdir/$librubya" || expr "$librubyarg" : "-lruby"; then
|
||||||
RUBY_LIBS="$RUBY_LIBS -L$rubylibdir"
|
RUBY_LIBS="$RUBY_LIBS -L$rubylibdir"
|
||||||
- elif test "$vi_cv_path_ruby" = "/usr/bin/ruby" -a -d "/System/Library/Frameworks/Ruby.framework"; then
|
- elif test "$vi_cv_path_ruby" = "/usr/bin/ruby" -a -d "/System/Library/Frameworks/Ruby.framework"; then
|
||||||
- RUBY_LIBS="-framework Ruby"
|
- RUBY_LIBS="-framework Ruby"
|
||||||
|
@ -168,7 +167,7 @@ index 06257a5..68437df 100755
|
||||||
|
|
||||||
if test "X$librubyarg" != "X"; then
|
if test "X$librubyarg" != "X"; then
|
||||||
diff --git a/src/vim.h b/src/vim.h
|
diff --git a/src/vim.h b/src/vim.h
|
||||||
index bbc01ee..5a93591 100644
|
index 4ff59f201..f91cb9836 100644
|
||||||
--- a/src/vim.h
|
--- a/src/vim.h
|
||||||
+++ b/src/vim.h
|
+++ b/src/vim.h
|
||||||
@@ -244,17 +244,6 @@
|
@@ -244,17 +244,6 @@
|
||||||
|
@ -190,15 +189,14 @@ index bbc01ee..5a93591 100644
|
||||||
# include "os_amiga.h"
|
# include "os_amiga.h"
|
||||||
#endif
|
#endif
|
||||||
diff --git a/src/vimtutor b/src/vimtutor
|
diff --git a/src/vimtutor b/src/vimtutor
|
||||||
index 1e8769b..47078b0 100755
|
index 3b154f288..e89f26060 100755
|
||||||
--- a/src/vimtutor
|
--- a/src/vimtutor
|
||||||
+++ b/src/vimtutor
|
+++ b/src/vimtutor
|
||||||
@@ -16,7 +16,7 @@ seq="vim vim81 vim80 vim8 vim74 vim73 vim72 vim71 vim70 vim7 vim6 vi"
|
@@ -16,6 +16,6 @@ seq="vim vim81 vim80 vim8 vim74 vim73 vim72 vim71 vim70 vim7 vim6 vi"
|
||||||
if test "$1" = "-g"; then
|
if test "$1" = "-g"; then
|
||||||
# Try to use the GUI version of Vim if possible, it will fall back
|
# Try to use the GUI version of Vim if possible, it will fall back
|
||||||
# on Vim if Gvim is not installed.
|
# on Vim if Gvim is not installed.
|
||||||
- seq="gvim gvim81 gvim80 gvim8 gvim74 gvim73 gvim72 gvim71 gvim70 gvim7 gvim6 $seq"
|
- seq="gvim gvim81 gvim80 gvim8 gvim74 gvim73 gvim72 gvim71 gvim70 gvim7 gvim6 $seq"
|
||||||
+ seq="mvim gvim gvim81 gvim80 gvim8 gvim74 gvim73 gvim72 gvim71 gvim70 gvim7 gvim6 $seq"
|
+ seq="mvim gvim gvim81 gvim80 gvim8 gvim74 gvim73 gvim72 gvim71 gvim70 gvim7 gvim6 $seq"
|
||||||
shift
|
shift
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -820,7 +820,7 @@ self: super: {
|
||||||
libiconv
|
libiconv
|
||||||
];
|
];
|
||||||
|
|
||||||
cargoSha256 = "sha256-JKi51kzCHMctUX6tT8K2Rq1slV3Ek67dCgbPjBkwPTE=";
|
cargoSha256 = "12xaxpg4ws09rnp9prrqcac8581ggr36mpy39xyfngjy5xvcalaq";
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
''
|
''
|
||||||
|
|
|
@ -7,26 +7,19 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "avizo";
|
pname = "avizo";
|
||||||
# Note: remove the 'use-sysconfig' patch on the next update
|
version = "1.2";
|
||||||
version = "1.1";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "misterdanb";
|
owner = "misterdanb";
|
||||||
repo = "avizo";
|
repo = "avizo";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-0BJodJ6WaHhuSph2D1AC+DMafctgiSCyaZ8MFn89AA8=";
|
sha256 = "sha256-BRtdCOBFsKkJif/AlnF7N9ZDcmA+878M9lDQld+SAgo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ meson ninja pkg-config vala gobject-introspection wrapGAppsHook ];
|
nativeBuildInputs = [ meson ninja pkg-config vala gobject-introspection wrapGAppsHook ];
|
||||||
|
|
||||||
buildInputs = [ dbus dbus-glib gdk-pixbuf glib gtk-layer-shell gtk3 librsvg ];
|
buildInputs = [ dbus dbus-glib gdk-pixbuf glib gtk-layer-shell gtk3 librsvg ];
|
||||||
|
|
||||||
patches = [
|
|
||||||
# Remove on next update
|
|
||||||
# See https://github.com/misterdanb/avizo/pull/30
|
|
||||||
./use-sysconfdir-instead-of-etc.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
substituteInPlace "$out"/bin/volumectl \
|
substituteInPlace "$out"/bin/volumectl \
|
||||||
--replace 'avizo-client' "$out/bin/avizo-client"
|
--replace 'avizo-client' "$out/bin/avizo-client"
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
diff --git a/meson.build b/meson.build
|
|
||||||
index 1c789be..cd4b07a 100644
|
|
||||||
--- a/meson.build
|
|
||||||
+++ b/meson.build
|
|
||||||
@@ -12,7 +12,9 @@ app_resources_service = gnome.compile_resources(
|
|
||||||
source_dir : '.',
|
|
||||||
c_name : 'avizo_resources')
|
|
||||||
|
|
||||||
-install_data('config.ini', install_dir: '/etc/xdg/avizo')
|
|
||||||
+sysconfdir = get_option('sysconfdir')
|
|
||||||
+
|
|
||||||
+install_data('config.ini', install_dir: join_paths(sysconfdir, 'xdg/avizo'))
|
|
||||||
install_data('volumectl', install_dir: 'bin')
|
|
||||||
install_data('lightctl', install_dir: 'bin')
|
|
||||||
|
|
|
@ -96,7 +96,6 @@ mkDerivation rec {
|
||||||
feedparser
|
feedparser
|
||||||
html2text
|
html2text
|
||||||
html5-parser
|
html5-parser
|
||||||
jeepney
|
|
||||||
lxml
|
lxml
|
||||||
markdown
|
markdown
|
||||||
mechanize
|
mechanize
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
pname = "joplin-desktop";
|
pname = "joplin-desktop";
|
||||||
version = "2.6.10";
|
version = "2.7.13";
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
inherit (stdenv.hostPlatform) system;
|
inherit (stdenv.hostPlatform) system;
|
||||||
|
@ -16,8 +16,8 @@ let
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/laurent22/joplin/releases/download/v${version}/Joplin-${version}.${suffix}";
|
url = "https://github.com/laurent22/joplin/releases/download/v${version}/Joplin-${version}.${suffix}";
|
||||||
sha256 = {
|
sha256 = {
|
||||||
x86_64-linux = "sha256-2/QYEzQjB9n/4k5I/fry3ol8Fpsb5+tc1ttVdf2ID+4=";
|
x86_64-linux = "sha256-ObuBcFV5fq2sryC+ETTAH+S19EW+nVlxdVOtOpiBeDs=";
|
||||||
x86_64-darwin = "sha256-BwBpq78hYJVUItUgs9lonBTV4YWJ+qvML6VTj5M4BQ4=";
|
x86_64-darwin = "sha256-f0+/kUukP+zIzTSSGO1ctUBd/uCSrAKz+uBnrzpPy5k=";
|
||||||
}.${system} or throwSystem;
|
}.${system} or throwSystem;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -6,11 +6,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "upwork";
|
pname = "upwork";
|
||||||
version = "5.6.10.0";
|
version = "5.6.10.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://upwork-usw2-desktopapp.upwork.com/binaries/v5_6_10_0_b124e6f3a4944b32/${pname}_${version}_amd64.deb";
|
url = "https://upwork-usw2-desktopapp.upwork.com/binaries/v5_6_10_1_de501d28cc034306/${pname}_${version}_amd64.deb";
|
||||||
sha256 = "fd201ce817abe32e1b582bb4b55fef85ac8132806f5ddf0548fd25bbfd48833c";
|
sha256 = "8faf896d2570d1d210793f46a3860e934d03498c1f11640d43721b6eb2b56860";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
{ lib, buildGoModule, fetchFromGitHub, fetchzip, installShellFiles }:
|
{ lib, buildGoModule, fetchFromGitHub, fetchzip, installShellFiles }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "0.27.2";
|
version = "0.27.3";
|
||||||
sha256 = "0rdsc9i8mjiwyb6l9sbhxirl4i3b50m6505wwvhxz4y5arzdi1k6";
|
sha256 = "08ax1033456hfm5qz0r671xm5ig0047nqp7xffyn9za498bm4i5q";
|
||||||
manifestsSha256 = "0h966xqjkvrblxd62iph9vwr2h7w1ig943hi5vg0swy4674v3ybf";
|
manifestsSha256 = "165kspq10nvlihcb1460qmbw5r1mlzs5gliw01qa4mymvzmlggk7";
|
||||||
|
|
||||||
manifests = fetchzip {
|
manifests = fetchzip {
|
||||||
url =
|
url =
|
||||||
|
@ -23,7 +23,7 @@ in buildGoModule rec {
|
||||||
inherit sha256;
|
inherit sha256;
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-xkhbGID+oI7+kLml8CveEet7gtPSty8LGv1gkqpqg6w=";
|
vendorSha256 = "sha256-ENSfec7iSKOkILgVCVnORpAia4D+vBjQAUXDA7EIvVQ=";
|
||||||
|
|
||||||
postUnpack = ''
|
postUnpack = ''
|
||||||
cp -r ${manifests} source/cmd/flux/manifests
|
cp -r ${manifests} source/cmd/flux/manifests
|
||||||
|
|
|
@ -17,6 +17,7 @@ let
|
||||||
comment = "Free Runtime Environment for Java Applications.";
|
comment = "Free Runtime Environment for Java Applications.";
|
||||||
desktopName = "Jameica";
|
desktopName = "Jameica";
|
||||||
genericName = "Jameica";
|
genericName = "Jameica";
|
||||||
|
icon = "jameica";
|
||||||
categories = [ "Office" ];
|
categories = [ "Office" ];
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
|
|
|
@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
buildInputs = [ zlib ];
|
buildInputs = [ zlib ];
|
||||||
|
|
||||||
|
makeFlags = lib.optionals stdenv.isAarch64 [ "arm_neon=1" "aarch64=1" ];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
cp minimap2 $out/bin
|
cp minimap2 $out/bin
|
||||||
|
@ -25,7 +27,6 @@ stdenv.mkDerivation rec {
|
||||||
homepage = "https://lh3.github.io/minimap2";
|
homepage = "https://lh3.github.io/minimap2";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
badPlatforms = platforms.aarch64;
|
|
||||||
maintainers = [ maintainers.arcadio ];
|
maintainers = [ maintainers.arcadio ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,12 +16,12 @@ with lib;
|
||||||
|
|
||||||
buildGoPackage rec {
|
buildGoPackage rec {
|
||||||
pname = "gitea";
|
pname = "gitea";
|
||||||
version = "1.16.2";
|
version = "1.16.3";
|
||||||
|
|
||||||
# not fetching directly from the git repo, because that lacks several vendor files for the web UI
|
# not fetching directly from the git repo, because that lacks several vendor files for the web UI
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz";
|
url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz";
|
||||||
sha256 = "sha256-fN7F76TzxBwvUbe2Ha5sfAk6x+FaUDIdx8YaQKfndSU=";
|
sha256 = "sha256-kT87CV/P1MUBLRetzYdIsIGVDjp9F6zmD2ovmcmy4Ys=";
|
||||||
};
|
};
|
||||||
|
|
||||||
unpackPhase = ''
|
unpackPhase = ''
|
||||||
|
|
|
@ -58,6 +58,7 @@ buildGoModule rec {
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
|
mkdir -p {$out/{bin,etc,lib,share},$man} # ensure paths exist for the wrapper
|
||||||
${if stdenv.isDarwin then ''
|
${if stdenv.isDarwin then ''
|
||||||
mv bin/{darwin/podman,podman}
|
mv bin/{darwin/podman,podman}
|
||||||
'' else ''
|
'' else ''
|
||||||
|
|
|
@ -1,13 +1,14 @@
|
||||||
{ lib, stdenv, fetchurl, acpica-tools, python3 }:
|
{ lib, stdenv, fetchgit, acpica-tools, python3 }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
|
||||||
pname = "seabios";
|
pname = "seabios";
|
||||||
version = "1.15.0";
|
version = "1.16.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchgit {
|
||||||
url = "https://www.seabios.org/downloads/${pname}-${version}.tar.gz";
|
url = "https://git.seabios.org/seabios.git";
|
||||||
sha256 = "sha256-YownF8mUMmtFMlFXPRBZ4qOhEtSqSIds4nyz8d4ZiPg=";
|
rev = "rel-${version}";
|
||||||
|
sha256 = "0acal1rr7sya86wlhw2mgimabwhjnr0y1pl5zxwb79j8k1w1r8sh";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ python3 ];
|
nativeBuildInputs = [ python3 ];
|
||||||
|
@ -43,7 +44,7 @@ stdenv.mkDerivation rec {
|
||||||
'';
|
'';
|
||||||
homepage = "http://www.seabios.org";
|
homepage = "http://www.seabios.org";
|
||||||
license = licenses.lgpl3;
|
license = licenses.lgpl3;
|
||||||
maintainers = [ maintainers.tstrobel ];
|
maintainers = with maintainers; [ tstrobel ];
|
||||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,7 +38,8 @@ rec {
|
||||||
contents ? [],
|
contents ? [],
|
||||||
diskSize ? 1024,
|
diskSize ? 1024,
|
||||||
runScript ? "#!${stdenv.shell}\nexec /bin/sh",
|
runScript ? "#!${stdenv.shell}\nexec /bin/sh",
|
||||||
runAsRoot ? null
|
runAsRoot ? null,
|
||||||
|
memSize ? 512
|
||||||
}:
|
}:
|
||||||
let layer = mkLayer {
|
let layer = mkLayer {
|
||||||
inherit name;
|
inherit name;
|
||||||
|
@ -54,6 +55,7 @@ rec {
|
||||||
size = diskSize;
|
size = diskSize;
|
||||||
fullName = "singularity-run-disk";
|
fullName = "singularity-run-disk";
|
||||||
};
|
};
|
||||||
|
inherit memSize;
|
||||||
}
|
}
|
||||||
''
|
''
|
||||||
rm -rf $out
|
rm -rf $out
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "numix-icon-theme-circle";
|
pname = "numix-icon-theme-circle";
|
||||||
version = "22.02.06";
|
version = "22.03.01";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "numixproject";
|
owner = "numixproject";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-a+h5DMxVM1TPVx8yuKwRzjjnBLnIWMCCKG+BPg1Hq5Y=";
|
sha256 = "sha256-adSoFKvemirQtxoS6KrQvXxtIOKFZ73PTktVXytblbM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ gtk3 ];
|
nativeBuildInputs = [ gtk3 ];
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "numix-icon-theme-square";
|
pname = "numix-icon-theme-square";
|
||||||
version = "22.02.06";
|
version = "22.03.01";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "numixproject";
|
owner = "numixproject";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-dKBNB1udRysDe3HbUh2qudQDeLgS/wmSnY3nAWnmjQo=";
|
sha256 = "sha256-VCXHInaxn5BKY9Yth6DjoKa/JS2WVjvwAfRMiL2r1B0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ gtk3 ];
|
nativeBuildInputs = [ gtk3 ];
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "papirus-icon-theme";
|
pname = "papirus-icon-theme";
|
||||||
version = "20220204";
|
version = "20220302";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "PapirusDevelopmentTeam";
|
owner = "PapirusDevelopmentTeam";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-DYz2fnn1ZfX09NQcRXmGTYY95K5wOWhlmJeDjEvN1vY=";
|
sha256 = "sha256-X92an2jGRgZ/Q3cr6Q729DA2hs/2y34HoRpB1rxk0hI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ gtk3 ];
|
nativeBuildInputs = [ gtk3 ];
|
||||||
|
|
|
@ -80,9 +80,9 @@ rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
cudatoolkit_11_6 = common {
|
cudatoolkit_11_6 = common {
|
||||||
version = "11.6.0";
|
version = "11.6.1";
|
||||||
url = "https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda_11.6.0_510.39.01_linux.run";
|
url = "https://developer.download.nvidia.com/compute/cuda/11.6.1/local_installers/cuda_11.6.1_510.47.03_linux.run";
|
||||||
sha256 = "10wcv42ljp7hz1k0wzgwb4hi8834rfipzdc01428c1wpcdnxm0qp";
|
sha256 = "sha256-qyGa/OALdCABEyaYZvv/derQN7z8I1UagzjCaEyYTX4=";
|
||||||
gcc = gcc10; # can bump to 11 along with stdenv.cc
|
gcc = gcc10; # can bump to 11 along with stdenv.cc
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, cmake }:
|
{ lib, stdenv, fetchFromGitHub, cmake }:
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "cmark-gfm";
|
pname = "cmark-gfm";
|
||||||
version = "0.29.0.gfm.2";
|
version = "0.29.0.gfm.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "github";
|
owner = "github";
|
||||||
repo = "cmark-gfm";
|
repo = "cmark-gfm";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-8PjG87hR66ozKx+PSuKi0vHIoKICHSLdl2cKUYf+5m8=";
|
sha256 = "sha256-V3XegSjqKLCMpfnoYHr9/r5fSC2CC7A2jXkAcHUt7eA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
|
@ -16,13 +16,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "libdeltachat";
|
pname = "libdeltachat";
|
||||||
version = "1.75.0";
|
version = "1.76.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "deltachat";
|
owner = "deltachat";
|
||||||
repo = "deltachat-core-rust";
|
repo = "deltachat-core-rust";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-3oYQwV1Srnq8VfS+M+BwIznXRxQFXr78SwXO3Xu08ws=";
|
hash = "sha256-aeYOszOFyLaC1xKswYZLzqoWSFFWOOeOkc+WrtqU0jo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
|
||||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||||
inherit src;
|
inherit src;
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
hash = "sha256-jti1aY8a9YB8x6fz7UqTY4uDj6gkMnG1hTN/Mgc+mHs=";
|
hash = "sha256-sBFXcLXpAkX+HzRKrLKaHhi5ieS8Yc/Uf30WcXyWrok=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -69,6 +69,7 @@ stdenv.mkDerivation rec {
|
||||||
"-Dintrospection=${mesonEnableFeature enableGI}"
|
"-Dintrospection=${mesonEnableFeature enableGI}"
|
||||||
"-Dsystemd-system-service=true"
|
"-Dsystemd-system-service=true"
|
||||||
"-Dsystemd-system-unit-dir=${placeholder "out"}/lib/systemd/system"
|
"-Dsystemd-system-unit-dir=${placeholder "out"}/lib/systemd/system"
|
||||||
|
"-Dsysconfdir=/etc"
|
||||||
];
|
];
|
||||||
|
|
||||||
passthru.updateScript = nix-update-script {
|
passthru.updateScript = nix-update-script {
|
||||||
|
|
|
@ -24,7 +24,7 @@ with self;
|
||||||
hash = "0gl89zpgsf3n30nb6v5cns27g2bfg4rf3s2427gqvwbkr5gcf7ri";
|
hash = "0gl89zpgsf3n30nb6v5cns27g2bfg4rf3s2427gqvwbkr5gcf7ri";
|
||||||
meta.description = "Full standard library replacement for OCaml";
|
meta.description = "Full standard library replacement for OCaml";
|
||||||
propagatedBuildInputs = [ sexplib0 ];
|
propagatedBuildInputs = [ sexplib0 ];
|
||||||
buildInputs = [ dune-configurator ];
|
buildInputs = [ dune_1 ];
|
||||||
};
|
};
|
||||||
|
|
||||||
stdio = janePackage {
|
stdio = janePackage {
|
||||||
|
@ -208,7 +208,7 @@ with self;
|
||||||
pname = "jst-config";
|
pname = "jst-config";
|
||||||
hash = "0yxcz13vda1mdh9ah7qqxwfxpcqang5sgdssd8721rszbwqqaw93";
|
hash = "0yxcz13vda1mdh9ah7qqxwfxpcqang5sgdssd8721rszbwqqaw93";
|
||||||
meta.description = "Compile-time configuration for Jane Street libraries";
|
meta.description = "Compile-time configuration for Jane Street libraries";
|
||||||
buildInputs = [ ppx_assert ];
|
buildInputs = [ dune_1 ppx_assert ];
|
||||||
};
|
};
|
||||||
|
|
||||||
ppx_optcomp = janePackage {
|
ppx_optcomp = janePackage {
|
||||||
|
|
|
@ -1,13 +1,11 @@
|
||||||
{ lib, fetchFromGitHub, buildDunePackage, defaultVersion ? "0.12.0" }:
|
{ lib, fetchFromGitHub, buildDunePackage, defaultVersion ? "0.12.0" }:
|
||||||
|
|
||||||
{ pname, version ? defaultVersion, hash, buildInputs ? [], ...}@args:
|
{ pname, version ? defaultVersion, hash, ...}@args:
|
||||||
|
|
||||||
buildDunePackage (args // {
|
buildDunePackage (args // {
|
||||||
inherit version buildInputs;
|
inherit version;
|
||||||
|
|
||||||
minimumOCamlVersion = "4.07";
|
minimalOCamlVersion = "4.07";
|
||||||
|
|
||||||
useDune2 = true;
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "janestreet";
|
owner = "janestreet";
|
||||||
|
|
|
@ -6,13 +6,13 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
version = "9.0.0";
|
version = "9.1.0";
|
||||||
pname = "azure-mgmt-containerregistry";
|
pname = "azure-mgmt-containerregistry";
|
||||||
disabled = isPy27;
|
disabled = isPy27;
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "9f6c5894d32ba696527ecf0ff155bb43c325dff6a11a6de60cd22ea3f5fb180d";
|
sha256 = "sha256-jkzGLDqrJgwCnz27lGzFk4d2q+j0P+PU8uUVGQg7MkA=";
|
||||||
extension = "zip";
|
extension = "zip";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -11,12 +11,12 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "azure-mgmt-datafactory";
|
pname = "azure-mgmt-datafactory";
|
||||||
version = "2.2.1";
|
version = "2.3.0";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
extension = "zip";
|
extension = "zip";
|
||||||
sha256 = "sha256-/YmFlK5xl3HjaKGAhQu0JUVeujzPkAb8gNik4Lzp470=";
|
sha256 = "sha256-pjBjFPkKhKd8XI6wmzX/rAssHINMzDAZa+XRqG/pLYo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -13,12 +13,12 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "bandit";
|
pname = "bandit";
|
||||||
version = "1.7.3";
|
version = "1.7.4";
|
||||||
disabled = !isPy3k;
|
disabled = !isPy3k;
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "sha256-WHcsqVG/ESndqKKA01FUfegycgv3tcKfrDEDknmAuKY=";
|
sha256 = "sha256-LWOoxXNBe64ziWLUubBvvGCA907NlVoJKEnh5lxxe9I=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -19,13 +19,13 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "cfn-lint";
|
pname = "cfn-lint";
|
||||||
version = "0.56.4";
|
version = "0.58.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "aws-cloudformation";
|
owner = "aws-cloudformation";
|
||||||
repo = "cfn-python-lint";
|
repo = "cfn-python-lint";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0li8zkdvmgfxqzqs1rvd48mwim0bhjwmxlywqxjix0a43kvkvh77";
|
sha256 = "sha256-ArpvP4tbRf1fK8BPokRXqS3YyaFiOLBrR8uQHko5iKo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -9,10 +9,15 @@ buildPythonPackage rec {
|
||||||
sha256 = "0fb7b3fd03d76eddd4474b0561e1c2662457593a74cc300fd27e5409cd4d7922";
|
sha256 = "0fb7b3fd03d76eddd4474b0561e1c2662457593a74cc300fd27e5409cd4d7922";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace setup.py --replace "lark-parser" "lark"
|
||||||
|
'';
|
||||||
|
|
||||||
propagatedBuildInputs = [ hypothesis lark libcst ];
|
propagatedBuildInputs = [ hypothesis lark libcst ];
|
||||||
|
|
||||||
checkInputs = [ black parso pytestCheckHook pytest-cov pytest-xdist ];
|
checkInputs = [ black parso pytestCheckHook pytest-cov pytest-xdist ];
|
||||||
|
|
||||||
|
pytestFlagsArray = [ "-v" ]; # tests are fairly slow, prevents timeout due to no stdout printing
|
||||||
pythonImportsCheck = [ "hypothesmith" ];
|
pythonImportsCheck = [ "hypothesmith" ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
index 66e6d49..78f7b42 100644
|
index 17c7032..12ed398 100644
|
||||||
--- a/CMakeLists.txt
|
--- a/CMakeLists.txt
|
||||||
+++ b/CMakeLists.txt
|
+++ b/CMakeLists.txt
|
||||||
@@ -1,23 +1,6 @@
|
@@ -1,87 +1,12 @@
|
||||||
cmake_minimum_required(VERSION 3.13.0)
|
cmake_minimum_required(VERSION 3.13.0)
|
||||||
project(kaldi_binaries)
|
project(kaldi_binaries)
|
||||||
|
|
||||||
|
@ -24,9 +24,8 @@ index 66e6d49..78f7b42 100644
|
||||||
-endif()
|
-endif()
|
||||||
-
|
-
|
||||||
set(BINARIES
|
set(BINARIES
|
||||||
tools/openfst/bin/fstarcsort${CMAKE_EXECUTABLE_SUFFIX}
|
)
|
||||||
tools/openfst/bin/fstcompile${CMAKE_EXECUTABLE_SUFFIX}
|
set(LIBRARIES
|
||||||
@@ -29,63 +12,6 @@ set(LIBRARIES
|
|
||||||
src/lib/libkaldi-dragonfly${CMAKE_SHARED_LIBRARY_SUFFIX}
|
src/lib/libkaldi-dragonfly${CMAKE_SHARED_LIBRARY_SUFFIX}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -87,30 +86,33 @@ index 66e6d49..78f7b42 100644
|
||||||
- message(FATAL_ERROR "KALDI_BRANCH not set! Use 'origin/master'?")
|
- message(FATAL_ERROR "KALDI_BRANCH not set! Use 'origin/master'?")
|
||||||
- # set(KALDI_BRANCH "origin/master")
|
- # set(KALDI_BRANCH "origin/master")
|
||||||
-endif()
|
-endif()
|
||||||
|
-
|
||||||
message("MAKE_EXE = ${MAKE_EXE}")
|
message("MAKE_EXE = ${MAKE_EXE}")
|
||||||
message("PYTHON_EXECUTABLE = ${PYTHON_EXECUTABLE}")
|
message("PYTHON_EXECUTABLE = ${PYTHON_EXECUTABLE}")
|
||||||
@@ -99,63 +25,4 @@ message("CMAKE_CURRENT_BINARY_DIR = ${CMAKE_CURRENT_BINARY_DIR}")
|
message("PYTHON_INCLUDE_DIR = ${PYTHON_INCLUDE_DIR}")
|
||||||
|
@@ -94,65 +19,4 @@ message("CMAKE_CURRENT_BINARY_DIR = ${CMAKE_CURRENT_BINARY_DIR}")
|
||||||
|
|
||||||
# CXXFLAGS are set and exported in kaldi-configure-wrapper.sh
|
# CXXFLAGS are set and exported in kaldi-configure-wrapper.sh
|
||||||
|
|
||||||
-if(NOT "${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "Windows")
|
-if(NOT "${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "Windows")
|
||||||
- set(STRIP_LIBS_COMMAND find src/lib tools/openfst/lib -name *${CMAKE_SHARED_LIBRARY_SUFFIX} | xargs strip)
|
- set(STRIP_LIBS_COMMAND find src/lib tools/openfst/lib -name *${CMAKE_SHARED_LIBRARY_SUFFIX} | xargs strip)
|
||||||
- set(STRIP_DST_COMMAND find ${DST} | xargs strip)
|
- # set(STRIP_DST_COMMAND find ${DST} [[[other specifiers]]] | xargs strip)
|
||||||
- if("${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "Darwin")
|
- if("${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "Darwin")
|
||||||
- list(APPEND STRIP_LIBS_COMMAND -x)
|
- list(APPEND STRIP_LIBS_COMMAND -x)
|
||||||
- list(APPEND STRIP_DST_COMMAND -x)
|
- # list(APPEND STRIP_DST_COMMAND -x)
|
||||||
- endif()
|
- endif()
|
||||||
|
- # set(STRIP_LIBS_COMMAND true)
|
||||||
|
- set(STRIP_DST_COMMAND true)
|
||||||
- ExternalProject_Add(kaldi
|
- ExternalProject_Add(kaldi
|
||||||
- GIT_CONFIG advice.detachedHead=false
|
- GIT_CONFIG advice.detachedHead=false
|
||||||
- GIT_REPOSITORY https://github.com/daanzu/kaldi-fork-active-grammar.git
|
- GIT_REPOSITORY https://github.com/daanzu/kaldi-fork-active-grammar.git
|
||||||
- GIT_TAG ${KALDI_BRANCH}
|
- GIT_TAG ${KALDI_BRANCH}
|
||||||
- GIT_SHALLOW TRUE
|
- GIT_SHALLOW TRUE
|
||||||
- CONFIGURE_COMMAND sed -i.bak -e "s/status=0/exit 0/g" tools/extras/check_dependencies.sh && cp ${PROJECT_SOURCE_DIR}/building/kaldi-configure-wrapper.sh src/
|
- CONFIGURE_COMMAND sed -i.bak -e "s/status=0/exit 0/g" tools/extras/check_dependencies.sh && sed -i.bak -e "s/openfst_add_CXXFLAGS = -g -O2/openfst_add_CXXFLAGS = -g0 -O3/g" tools/Makefile && cp ${PROJECT_SOURCE_DIR}/building/kaldi-configure-wrapper.sh src/
|
||||||
- BUILD_IN_SOURCE TRUE
|
- BUILD_IN_SOURCE TRUE
|
||||||
- BUILD_COMMAND ${MATHLIB_BUILD_COMMAND} && cd tools && ${MAKE_EXE} ${MAKE_FLAGS} && cd openfst && autoreconf && cd ../../src && bash ./kaldi-configure-wrapper.sh ./configure ${KALDI_CONFIG_FLAGS} && ${MAKE_EXE} ${MAKE_FLAGS} depend && ${MAKE_EXE} ${MAKE_FLAGS} dragonfly dragonflybin bin fstbin lmbin
|
- BUILD_COMMAND ${MATHLIB_BUILD_COMMAND} && cd tools && ${MAKE_EXE} ${MAKE_FLAGS} && cd openfst && autoreconf && cd ../../src && bash ./kaldi-configure-wrapper.sh ./configure ${KALDI_CONFIG_FLAGS} && ${MAKE_EXE} ${MAKE_FLAGS} depend && ${MAKE_EXE} ${MAKE_FLAGS} dragonfly
|
||||||
- LIST_SEPARATOR " "
|
- LIST_SEPARATOR " "
|
||||||
- INSTALL_COMMAND ${STRIP_LIBS_COMMAND} && mkdir -p ${DST} && cp ${BINARIES} ${LIBRARIES} ${DST}
|
- INSTALL_COMMAND ${STRIP_LIBS_COMMAND} && mkdir -p ${DST} && cp ${BINARIES} ${LIBRARIES} ${DST} && ${STRIP_DST_COMMAND}
|
||||||
- )
|
- )
|
||||||
-endif()
|
-endif()
|
||||||
-
|
-
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
diff --git a/kaldi_active_grammar/utils.py b/kaldi_active_grammar/utils.py
|
diff --git a/kaldi_active_grammar/utils.py b/kaldi_active_grammar/utils.py
|
||||||
index 0b70c7f..21e1d62 100644
|
index 823f997..3850336 100644
|
||||||
--- a/kaldi_active_grammar/utils.py
|
--- a/kaldi_active_grammar/utils.py
|
||||||
+++ b/kaldi_active_grammar/utils.py
|
+++ b/kaldi_active_grammar/utils.py
|
||||||
@@ -79,7 +79,7 @@ elif sys.platform.startswith('linux'): platform = 'linux'
|
@@ -79,7 +79,7 @@ elif sys.platform.startswith('linux'): platform = 'linux'
|
||||||
|
@ -8,10 +8,10 @@ index 0b70c7f..21e1d62 100644
|
||||||
|
|
||||||
-exec_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'exec', platform)
|
-exec_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'exec', platform)
|
||||||
+exec_dir = '/'
|
+exec_dir = '/'
|
||||||
library_extension = dict(windows='.dll', linux='.so', macos='.dylib')[platform]
|
|
||||||
subprocess_seperator = '^&' if platform == 'windows' else ';'
|
|
||||||
|
|
||||||
@@ -89,13 +89,13 @@ class ExternalProcess(object):
|
import ush
|
||||||
|
|
||||||
|
@@ -87,13 +87,13 @@ class ExternalProcess(object):
|
||||||
|
|
||||||
shell = ush.Shell(raise_on_error=True)
|
shell = ush.Shell(raise_on_error=True)
|
||||||
|
|
||||||
|
|
|
@ -50,6 +50,8 @@ buildPythonPackage rec {
|
||||||
nativeBuildInputs = [ scikit-build cmake ];
|
nativeBuildInputs = [ scikit-build cmake ];
|
||||||
propagatedBuildInputs = [ ush requests numpy cffi ];
|
propagatedBuildInputs = [ ush requests numpy cffi ];
|
||||||
|
|
||||||
|
doCheck = false; # no tests exist
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Python Kaldi speech recognition";
|
description = "Python Kaldi speech recognition";
|
||||||
homepage = "https://github.com/daanzu/kaldi-active-grammar";
|
homepage = "https://github.com/daanzu/kaldi-active-grammar";
|
||||||
|
|
|
@ -3,17 +3,18 @@
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, python
|
, python
|
||||||
, regex
|
, regex
|
||||||
|
, pytestCheckHook
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "lark";
|
pname = "lark";
|
||||||
version = "1.0.0";
|
version = "1.1.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "lark-parser";
|
owner = "lark-parser";
|
||||||
repo = "lark";
|
repo = "lark";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "0pfvjh4ydc49gs6m8b3ip85c8nd4da2bhz9714fwcyl3hdp33q7n";
|
sha256 = "sha256-Y1bDSiFnqAKTlIcd8aAgtc+I3TLnWF8hhQK2ez96TQs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Optional import, but fixes some re known bugs & allows advanced regex features
|
# Optional import, but fixes some re known bugs & allows advanced regex features
|
||||||
|
@ -26,15 +27,11 @@ buildPythonPackage rec {
|
||||||
"lark.grammars"
|
"lark.grammars"
|
||||||
];
|
];
|
||||||
|
|
||||||
checkPhase = ''
|
checkInputs = [ pytestCheckHook ];
|
||||||
runHook preCheck
|
|
||||||
|
|
||||||
# Official way to run the tests. Runs unittest internally.
|
disabledTestPaths = [
|
||||||
# pytest produces issues with some test resource paths (relies on __main__)
|
"tests/test_nearley/test_nearley.py" # requires unpackaged Js2Py library
|
||||||
${python.interpreter} -m tests
|
];
|
||||||
|
|
||||||
runHook postCheck
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A modern parsing library for Python, implementing Earley & LALR(1) and an easy interface";
|
description = "A modern parsing library for Python, implementing Earley & LALR(1) and an easy interface";
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pycfmodel";
|
pname = "pycfmodel";
|
||||||
version = "0.17.0";
|
version = "0.17.1";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
@ -18,7 +18,7 @@ buildPythonPackage rec {
|
||||||
owner = "Skyscanner";
|
owner = "Skyscanner";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-IfeGNAgVCnrzipQpGiEqfWWNkUNmeH7TInl8kje52js=";
|
hash = "sha256-Rw0sZ2k+tXo04mvlL83hUgdHIND5NIsVH/CzrfmbKlE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -7,13 +7,15 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pyobihai";
|
pname = "pyobihai";
|
||||||
version = "1.3.1";
|
version = "1.3.2";
|
||||||
disabled = pythonOlder "3.6";
|
format = "setuptools";
|
||||||
|
|
||||||
|
disabled = pythonOlder "3.7";
|
||||||
|
|
||||||
# GitHub release, https://github.com/dshokouhi/pyobihai/issues/10
|
# GitHub release, https://github.com/dshokouhi/pyobihai/issues/10
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "1vvf5if57dfd091a7fb5rvx63hvf0isrx28j72nj2aav1as460qp";
|
hash = "sha256-zhsnJyhXlugK0nJ7FJZZcrq2VDQt1a9uCgsJAIABZ28=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
@ -23,7 +25,9 @@ buildPythonPackage rec {
|
||||||
# Project has no tests
|
# Project has no tests
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
pythonImportsCheck = [ "pyobihai" ];
|
pythonImportsCheck = [
|
||||||
|
"pyobihai"
|
||||||
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Python package to interact with Obihai devices";
|
description = "Python package to interact with Obihai devices";
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "slack-sdk";
|
pname = "slack-sdk";
|
||||||
version = "3.15.1";
|
version = "3.15.2";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.6";
|
disabled = pythonOlder "3.6";
|
||||||
|
@ -29,7 +29,7 @@ buildPythonPackage rec {
|
||||||
owner = "slackapi";
|
owner = "slackapi";
|
||||||
repo = "python-slack-sdk";
|
repo = "python-slack-sdk";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-N8JvNK1ddlCabzCmEv9TItqXDT7A4Dt8dhMLBICWXHA=";
|
sha256 = "sha256-lhdh4Eo7yIsukXoKI6Ss793fYmAu91O1UElmxV9xAc4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -7,14 +7,14 @@
|
||||||
|
|
||||||
buildPythonApplication rec {
|
buildPythonApplication rec {
|
||||||
pname = "sybil";
|
pname = "sybil";
|
||||||
version = "3.0.0";
|
version = "3.0.1";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.6";
|
disabled = pythonOlder "3.6";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "sha256-dpLtZueT5eea5qcM8s+GGRftSOr/DYrfgl5k2Fgg8lE=";
|
hash = "sha256-bwLcIgSvflohIDeSTZdPcngfbcGP08RMx85GOhIPUw0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
checkInputs = [
|
checkInputs = [
|
||||||
|
@ -22,7 +22,7 @@ buildPythonApplication rec {
|
||||||
];
|
];
|
||||||
|
|
||||||
disabledTests = [
|
disabledTests = [
|
||||||
# sensitive to output of other commands
|
# Sensitive to output of other commands
|
||||||
"test_namespace"
|
"test_namespace"
|
||||||
"test_unittest"
|
"test_unittest"
|
||||||
];
|
];
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "testfixtures";
|
pname = "testfixtures";
|
||||||
version = "6.18.3";
|
version = "6.18.5";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
# DO NOT CONTACT upstream.
|
# DO NOT CONTACT upstream.
|
||||||
# https://github.com/simplistix/ is only concerned with internal CI process.
|
# https://github.com/simplistix/ is only concerned with internal CI process.
|
||||||
|
@ -25,12 +25,9 @@ buildPythonPackage rec {
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "sha256-JgAQCulv/QgjNLN441VVD++LSlKab6TDT0cTCQXHQm0=";
|
hash = "sha256-Atrog/Vn9bcP0608nu+5WRLniskL5sdES14vRr9XLIQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# no longer compatible with sybil
|
|
||||||
# https://github.com/simplistix/testfixtures/issues/169
|
|
||||||
doCheck = false;
|
|
||||||
checkInputs = [
|
checkInputs = [
|
||||||
mock
|
mock
|
||||||
pytestCheckHook
|
pytestCheckHook
|
||||||
|
@ -44,19 +41,6 @@ buildPythonPackage rec {
|
||||||
"testfixtures/tests/test_django"
|
"testfixtures/tests/test_django"
|
||||||
];
|
];
|
||||||
|
|
||||||
disabledTests = lib.optionals (pythonAtLeast "3.10") [
|
|
||||||
# https://github.com/simplistix/testfixtures/issues/168
|
|
||||||
"test_invalid_communicate_call"
|
|
||||||
"test_invalid_kill"
|
|
||||||
"test_invalid_parameters"
|
|
||||||
"test_invalid_poll"
|
|
||||||
"test_invalid_send_signal"
|
|
||||||
"test_invalid_terminate"
|
|
||||||
"test_invalid_wait_call"
|
|
||||||
"test_replace_delattr_cant_remove"
|
|
||||||
"test_replace_delattr_cant_remove_not_strict"
|
|
||||||
];
|
|
||||||
|
|
||||||
pytestFlagsArray = [
|
pytestFlagsArray = [
|
||||||
"testfixtures/tests"
|
"testfixtures/tests"
|
||||||
];
|
];
|
||||||
|
|
44
pkgs/development/python-modules/tikzplotlib/default.nix
Normal file
44
pkgs/development/python-modules/tikzplotlib/default.nix
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, matplotlib
|
||||||
|
, numpy
|
||||||
|
, pillow
|
||||||
|
, webcolors
|
||||||
|
, flit-core
|
||||||
|
, pytestCheckHook
|
||||||
|
, pandas
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "tikzplotlib";
|
||||||
|
version = "0.10.1";
|
||||||
|
format = "pyproject";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "nschloe";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "sha256-PLExHhEnxkEiXsE0rqvpNWwVZ+YoaDa2BTx8LktdHl0=";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
matplotlib
|
||||||
|
numpy
|
||||||
|
pillow
|
||||||
|
webcolors
|
||||||
|
flit-core
|
||||||
|
];
|
||||||
|
|
||||||
|
checkInputs = [
|
||||||
|
pytestCheckHook
|
||||||
|
pandas
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Save matplotlib figures as TikZ/PGFplots for smooth integration into LaTeX";
|
||||||
|
homepage = "https://github.com/nschloe/tikzplotlib";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ doronbehar ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -5,16 +5,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "checkmate";
|
pname = "checkmate";
|
||||||
version = "0.5.7";
|
version = "0.5.8";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "adedayo";
|
owner = "adedayo";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-RCGJ7Xa5HLzcngv79NyocbNGoYZMAKyv/svRScM1vq0=";
|
sha256 = "sha256-nzhzeXy70UQ1HP3/PCBnUPhrjg7CnKURMCH0iJ099E0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-ZURtNED8gb0QsuXxJd9oBSx68ABcwlvVpkbd7lhiA9s=";
|
vendorSha256 = "sha256-uQRAVbLnzY+E3glMJ3AvmbtmwD2LkuqCh2mUpqZbmaA=";
|
||||||
|
|
||||||
subPackages = [ "." ];
|
subPackages = [ "." ];
|
||||||
|
|
||||||
|
|
|
@ -1,26 +1,24 @@
|
||||||
{ lib
|
{ lib
|
||||||
|
, argon2-cffi-bindings
|
||||||
, buildPythonApplication
|
, buildPythonApplication
|
||||||
, fetchPypi
|
|
||||||
# buildInputs
|
|
||||||
, glibcLocales
|
|
||||||
, pkginfo
|
|
||||||
, check-manifest
|
, check-manifest
|
||||||
# propagatedBuildInputs
|
|
||||||
, py
|
|
||||||
, devpi-common
|
, devpi-common
|
||||||
, pluggy
|
|
||||||
, setuptools
|
|
||||||
# CheckInputs
|
|
||||||
, pytest
|
|
||||||
, pytest-flake8
|
|
||||||
, webtest
|
|
||||||
, mock
|
|
||||||
, devpi-server
|
, devpi-server
|
||||||
, tox
|
, fetchPypi
|
||||||
, sphinx
|
|
||||||
, wheel
|
|
||||||
, git
|
, git
|
||||||
|
, glibcLocales
|
||||||
, mercurial
|
, mercurial
|
||||||
|
, mock
|
||||||
|
, pkginfo
|
||||||
|
, pluggy
|
||||||
|
, py
|
||||||
|
, pytestCheckHook
|
||||||
|
, pytest-flake8
|
||||||
|
, setuptools
|
||||||
|
, sphinx
|
||||||
|
, tox
|
||||||
|
, webtest
|
||||||
|
, wheel
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonApplication rec {
|
buildPythonApplication rec {
|
||||||
|
@ -29,24 +27,45 @@ buildPythonApplication rec {
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "362eb26e95136a792491861cc2728d14a6309a9d4c4f13a7b9c3e6fd39de58ec";
|
hash = "sha256-Ni6ybpUTankkkYYcwnKNFKYwmp1MTxOnucPm/TneWOw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ glibcLocales ];
|
buildInputs = [
|
||||||
|
glibcLocales
|
||||||
propagatedBuildInputs = [ py devpi-common pluggy setuptools check-manifest pkginfo ];
|
|
||||||
|
|
||||||
checkInputs = [
|
|
||||||
pytest pytest-flake8 webtest mock
|
|
||||||
devpi-server tox
|
|
||||||
sphinx wheel git mercurial
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# --fast skips tests which try to start a devpi-server improperly
|
propagatedBuildInputs = [
|
||||||
checkPhase = ''
|
argon2-cffi-bindings
|
||||||
HOME=$TMPDIR py.test --fast
|
check-manifest
|
||||||
|
devpi-common
|
||||||
|
pkginfo
|
||||||
|
pluggy
|
||||||
|
py
|
||||||
|
setuptools
|
||||||
|
];
|
||||||
|
|
||||||
|
checkInputs = [
|
||||||
|
devpi-server
|
||||||
|
git
|
||||||
|
mercurial
|
||||||
|
mock
|
||||||
|
pytestCheckHook
|
||||||
|
pytest-flake8
|
||||||
|
sphinx
|
||||||
|
tox
|
||||||
|
webtest
|
||||||
|
wheel
|
||||||
|
];
|
||||||
|
|
||||||
|
preCheck = ''
|
||||||
|
export HOME=$(mktemp -d);
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
pytestFlagsArray = [
|
||||||
|
# --fast skips tests which try to start a devpi-server improperly
|
||||||
|
"--fast"
|
||||||
|
];
|
||||||
|
|
||||||
LC_ALL = "en_US.UTF-8";
|
LC_ALL = "en_US.UTF-8";
|
||||||
|
|
||||||
__darwinAllowLocalNetworking = true;
|
__darwinAllowLocalNetworking = true;
|
||||||
|
@ -57,5 +76,4 @@ buildPythonApplication rec {
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ lewo makefu ];
|
maintainers = with maintainers; [ lewo makefu ];
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "esbuild";
|
pname = "esbuild";
|
||||||
version = "0.14.23";
|
version = "0.14.24";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "evanw";
|
owner = "evanw";
|
||||||
repo = "esbuild";
|
repo = "esbuild";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-7J8l4PCXDSddlUdMYaTo3KQjhUl1IRpks0iMiYxJzD4=";
|
sha256 = "sha256-ayL5aTfYFdsmZ4Zpkij27HE/2MCyt6J5qQ1d0BIX0eE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-QPkBR+FscUc3jOvH7olcGUhM6OW4vxawmNJuRQxPuGs=";
|
vendorSha256 = "sha256-QPkBR+FscUc3jOvH7olcGUhM6OW4vxawmNJuRQxPuGs=";
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "cargo-llvm-lines";
|
pname = "cargo-llvm-lines";
|
||||||
version = "0.4.13";
|
version = "0.4.14";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "dtolnay";
|
owner = "dtolnay";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-sN0i2oo0XuxneIK/w+jpxkcdm2rtqhyH2Y3CMPnH+ro=";
|
sha256 = "sha256-ooFkw6QlMnlvyHPMkqAZUDaOHH8dktzbob5WevQsYXQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "sha256-Gv7C4NFThNawhT+IYO0ZbpOh6w/yPeIJKZjzTyM/GJw=";
|
cargoSha256 = "sha256-MgtFNrSjSvyjp1uD/OueSh+MCYSvZCyDabP20pI/8HI=";
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Count the number of lines of LLVM IR across all instantiations of a generic function";
|
description = "Count the number of lines of LLVM IR across all instantiations of a generic function";
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
{
|
{
|
||||||
"1.18": {
|
"1.18": {
|
||||||
"url": "https://launcher.mojang.com/v1/objects/125e5adf40c659fd3bce3e66e67a16bb49ecc1b9/server.jar",
|
"url": "https://launcher.mojang.com/v1/objects/c8f83c5655308435b3dcf03c06d9fe8740a77469/server.jar",
|
||||||
"sha1": "125e5adf40c659fd3bce3e66e67a16bb49ecc1b9",
|
"sha1": "c8f83c5655308435b3dcf03c06d9fe8740a77469",
|
||||||
"version": "1.18.1",
|
"version": "1.18.2",
|
||||||
"javaVersion": 17
|
"javaVersion": 17
|
||||||
},
|
},
|
||||||
"1.17": {
|
"1.17": {
|
||||||
|
|
22
pkgs/servers/endlessh-go/default.nix
Normal file
22
pkgs/servers/endlessh-go/default.nix
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
{ buildGoModule, fetchFromGitHub, lib }:
|
||||||
|
|
||||||
|
buildGoModule rec {
|
||||||
|
pname = "endlessh-go";
|
||||||
|
version = "20220213";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "shizunge";
|
||||||
|
repo = "endlessh-go";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "sha256-x/38w0GtzYBGWr0ZkfY2HmDEAUI54R833aH0RZSCTC0=";
|
||||||
|
};
|
||||||
|
vendorSha256 = "sha256-h/DpbXO+LUsB9NOAXUfNx3VOfEsiolfBEMBrAqVlU3A=";
|
||||||
|
proxyVendor = true;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/shizunge/endlessh-go";
|
||||||
|
description = "An implementation of endlessh exporting Prometheus metrics";
|
||||||
|
license = licenses.gpl3;
|
||||||
|
maintainers = with maintainers; [ azahi ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "gobgpd";
|
pname = "gobgpd";
|
||||||
version = "2.34.0";
|
version = "3.0.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "osrg";
|
owner = "osrg";
|
||||||
repo = "gobgp";
|
repo = "gobgp";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-xyakq5DXwzONEP6EvDpAuzCrTDWcs+7asDlq9Vf4c1k=";
|
sha256 = "sha256-gyaAtFJubvDiz5b7lk6vmPHIqr9ccWK3N2iy4LvYiMg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-+dX/XByFW5/zvfXvyWePAv9X71dJEKaQf6xNXAXoMxw=";
|
vendorSha256 = "sha256-RSsvFD3RvYKxdwPDGG3YHVUzKLgwReZkoVabH5KWXMA=";
|
||||||
|
|
||||||
postConfigure = ''
|
postConfigure = ''
|
||||||
export CGO_ENABLED=0
|
export CGO_ENABLED=0
|
||||||
|
|
23
pkgs/tools/admin/cf-vault/default.nix
Normal file
23
pkgs/tools/admin/cf-vault/default.nix
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
{buildGoModule, fetchFromGitHub, lib}:
|
||||||
|
buildGoModule rec {
|
||||||
|
pname = "cf-vault";
|
||||||
|
version = "0.0.11";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "jacobbednarz";
|
||||||
|
repo = pname;
|
||||||
|
rev = version;
|
||||||
|
sha256 = "sha256-Imd9qeT4xg5ujVPLHSSqoteSPl9t97q3Oc4C/vzHphg=";
|
||||||
|
};
|
||||||
|
|
||||||
|
vendorSha256 = "sha256-PkmbVg5HnsUaSL/Kp3YJVdyzpjgvr/p9mKNmOubwXQA=";
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = ''
|
||||||
|
A tool for managing your Cloudflare credentials, securely..
|
||||||
|
'';
|
||||||
|
homepage = "https://github.com/jacobbednarz/cf-vault/";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ viraptor ];
|
||||||
|
};
|
||||||
|
}
|
22
pkgs/tools/admin/ejson2env/default.nix
Normal file
22
pkgs/tools/admin/ejson2env/default.nix
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
{ buildGoModule, fetchFromGitHub, lib }:
|
||||||
|
|
||||||
|
buildGoModule rec {
|
||||||
|
pname = "ejson2env";
|
||||||
|
version = "2.0.2";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "Shopify";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "sha256-1nfMmjYKRo5vjOwLb3fX9SQ0CDHme1DAz0AGGpV4piI=";
|
||||||
|
};
|
||||||
|
|
||||||
|
vendorSha256 = "sha256-lais54Gm4UGJN8D+iFbP8utTfDr+v8qXZKLdpNKzJi8=";
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A tool to simplify storing secrets that should be accessible in the shell environment in your git repo.";
|
||||||
|
homepage = "https://github.com/Shopify/ejson2env";
|
||||||
|
maintainers = with maintainers; [ viraptor ];
|
||||||
|
license = licenses.mit;
|
||||||
|
};
|
||||||
|
}
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
buildGoPackage rec {
|
buildGoPackage rec {
|
||||||
pname = "exoscale-cli";
|
pname = "exoscale-cli";
|
||||||
version = "1.49.3";
|
version = "1.50.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "exoscale";
|
owner = "exoscale";
|
||||||
repo = "cli";
|
repo = "cli";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-ANykklex/T7JwZ/G3dB4UPkYx5jSE5AnztGsWHGfL8I=";
|
sha256 = "sha256-RpUnJzMnYIvPpJd6+IVpDxCS/FGM+PHXvbQPJQEoS8Y=";
|
||||||
};
|
};
|
||||||
|
|
||||||
goPackagePath = "github.com/exoscale/cli";
|
goPackagePath = "github.com/exoscale/cli";
|
||||||
|
|
28
pkgs/tools/misc/vtm/default.nix
Normal file
28
pkgs/tools/misc/vtm/default.nix
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, cmake
|
||||||
|
}:
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "vtm";
|
||||||
|
version = "0.6.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "netxs-group";
|
||||||
|
repo = "vtm";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "sha256-Z6PSx7TwarQx0Mc3fSRPwV7yIPJK3xtW4k0LJ6RPYRY=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
||||||
|
cmakeFlags = [ "../src" ];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = "https://vtm.netxs.online/";
|
||||||
|
description = "Terminal multiplexer with window manager and session sharing";
|
||||||
|
license = lib.licenses.mit;
|
||||||
|
platforms = lib.platforms.all;
|
||||||
|
maintainers = with lib.maintainers; [ ahuzik ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "gobgp";
|
pname = "gobgp";
|
||||||
version = "2.34.0";
|
version = "3.0.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "osrg";
|
owner = "osrg";
|
||||||
repo = "gobgp";
|
repo = "gobgp";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-xyakq5DXwzONEP6EvDpAuzCrTDWcs+7asDlq9Vf4c1k=";
|
sha256 = "sha256-gyaAtFJubvDiz5b7lk6vmPHIqr9ccWK3N2iy4LvYiMg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-+dX/XByFW5/zvfXvyWePAv9X71dJEKaQf6xNXAXoMxw=";
|
vendorSha256 = "sha256-RSsvFD3RvYKxdwPDGG3YHVUzKLgwReZkoVabH5KWXMA=";
|
||||||
|
|
||||||
postConfigure = ''
|
postConfigure = ''
|
||||||
export CGO_ENABLED=0
|
export CGO_ENABLED=0
|
||||||
|
|
|
@ -19,12 +19,12 @@ in
|
||||||
|
|
||||||
openssh_hpn = common rec {
|
openssh_hpn = common rec {
|
||||||
pname = "openssh-with-hpn";
|
pname = "openssh-with-hpn";
|
||||||
version = "8.8p1";
|
version = "8.9p1";
|
||||||
extraDesc = " with high performance networking patches";
|
extraDesc = " with high performance networking patches";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://openbsd/OpenSSH/portable/openssh-${version}.tar.gz";
|
url = "mirror://openbsd/OpenSSH/portable/openssh-${version}.tar.gz";
|
||||||
sha256 = "1s8z6f7mi1pwsl79cqai8cr350m5lf2ifcxff57wx6mvm478k425";
|
sha256 = "1ry5prcax0134v6srkgznpl9ch5snkgq7yvjqvd8c5mbnxa7cjgx";
|
||||||
};
|
};
|
||||||
|
|
||||||
extraPatches = [
|
extraPatches = [
|
||||||
|
@ -33,9 +33,9 @@ in
|
||||||
# HPN Patch from FreeBSD ports
|
# HPN Patch from FreeBSD ports
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
name = "ssh-hpn.patch";
|
name = "ssh-hpn.patch";
|
||||||
url = "https://raw.githubusercontent.com/freebsd/freebsd-ports/a981593e/security/openssh-portable/files/extra-patch-hpn";
|
url = "https://raw.githubusercontent.com/freebsd/freebsd-ports/ae66cffc19f357cbd51d5841c9b110a9ffd63e32/security/openssh-portable/files/extra-patch-hpn";
|
||||||
stripLen = 1;
|
stripLen = 1;
|
||||||
sha256 = "sha256-+JvpPxktZAjhxLLK1lF4ijG9VlSWkqbRwotaLe6en64=";
|
sha256 = "sha256-p3CmMqTgrqFZUo4ZuqaPLczAhjmPufkCvptVW5dI+MI=";
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -47,6 +47,9 @@ buildPythonApplication rec {
|
||||||
hash = "sha256:1dizf9j3z7zk4lxvnszwx63xzd9r68f2iva5sszzf8s8na831dvd";
|
hash = "sha256:1dizf9j3z7zk4lxvnszwx63xzd9r68f2iva5sszzf8s8na831dvd";
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace pyproject.toml --replace "pdm-pep517>=0.9,<0.10" "pdm-pep517"
|
||||||
|
'';
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
blinker
|
blinker
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "exploitdb";
|
pname = "exploitdb";
|
||||||
version = "2022-03-01";
|
version = "2022-03-03";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "offensive-security";
|
owner = "offensive-security";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-3bMroTIVjSMHV4tg3Um2E90Ph6j0vXRy0fSjGe9EPNE=";
|
sha256 = "sha256-EH4PlUb0PGUwkgfk1oFPKimoJcWI/mozzzaTST1De7A=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
pname = "jadx";
|
pname = "jadx";
|
||||||
version = "1.3.2";
|
version = "1.3.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "skylot";
|
owner = "skylot";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-5meBBBijX49EQc9VejySwiIKsyCBEKGKIXvH7en6XuU=";
|
hash = "sha256-z8u6j6YLBHmgZKSGh/rFDDSnWZrBgWsqfKP3vhaukbY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
deps = stdenv.mkDerivation {
|
deps = stdenv.mkDerivation {
|
||||||
|
@ -40,7 +40,7 @@ let
|
||||||
'';
|
'';
|
||||||
|
|
||||||
outputHashMode = "recursive";
|
outputHashMode = "recursive";
|
||||||
outputHash = "sha256-t+CkjoZqWqphxbg/4E3/7U8nKoV0AlITyRScLN8x6yY=";
|
outputHash = "sha256-kiNtA63sINX7VRsq4JKAiZYzymHe1TrNetZsE6S9KVM=";
|
||||||
};
|
};
|
||||||
in stdenv.mkDerivation {
|
in stdenv.mkDerivation {
|
||||||
inherit pname version src;
|
inherit pname version src;
|
||||||
|
|
|
@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec {
|
||||||
sha256 = "18ks5g4bx6iz9hdjxmi6a41ncxpb1hnsscdlddp2gr40k3vgd0pa";
|
sha256 = "18ks5g4bx6iz9hdjxmi6a41ncxpb1hnsscdlddp2gr40k3vgd0pa";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "05rfjangmyvmqm0bvl4bcvc7m4zhg66gknh85sxr3bzrlwzacwgw";
|
cargoSha256 = "0pn3vqv13n29h8069a38306vjlzlxf1m08ldv7lpzgqxhl8an00r";
|
||||||
|
|
||||||
buildInputs = (lib.optional stdenv.isDarwin Security);
|
buildInputs = (lib.optional stdenv.isDarwin Security);
|
||||||
|
|
||||||
|
|
35
pkgs/tools/text/igrep/default.nix
Normal file
35
pkgs/tools/text/igrep/default.nix
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
{ lib
|
||||||
|
, rustPlatform
|
||||||
|
, fetchFromGitHub
|
||||||
|
, stdenv
|
||||||
|
, Security
|
||||||
|
, testVersion
|
||||||
|
, igrep
|
||||||
|
}:
|
||||||
|
|
||||||
|
rustPlatform.buildRustPackage rec {
|
||||||
|
pname = "igrep";
|
||||||
|
version = "0.1.2";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "konradsz";
|
||||||
|
repo = "igrep";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "sha256-ZbJogp4rTc3GAD71iQUIf5EqwJ8XD9/WmvdAcGIgcvY=";
|
||||||
|
};
|
||||||
|
|
||||||
|
cargoSha256 = "sha256-sj2GEyUPq9+JXlGpKYRNfhfwGf5F/J46AoOjUu4xm7I=";
|
||||||
|
|
||||||
|
buildInputs = lib.optionals stdenv.isDarwin [ Security ];
|
||||||
|
|
||||||
|
passthru.tests = {
|
||||||
|
version = testVersion { package = igrep; command = "ig --version"; };
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Interactive Grep";
|
||||||
|
homepage = "https://github.com/konradsz/igrep";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ _0x4A6F ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -1040,8 +1040,12 @@ with pkgs;
|
||||||
|
|
||||||
amidst = callPackage ../tools/games/minecraft/amidst { };
|
amidst = callPackage ../tools/games/minecraft/amidst { };
|
||||||
|
|
||||||
|
cf-vault = callPackage ../tools/admin/cf-vault { };
|
||||||
|
|
||||||
cope = callPackage ../tools/misc/cope { };
|
cope = callPackage ../tools/misc/cope { };
|
||||||
|
|
||||||
|
ejson2env = callPackage ../tools/admin/ejson2env { };
|
||||||
|
|
||||||
gamemode = callPackage ../tools/games/gamemode {
|
gamemode = callPackage ../tools/games/gamemode {
|
||||||
libgamemode32 = pkgsi686Linux.gamemode.lib;
|
libgamemode32 = pkgsi686Linux.gamemode.lib;
|
||||||
};
|
};
|
||||||
|
@ -4549,7 +4553,8 @@ with pkgs;
|
||||||
cudatoolkit_11_2
|
cudatoolkit_11_2
|
||||||
cudatoolkit_11_3
|
cudatoolkit_11_3
|
||||||
cudatoolkit_11_4
|
cudatoolkit_11_4
|
||||||
cudatoolkit_11_5;
|
cudatoolkit_11_5
|
||||||
|
cudatoolkit_11_6;
|
||||||
|
|
||||||
cudatoolkit = cudatoolkit_10;
|
cudatoolkit = cudatoolkit_10;
|
||||||
|
|
||||||
|
@ -5208,6 +5213,8 @@ with pkgs;
|
||||||
|
|
||||||
endlessh = callPackage ../servers/endlessh { };
|
endlessh = callPackage ../servers/endlessh { };
|
||||||
|
|
||||||
|
endlessh-go = callPackage ../servers/endlessh-go { };
|
||||||
|
|
||||||
ericw-tools = callPackage ../applications/misc/ericw-tools { };
|
ericw-tools = callPackage ../applications/misc/ericw-tools { };
|
||||||
|
|
||||||
cryfs = callPackage ../tools/filesystems/cryfs { };
|
cryfs = callPackage ../tools/filesystems/cryfs { };
|
||||||
|
@ -6210,6 +6217,10 @@ with pkgs;
|
||||||
|
|
||||||
grin = callPackage ../tools/text/grin { };
|
grin = callPackage ../tools/text/grin { };
|
||||||
|
|
||||||
|
igrep = callPackage ../tools/text/igrep {
|
||||||
|
inherit (darwin.apple_sdk.frameworks) Security;
|
||||||
|
};
|
||||||
|
|
||||||
ripgrep = callPackage ../tools/text/ripgrep {
|
ripgrep = callPackage ../tools/text/ripgrep {
|
||||||
inherit (darwin.apple_sdk.frameworks) Security;
|
inherit (darwin.apple_sdk.frameworks) Security;
|
||||||
};
|
};
|
||||||
|
@ -10843,6 +10854,8 @@ with pkgs;
|
||||||
SDL = SDL_sixel;
|
SDL = SDL_sixel;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
vtm = callPackage ../tools/misc/vtm { };
|
||||||
|
|
||||||
witness = callPackage ../tools/security/witness { };
|
witness = callPackage ../tools/security/witness { };
|
||||||
|
|
||||||
openconnect = openconnect_gnutls;
|
openconnect = openconnect_gnutls;
|
||||||
|
|
|
@ -18,7 +18,7 @@ self:
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (self) callPackage;
|
inherit (self) callPackage;
|
||||||
inherit (python.passthru) isPy27 isPy35 isPy36 isPy37 isPy38 isPy39 isPy3k isPyPy pythonAtLeast pythonOlder;
|
inherit (python.passthru) isPy27 isPy35 isPy36 isPy37 isPy38 isPy39 isPy310 isPy311 isPy3k isPyPy pythonAtLeast pythonOlder;
|
||||||
|
|
||||||
namePrefix = python.libPrefix + "-";
|
namePrefix = python.libPrefix + "-";
|
||||||
|
|
||||||
|
@ -107,7 +107,7 @@ in {
|
||||||
|
|
||||||
inherit pkgs stdenv;
|
inherit pkgs stdenv;
|
||||||
|
|
||||||
inherit (python.passthru) isPy27 isPy35 isPy36 isPy37 isPy38 isPy39 isPy3k isPyPy pythonAtLeast pythonOlder;
|
inherit (python.passthru) isPy27 isPy35 isPy36 isPy37 isPy38 isPy39 isPy310 isPy311 isPy3k isPyPy pythonAtLeast pythonOlder;
|
||||||
inherit python bootstrapped-pip buildPythonPackage buildPythonApplication;
|
inherit python bootstrapped-pip buildPythonPackage buildPythonApplication;
|
||||||
inherit fetchPypi;
|
inherit fetchPypi;
|
||||||
inherit hasPythonModule requiredPythonModules makePythonPath disabled disabledIf;
|
inherit hasPythonModule requiredPythonModules makePythonPath disabled disabledIf;
|
||||||
|
@ -9909,6 +9909,8 @@ in {
|
||||||
|
|
||||||
tika = callPackage ../development/python-modules/tika { };
|
tika = callPackage ../development/python-modules/tika { };
|
||||||
|
|
||||||
|
tikzplotlib = callPackage ../development/python-modules/tikzplotlib { };
|
||||||
|
|
||||||
tiledb = callPackage ../development/python-modules/tiledb {
|
tiledb = callPackage ../development/python-modules/tiledb {
|
||||||
inherit (pkgs) tiledb;
|
inherit (pkgs) tiledb;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue