Merge master into staging-next

This commit is contained in:
github-actions[bot] 2022-03-04 12:01:33 +00:00 committed by GitHub
commit fc22d0d5e2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
65 changed files with 608 additions and 284 deletions

View file

@ -12866,6 +12866,12 @@
githubId = 118959;
name = "VinyMeuh";
};
viraptor = {
email = "nix@viraptor.info";
github = "viraptor";
githubId = 188063;
name = "Stanisław Pitucha";
};
viric = {
email = "viric@viric.name";
github = "viric";

View file

@ -41,17 +41,18 @@ checks:
`RefuseManualStop` in the `[Unit]` section, and `X-OnlyManualStart` in the
`[Unit]` section.
- The rest of the behavior is decided whether the unit has `X-StopIfChanged`
in the `[Service]` section set (exposed via
- Further behavior depends on the unit having `X-StopIfChanged` in the
`[Service]` section set to `true` (exposed via
[systemd.services.\<name\>.stopIfChanged](#opt-systemd.services)). This is
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
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
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
and socket-activated. Due to a bug, this is currently only done when
`X-StopIfChanged` is set. If the unit is socket-activated, the socket is
stopped and started, and the service is stopped and to be started by socket
activation.
and socket-activated. If `X-StopIfChanged` is **not** set, the service
is **restart**ed with the others. If it is set, both the service and the
socket are **stop**ped and the socket is **start**ed, leaving socket
activation to start the service when it's needed.

View file

@ -88,9 +88,10 @@
</listitem>
<listitem>
<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>[Service]</literal> section set (exposed via
<literal>[Service]</literal> section set to
<literal>true</literal> (exposed via
<link linkend="opt-systemd.services">systemd.services.&lt;name&gt;.stopIfChanged</link>).
This is set to <literal>true</literal> by default and must
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
the flag is to make sure that the new unit never runs in 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>
</listitem>
<listitem>
<para>
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
<literal>X-StopIfChanged</literal> is set. If the unit is
socket-activated, the socket is stopped and started, and the
service is stopped and to be started by socket activation.
unit is a service and socket-activated. If
<literal>X-StopIfChanged</literal> is
<emphasis role="strong">not</emphasis> set, the service is
<emphasis role="strong">restart</emphasis>ed with the
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 its needed.
</para>
</listitem>
</itemizedlist>

View file

@ -307,6 +307,7 @@ sub handleModifiedUnit {
# seem to get applied on daemon-reload.
} elsif ($unit =~ /\.mount$/) {
# Reload the changed mount unit to force a remount.
# FIXME: only reload when Options= changed, restart otherwise
$unitsToReload->{$unit} = 1;
recordUnit($reloadListFile, $unit);
} elsif ($unit =~ /\.socket$/) {
@ -339,7 +340,7 @@ sub handleModifiedUnit {
# If this unit is socket-activated, then stop the
# socket unit(s) as well, and restart the
# socket(s) instead of the service.
my $socketActivated = 0;
my $socket_activated = 0;
if ($unit =~ /\.service$/) {
my @sockets = split(/ /, join(" ", @{$unitInfo{Service}{Sockets} // []}));
if (scalar @sockets == 0) {
@ -347,13 +348,15 @@ sub handleModifiedUnit {
}
foreach my $socket (@sockets) {
if (defined $activePrev->{$socket}) {
# We can now be sure this is a socket-activate unit
$unitsToStop->{$socket} = 1;
# Only restart sockets that actually
# exist in new configuration:
if (-e "$out/etc/systemd/system/$socket") {
$unitsToStart->{$socket} = 1;
recordUnit($startListFile, $socket);
$socketActivated = 1;
$socket_activated = 1;
}
# Remove from units to reload so we don't restart and reload
if ($unitsToReload->{$unit}) {
@ -368,7 +371,7 @@ sub handleModifiedUnit {
# that this unit needs to be started below.
# We write this to a file to ensure that the
# service gets restarted if we're interrupted.
if (!$socketActivated) {
if (!$socket_activated) {
$unitsToStart->{$unit} = 1;
recordUnit($startListFile, $unit);
}

View file

@ -1,6 +1,46 @@
# 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";
meta = with pkgs.lib.maintainers; {
maintainers = [ gleber das_j ];
@ -8,6 +48,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
nodes = {
machine = { pkgs, lib, ... }: {
environment.systemPackages = [ pkgs.socat ]; # for the socket activation stuff
users.mutableUsers = false;
specialisation = rec {
@ -231,6 +272,40 @@ import ./make-test-python.nix ({ pkgs, ...} : {
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 = {
systemd.mounts = [
{
@ -378,7 +453,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
assert_lacks(out, "\nrestarting the following units:")
assert_lacks(out, "\nstarting the following units:")
assert_lacks(out, "the following new units were started:")
assert_lacks(out, "as well:")
# Start a simple service
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, "\nstarting the following units:")
assert_contains(out, "the following new units were started: test.service\n")
assert_lacks(out, "as well:")
# Not changing anything doesn't do anything
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, "\nstarting the following units:")
assert_lacks(out, "the following new units were started:")
assert_lacks(out, "as well:")
# Restart the simple service
out = switch_to_specialisation("${machine}", "simpleServiceModified")
@ -408,7 +480,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
assert_lacks(out, "\nrestarting the following units:")
assert_contains(out, "\nstarting the following units: test.service\n")
assert_lacks(out, "the following new units were started:")
assert_lacks(out, "as well:")
# Restart the service with stopIfChanged=false
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_lacks(out, "\nstarting the following units:")
assert_lacks(out, "the following new units were started:")
assert_lacks(out, "as well:")
# Reload the service with reloadIfChanged=true
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, "\nstarting the following units:")
assert_lacks(out, "the following new units were started:")
assert_lacks(out, "as well:")
# Nothing happens when restartIfChanged=false
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, "\nstarting the following units:")
assert_lacks(out, "the following new units were started:")
assert_lacks(out, "as well:")
# Dry mode shows different messages
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, "\nstarting the following units:")
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")
# 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, "\nstarting the following units:")
assert_contains(out, "the following new units were started: escaped\\x2ddash.service\n")
assert_lacks(out, "as well:")
out = switch_to_specialisation("${machine}", "unitWithBackslashModified")
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_contains(out, "\nstarting the following units: escaped\\x2ddash.service\n")
assert_lacks(out, "the following new units were started:")
assert_lacks(out, "as well:")
with subtest("failing units"):
# 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_contains(out, "warning: the following units failed: test.service\n")
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
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, "\nstarting the following units:")
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
# 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, "\nstarting the following units:")
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
# 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_contains(out, "warning: the following units failed: autorestart.service\n")
assert_contains(out, "Main PID:") # output of systemctl
assert_lacks(out, "as well:")
with subtest("unit file parser"):
# 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_lacks(out, "\nstarting the following units:")
assert_lacks(out, "the following new units were started:")
assert_lacks(out, "as well:")
# Rename it
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_lacks(out, "\nstarting the following units:")
assert_lacks(out, "the following new units were started:")
assert_lacks(out, "as well:")
# Remove it
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_lacks(out, "\nstarting the following units:")
assert_lacks(out, "the following new units were started:")
assert_lacks(out, "as well:")
# [Install] section is ignored
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, "\nstarting the following units:")
assert_lacks(out, "the following new units were started:")
assert_lacks(out, "as well:")
# Add a key
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_lacks(out, "\nstarting the following units:")
assert_lacks(out, "the following new units were started:")
assert_lacks(out, "as well:")
# Change its value
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_lacks(out, "\nstarting the following units:")
assert_lacks(out, "the following new units were started:")
assert_lacks(out, "as well:")
# Rename it
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_lacks(out, "\nstarting the following units:")
assert_lacks(out, "the following new units were started:")
assert_lacks(out, "as well:")
# Remove it
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_lacks(out, "\nstarting the following units:")
assert_lacks(out, "the following new units were started:")
assert_lacks(out, "as well:")
# Add a reload trigger
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, "\nstarting the following units:")
assert_lacks(out, "the following new units were started:")
assert_lacks(out, "as well:")
# Modify the reload trigger
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, "\nstarting the following units:")
assert_lacks(out, "the following new units were started:")
assert_lacks(out, "as well:")
# Modify the reload trigger and something else
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_lacks(out, "\nstarting the following units:")
assert_lacks(out, "the following new units were started:")
assert_lacks(out, "as well:")
# Remove the reload trigger
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, "\nstarting the following units:")
assert_lacks(out, "the following new units were started:")
assert_lacks(out, "as well:")
with subtest("restart and reload by activation script"):
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, "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_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
# and reloaded by the 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, "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, "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
# 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")
@ -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, "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, "as well:")
assert_lacks(out, "the following new units were started:")
# The same, but in dry mode
out = switch_to_specialisation("${machine}", "restart-and-reload-by-activation-script", action="dry-activate")
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 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, "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"):
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, "\nstarting the following units:")
assert_lacks(out, "the following new units were started:")
assert_lacks(out, "as well:")
# It changed
out = machine.succeed("mount | grep 'on /testmount'")
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")
out = switch_to_specialisation("${machine}", "timerModified")
assert_lacks(out, "stopping the following units:")
assert_lacks(out, "NOT restarting 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, "the following new units were started:")
assert_lacks(out, "as well:")
# It changed
out = machine.succeed("systemctl show test-timer.timer")
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, "\nrestarting the following units:")
assert_lacks(out, "\nstarting the following units:")
assert_contains(out, "the following new units were started: test-watch.path")
assert_lacks(out, "as well:")
assert_contains(out, "the following new units were started: test-watch.path\n")
machine.fail("test -f /testpath-modified")
# touch the file, unit should be triggered
@ -739,8 +850,21 @@ import ./make-test-python.nix ({ pkgs, ...} : {
with subtest("slices"):
machine.succeed("echo 0 > /proc/sys/vm/panic_on_oom") # allow OOMing
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")
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("echo 1 > /proc/sys/vm/panic_on_oom") # disallow OOMing
'';

View file

@ -24,13 +24,13 @@
with lib;
stdenv.mkDerivation rec {
pname = if withGui then "elements" else "elementsd";
version = "0.21.0.1";
version = "0.21.0.2";
src = fetchFromGitHub {
owner = "ElementsProject";
repo = "elements";
rev = "elements-${version}";
sha256 = "sha256-nZa5doiFQJhtK8cUUISTZhS61HzW7CMB9pPsWKc8Gac=";
sha256 = "sha256-5b3wylp9Z2U0ueu2gI9jGeWiiJoddjcjQ/6zkFATyvA=";
};
nativeBuildInputs =

View file

@ -27,13 +27,13 @@ in
stdenv.mkDerivation {
pname = "macvim";
version = "8.2.1719";
version = "8.2.3455";
src = fetchFromGitHub {
owner = "macvim-dev";
repo = "macvim";
rev = "snapshot-166";
sha256 = "1p51q59l1dl5lnf1ms960lm8zfg39p8xq0pdjw6wdyypjj3r8v3v";
rev = "snapshot-172";
sha256 = "sha256-LLLQ/V1vyKTuSXzHW3SOlOejZD5AV16NthEdMoTnfko=";
};
enableParallelBuilding = true;

View file

@ -1,10 +1,10 @@
diff --git a/src/MacVim/vimrc b/src/MacVim/vimrc
index af43549..dfb10fe 100644
index 32c89b387..c2af70127 100644
--- a/src/MacVim/vimrc
+++ b/src/MacVim/vimrc
@@ -14,35 +14,5 @@ set backspace+=indent,eol,start
" translated to English).
set langmenu=none
@@ -9,35 +9,5 @@ set nocompatible
" more sensible value. Add "set backspace&" to your ~/.vimrc to reset it.
set backspace+=indent,eol,start
-" 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:
-if exists("&pythonthreedll") && exists("&pythonthreehome") &&
- \ !filereadable(&pythonthreedll)
- if filereadable("/opt/local/Library/Frameworks/Python.framework/Versions/3.8/Python")
- " MacPorts python 3.8
- set pythonthreedll=/opt/local/Library/Frameworks/Python.framework/Versions/3.8/Python
- elseif filereadable("/Library/Frameworks/Python.framework/Versions/3.8/Python")
- if filereadable("/opt/local/Library/Frameworks/Python.framework/Versions/3.9/Python")
- " MacPorts python 3.9
- set pythonthreedll=/opt/local/Library/Frameworks/Python.framework/Versions/3.9/Python
- elseif filereadable("/Library/Frameworks/Python.framework/Versions/3.9/Python")
- " 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
-
+" Default cscopeprg to the Nix-installed path
+set cscopeprg=@CSCOPE@
diff --git a/src/Makefile b/src/Makefile
index fd2d5e1..37a6d6a 100644
index c4a3ada37..06ee3de44 100644
--- a/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
MACVIMGUI_OBJ = objects/gui.o objects/gui_beval.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_IPATH =
MACVIMGUI_LIBS_DIR =
MACVIMGUI_LIBS1 = -framework Cocoa -framework Carbon
MACVIMGUI_LIBS1 =
diff --git a/src/auto/configure b/src/auto/configure
index 06257a5..68437df 100755
index 39ef81449..d8fa7ec2f 100755
--- a/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
if test "X$path" != "X"; then
@ -69,7 +69,7 @@ index 06257a5..68437df 100755
MZSCHEME_LIBS="${path}/libmzscheme3m.a"
MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
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
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_CFLAGS=`echo "$PERL_CFLAGS" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'`
fi
@@ -6499,13 +6479,7 @@ __:
@@ -6526,13 +6506,6 @@ __:
eof
eval "`cd ${PYTHON_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`"
rm -f -- "${tmp_mkf}"
@ -104,11 +104,10 @@ index 06257a5..68437df 100755
- vi_cv_path_python_plibs="-F${python_PYTHONFRAMEWORKPREFIX} -framework Python"
- fi
- else
+
vi_cv_path_python_plibs="-L${PYTHON_CONFDIR} -lpython${vi_cv_var_python_version}"
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/'`
@@ -6520,7 +6494,6 @@ eof
@@ -6547,7 +6520,6 @@ eof
fi
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//`
@ -116,7 +115,7 @@ index 06257a5..68437df 100755
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; }
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_n "checking if compile and link flags for Python are sane... " >&6; }
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_n "checking for location of Tcl include... " >&6; }
@ -142,7 +141,7 @@ index 06257a5..68437df 100755
TCL_INC=
for try in $tclinc; do
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
{ $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; }
@ -156,9 +155,9 @@ index 06257a5..68437df 100755
for try in $tclcnf; do
if test -f "$try/tclConfig.sh"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $try/tclConfig.sh" >&5
@@ -7717,10 +7674,6 @@ $as_echo "$rubyhdrdir" >&6; }
if test -f "$rubylibdir/$librubya"; then
librubyarg="$librubyarg"
@@ -7774,10 +7730,6 @@ $as_echo "$rubyhdrdir" >&6; }
rubylibdir=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig.expand($ruby_rbconfig::CONFIG['libdir'])"`
if test -f "$rubylibdir/$librubya" || expr "$librubyarg" : "-lruby"; then
RUBY_LIBS="$RUBY_LIBS -L$rubylibdir"
- elif test "$vi_cv_path_ruby" = "/usr/bin/ruby" -a -d "/System/Library/Frameworks/Ruby.framework"; then
- RUBY_LIBS="-framework Ruby"
@ -168,7 +167,7 @@ index 06257a5..68437df 100755
if test "X$librubyarg" != "X"; then
diff --git a/src/vim.h b/src/vim.h
index bbc01ee..5a93591 100644
index 4ff59f201..f91cb9836 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -244,17 +244,6 @@
@ -190,15 +189,14 @@ index bbc01ee..5a93591 100644
# include "os_amiga.h"
#endif
diff --git a/src/vimtutor b/src/vimtutor
index 1e8769b..47078b0 100755
index 3b154f288..e89f26060 100755
--- a/src/vimtutor
+++ b/src/vimtutor
@@ -16,7 +16,7 @@ seq="vim vim81 vim80 vim8 vim74 vim73 vim72 vim71 vim70 vim7 vim6 vi"
if test "$1" = "-g"; then
# Try to use the GUI version of Vim if possible, it will fall back
# on Vim if Gvim is not installed.
- 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"
shift
@@ -16,6 +16,6 @@ seq="vim vim81 vim80 vim8 vim74 vim73 vim72 vim71 vim70 vim7 vim6 vi"
if test "$1" = "-g"; then
# Try to use the GUI version of Vim if possible, it will fall back
# on Vim if Gvim is not installed.
- 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"
shift
fi

View file

@ -820,7 +820,7 @@ self: super: {
libiconv
];
cargoSha256 = "sha256-JKi51kzCHMctUX6tT8K2Rq1slV3Ek67dCgbPjBkwPTE=";
cargoSha256 = "12xaxpg4ws09rnp9prrqcac8581ggr36mpy39xyfngjy5xvcalaq";
};
in
''

View file

@ -7,26 +7,19 @@
stdenv.mkDerivation rec {
pname = "avizo";
# Note: remove the 'use-sysconfig' patch on the next update
version = "1.1";
version = "1.2";
src = fetchFromGitHub {
owner = "misterdanb";
repo = "avizo";
rev = version;
sha256 = "sha256-0BJodJ6WaHhuSph2D1AC+DMafctgiSCyaZ8MFn89AA8=";
sha256 = "sha256-BRtdCOBFsKkJif/AlnF7N9ZDcmA+878M9lDQld+SAgo=";
};
nativeBuildInputs = [ meson ninja pkg-config vala gobject-introspection wrapGAppsHook ];
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 = ''
substituteInPlace "$out"/bin/volumectl \
--replace 'avizo-client' "$out/bin/avizo-client"

View file

@ -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')

View file

@ -96,7 +96,6 @@ mkDerivation rec {
feedparser
html2text
html5-parser
jeepney
lxml
markdown
mechanize

View file

@ -2,7 +2,7 @@
let
pname = "joplin-desktop";
version = "2.6.10";
version = "2.7.13";
name = "${pname}-${version}";
inherit (stdenv.hostPlatform) system;
@ -16,8 +16,8 @@ let
src = fetchurl {
url = "https://github.com/laurent22/joplin/releases/download/v${version}/Joplin-${version}.${suffix}";
sha256 = {
x86_64-linux = "sha256-2/QYEzQjB9n/4k5I/fry3ol8Fpsb5+tc1ttVdf2ID+4=";
x86_64-darwin = "sha256-BwBpq78hYJVUItUgs9lonBTV4YWJ+qvML6VTj5M4BQ4=";
x86_64-linux = "sha256-ObuBcFV5fq2sryC+ETTAH+S19EW+nVlxdVOtOpiBeDs=";
x86_64-darwin = "sha256-f0+/kUukP+zIzTSSGO1ctUBd/uCSrAKz+uBnrzpPy5k=";
}.${system} or throwSystem;
};

View file

@ -6,11 +6,11 @@
stdenv.mkDerivation rec {
pname = "upwork";
version = "5.6.10.0";
version = "5.6.10.1";
src = fetchurl {
url = "https://upwork-usw2-desktopapp.upwork.com/binaries/v5_6_10_0_b124e6f3a4944b32/${pname}_${version}_amd64.deb";
sha256 = "fd201ce817abe32e1b582bb4b55fef85ac8132806f5ddf0548fd25bbfd48833c";
url = "https://upwork-usw2-desktopapp.upwork.com/binaries/v5_6_10_1_de501d28cc034306/${pname}_${version}_amd64.deb";
sha256 = "8faf896d2570d1d210793f46a3860e934d03498c1f11640d43721b6eb2b56860";
};
nativeBuildInputs = [

View file

@ -1,9 +1,9 @@
{ lib, buildGoModule, fetchFromGitHub, fetchzip, installShellFiles }:
let
version = "0.27.2";
sha256 = "0rdsc9i8mjiwyb6l9sbhxirl4i3b50m6505wwvhxz4y5arzdi1k6";
manifestsSha256 = "0h966xqjkvrblxd62iph9vwr2h7w1ig943hi5vg0swy4674v3ybf";
version = "0.27.3";
sha256 = "08ax1033456hfm5qz0r671xm5ig0047nqp7xffyn9za498bm4i5q";
manifestsSha256 = "165kspq10nvlihcb1460qmbw5r1mlzs5gliw01qa4mymvzmlggk7";
manifests = fetchzip {
url =
@ -23,7 +23,7 @@ in buildGoModule rec {
inherit sha256;
};
vendorSha256 = "sha256-xkhbGID+oI7+kLml8CveEet7gtPSty8LGv1gkqpqg6w=";
vendorSha256 = "sha256-ENSfec7iSKOkILgVCVnORpAia4D+vBjQAUXDA7EIvVQ=";
postUnpack = ''
cp -r ${manifests} source/cmd/flux/manifests

View file

@ -17,6 +17,7 @@ let
comment = "Free Runtime Environment for Java Applications.";
desktopName = "Jameica";
genericName = "Jameica";
icon = "jameica";
categories = [ "Office" ];
};
in

View file

@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
buildInputs = [ zlib ];
makeFlags = lib.optionals stdenv.isAarch64 [ "arm_neon=1" "aarch64=1" ];
installPhase = ''
mkdir -p $out/bin
cp minimap2 $out/bin
@ -25,7 +27,6 @@ stdenv.mkDerivation rec {
homepage = "https://lh3.github.io/minimap2";
license = licenses.mit;
platforms = platforms.all;
badPlatforms = platforms.aarch64;
maintainers = [ maintainers.arcadio ];
};
}

View file

@ -16,12 +16,12 @@ with lib;
buildGoPackage rec {
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
src = fetchurl {
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 = ''

View file

@ -58,6 +58,7 @@ buildGoModule rec {
installPhase = ''
runHook preInstall
mkdir -p {$out/{bin,etc,lib,share},$man} # ensure paths exist for the wrapper
${if stdenv.isDarwin then ''
mv bin/{darwin/podman,podman}
'' else ''

View file

@ -1,13 +1,14 @@
{ lib, stdenv, fetchurl, acpica-tools, python3 }:
{ lib, stdenv, fetchgit, acpica-tools, python3 }:
stdenv.mkDerivation rec {
pname = "seabios";
version = "1.15.0";
version = "1.16.0";
src = fetchurl {
url = "https://www.seabios.org/downloads/${pname}-${version}.tar.gz";
sha256 = "sha256-YownF8mUMmtFMlFXPRBZ4qOhEtSqSIds4nyz8d4ZiPg=";
src = fetchgit {
url = "https://git.seabios.org/seabios.git";
rev = "rel-${version}";
sha256 = "0acal1rr7sya86wlhw2mgimabwhjnr0y1pl5zxwb79j8k1w1r8sh";
};
nativeBuildInputs = [ python3 ];
@ -43,7 +44,7 @@ stdenv.mkDerivation rec {
'';
homepage = "http://www.seabios.org";
license = licenses.lgpl3;
maintainers = [ maintainers.tstrobel ];
maintainers = with maintainers; [ tstrobel ];
platforms = [ "i686-linux" "x86_64-linux" ];
};
}

View file

@ -38,7 +38,8 @@ rec {
contents ? [],
diskSize ? 1024,
runScript ? "#!${stdenv.shell}\nexec /bin/sh",
runAsRoot ? null
runAsRoot ? null,
memSize ? 512
}:
let layer = mkLayer {
inherit name;
@ -54,6 +55,7 @@ rec {
size = diskSize;
fullName = "singularity-run-disk";
};
inherit memSize;
}
''
rm -rf $out

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "numix-icon-theme-circle";
version = "22.02.06";
version = "22.03.01";
src = fetchFromGitHub {
owner = "numixproject";
repo = pname;
rev = version;
sha256 = "sha256-a+h5DMxVM1TPVx8yuKwRzjjnBLnIWMCCKG+BPg1Hq5Y=";
sha256 = "sha256-adSoFKvemirQtxoS6KrQvXxtIOKFZ73PTktVXytblbM=";
};
nativeBuildInputs = [ gtk3 ];

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "numix-icon-theme-square";
version = "22.02.06";
version = "22.03.01";
src = fetchFromGitHub {
owner = "numixproject";
repo = pname;
rev = version;
sha256 = "sha256-dKBNB1udRysDe3HbUh2qudQDeLgS/wmSnY3nAWnmjQo=";
sha256 = "sha256-VCXHInaxn5BKY9Yth6DjoKa/JS2WVjvwAfRMiL2r1B0=";
};
nativeBuildInputs = [ gtk3 ];

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "papirus-icon-theme";
version = "20220204";
version = "20220302";
src = fetchFromGitHub {
owner = "PapirusDevelopmentTeam";
repo = pname;
rev = version;
sha256 = "sha256-DYz2fnn1ZfX09NQcRXmGTYY95K5wOWhlmJeDjEvN1vY=";
sha256 = "sha256-X92an2jGRgZ/Q3cr6Q729DA2hs/2y34HoRpB1rxk0hI=";
};
nativeBuildInputs = [ gtk3 ];

View file

@ -80,9 +80,9 @@ rec {
};
cudatoolkit_11_6 = common {
version = "11.6.0";
url = "https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda_11.6.0_510.39.01_linux.run";
sha256 = "10wcv42ljp7hz1k0wzgwb4hi8834rfipzdc01428c1wpcdnxm0qp";
version = "11.6.1";
url = "https://developer.download.nvidia.com/compute/cuda/11.6.1/local_installers/cuda_11.6.1_510.47.03_linux.run";
sha256 = "sha256-qyGa/OALdCABEyaYZvv/derQN7z8I1UagzjCaEyYTX4=";
gcc = gcc10; # can bump to 11 along with stdenv.cc
};

View file

@ -1,13 +1,13 @@
{ lib, stdenv, fetchFromGitHub, cmake }:
stdenv.mkDerivation rec {
pname = "cmark-gfm";
version = "0.29.0.gfm.2";
version = "0.29.0.gfm.3";
src = fetchFromGitHub {
owner = "github";
repo = "cmark-gfm";
rev = version;
sha256 = "sha256-8PjG87hR66ozKx+PSuKi0vHIoKICHSLdl2cKUYf+5m8=";
sha256 = "sha256-V3XegSjqKLCMpfnoYHr9/r5fSC2CC7A2jXkAcHUt7eA=";
};
nativeBuildInputs = [ cmake ];

View file

@ -16,13 +16,13 @@
stdenv.mkDerivation rec {
pname = "libdeltachat";
version = "1.75.0";
version = "1.76.0";
src = fetchFromGitHub {
owner = "deltachat";
repo = "deltachat-core-rust";
rev = version;
hash = "sha256-3oYQwV1Srnq8VfS+M+BwIznXRxQFXr78SwXO3Xu08ws=";
hash = "sha256-aeYOszOFyLaC1xKswYZLzqoWSFFWOOeOkc+WrtqU0jo=";
};
patches = [
@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${pname}-${version}";
hash = "sha256-jti1aY8a9YB8x6fz7UqTY4uDj6gkMnG1hTN/Mgc+mHs=";
hash = "sha256-sBFXcLXpAkX+HzRKrLKaHhi5ieS8Yc/Uf30WcXyWrok=";
};
nativeBuildInputs = [

View file

@ -69,6 +69,7 @@ stdenv.mkDerivation rec {
"-Dintrospection=${mesonEnableFeature enableGI}"
"-Dsystemd-system-service=true"
"-Dsystemd-system-unit-dir=${placeholder "out"}/lib/systemd/system"
"-Dsysconfdir=/etc"
];
passthru.updateScript = nix-update-script {

View file

@ -24,7 +24,7 @@ with self;
hash = "0gl89zpgsf3n30nb6v5cns27g2bfg4rf3s2427gqvwbkr5gcf7ri";
meta.description = "Full standard library replacement for OCaml";
propagatedBuildInputs = [ sexplib0 ];
buildInputs = [ dune-configurator ];
buildInputs = [ dune_1 ];
};
stdio = janePackage {
@ -208,7 +208,7 @@ with self;
pname = "jst-config";
hash = "0yxcz13vda1mdh9ah7qqxwfxpcqang5sgdssd8721rszbwqqaw93";
meta.description = "Compile-time configuration for Jane Street libraries";
buildInputs = [ ppx_assert ];
buildInputs = [ dune_1 ppx_assert ];
};
ppx_optcomp = janePackage {

View file

@ -1,13 +1,11 @@
{ lib, fetchFromGitHub, buildDunePackage, defaultVersion ? "0.12.0" }:
{ pname, version ? defaultVersion, hash, buildInputs ? [], ...}@args:
{ pname, version ? defaultVersion, hash, ...}@args:
buildDunePackage (args // {
inherit version buildInputs;
inherit version;
minimumOCamlVersion = "4.07";
useDune2 = true;
minimalOCamlVersion = "4.07";
src = fetchFromGitHub {
owner = "janestreet";

View file

@ -6,13 +6,13 @@
}:
buildPythonPackage rec {
version = "9.0.0";
version = "9.1.0";
pname = "azure-mgmt-containerregistry";
disabled = isPy27;
src = fetchPypi {
inherit pname version;
sha256 = "9f6c5894d32ba696527ecf0ff155bb43c325dff6a11a6de60cd22ea3f5fb180d";
sha256 = "sha256-jkzGLDqrJgwCnz27lGzFk4d2q+j0P+PU8uUVGQg7MkA=";
extension = "zip";
};

View file

@ -11,12 +11,12 @@
buildPythonPackage rec {
pname = "azure-mgmt-datafactory";
version = "2.2.1";
version = "2.3.0";
src = fetchPypi {
inherit pname version;
extension = "zip";
sha256 = "sha256-/YmFlK5xl3HjaKGAhQu0JUVeujzPkAb8gNik4Lzp470=";
sha256 = "sha256-pjBjFPkKhKd8XI6wmzX/rAssHINMzDAZa+XRqG/pLYo=";
};
propagatedBuildInputs = [

View file

@ -13,12 +13,12 @@
buildPythonPackage rec {
pname = "bandit";
version = "1.7.3";
version = "1.7.4";
disabled = !isPy3k;
src = fetchPypi {
inherit pname version;
sha256 = "sha256-WHcsqVG/ESndqKKA01FUfegycgv3tcKfrDEDknmAuKY=";
sha256 = "sha256-LWOoxXNBe64ziWLUubBvvGCA907NlVoJKEnh5lxxe9I=";
};
propagatedBuildInputs = [

View file

@ -19,13 +19,13 @@
buildPythonPackage rec {
pname = "cfn-lint";
version = "0.56.4";
version = "0.58.2";
src = fetchFromGitHub {
owner = "aws-cloudformation";
repo = "cfn-python-lint";
rev = "v${version}";
sha256 = "0li8zkdvmgfxqzqs1rvd48mwim0bhjwmxlywqxjix0a43kvkvh77";
sha256 = "sha256-ArpvP4tbRf1fK8BPokRXqS3YyaFiOLBrR8uQHko5iKo=";
};
postPatch = ''

View file

@ -9,10 +9,15 @@ buildPythonPackage rec {
sha256 = "0fb7b3fd03d76eddd4474b0561e1c2662457593a74cc300fd27e5409cd4d7922";
};
postPatch = ''
substituteInPlace setup.py --replace "lark-parser" "lark"
'';
propagatedBuildInputs = [ hypothesis lark libcst ];
checkInputs = [ black parso pytestCheckHook pytest-cov pytest-xdist ];
pytestFlagsArray = [ "-v" ]; # tests are fairly slow, prevents timeout due to no stdout printing
pythonImportsCheck = [ "hypothesmith" ];
meta = with lib; {

View file

@ -1,8 +1,8 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 66e6d49..78f7b42 100644
index 17c7032..12ed398 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,23 +1,6 @@
@@ -1,87 +1,12 @@
cmake_minimum_required(VERSION 3.13.0)
project(kaldi_binaries)
@ -24,9 +24,8 @@ index 66e6d49..78f7b42 100644
-endif()
-
set(BINARIES
tools/openfst/bin/fstarcsort${CMAKE_EXECUTABLE_SUFFIX}
tools/openfst/bin/fstcompile${CMAKE_EXECUTABLE_SUFFIX}
@@ -29,63 +12,6 @@ set(LIBRARIES
)
set(LIBRARIES
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'?")
- # set(KALDI_BRANCH "origin/master")
-endif()
-
message("MAKE_EXE = ${MAKE_EXE}")
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
-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_DST_COMMAND find ${DST} | xargs strip)
- # set(STRIP_DST_COMMAND find ${DST} [[[other specifiers]]] | xargs strip)
- if("${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "Darwin")
- list(APPEND STRIP_LIBS_COMMAND -x)
- list(APPEND STRIP_DST_COMMAND -x)
- # list(APPEND STRIP_DST_COMMAND -x)
- endif()
- # set(STRIP_LIBS_COMMAND true)
- set(STRIP_DST_COMMAND true)
- ExternalProject_Add(kaldi
- GIT_CONFIG advice.detachedHead=false
- GIT_REPOSITORY https://github.com/daanzu/kaldi-fork-active-grammar.git
- GIT_TAG ${KALDI_BRANCH}
- 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_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 " "
- 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()
-

View file

@ -1,5 +1,5 @@
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
+++ b/kaldi_active_grammar/utils.py
@@ -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 = '/'
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)

View file

@ -50,6 +50,8 @@ buildPythonPackage rec {
nativeBuildInputs = [ scikit-build cmake ];
propagatedBuildInputs = [ ush requests numpy cffi ];
doCheck = false; # no tests exist
meta = with lib; {
description = "Python Kaldi speech recognition";
homepage = "https://github.com/daanzu/kaldi-active-grammar";

View file

@ -3,17 +3,18 @@
, fetchFromGitHub
, python
, regex
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "lark";
version = "1.0.0";
version = "1.1.2";
src = fetchFromGitHub {
owner = "lark-parser";
repo = "lark";
rev = version;
sha256 = "0pfvjh4ydc49gs6m8b3ip85c8nd4da2bhz9714fwcyl3hdp33q7n";
sha256 = "sha256-Y1bDSiFnqAKTlIcd8aAgtc+I3TLnWF8hhQK2ez96TQs=";
};
# Optional import, but fixes some re known bugs & allows advanced regex features
@ -26,15 +27,11 @@ buildPythonPackage rec {
"lark.grammars"
];
checkPhase = ''
runHook preCheck
checkInputs = [ pytestCheckHook ];
# Official way to run the tests. Runs unittest internally.
# pytest produces issues with some test resource paths (relies on __main__)
${python.interpreter} -m tests
runHook postCheck
'';
disabledTestPaths = [
"tests/test_nearley/test_nearley.py" # requires unpackaged Js2Py library
];
meta = with lib; {
description = "A modern parsing library for Python, implementing Earley & LALR(1) and an easy interface";

View file

@ -9,7 +9,7 @@
buildPythonPackage rec {
pname = "pycfmodel";
version = "0.17.0";
version = "0.17.1";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -18,7 +18,7 @@ buildPythonPackage rec {
owner = "Skyscanner";
repo = pname;
rev = version;
hash = "sha256-IfeGNAgVCnrzipQpGiEqfWWNkUNmeH7TInl8kje52js=";
hash = "sha256-Rw0sZ2k+tXo04mvlL83hUgdHIND5NIsVH/CzrfmbKlE=";
};
propagatedBuildInputs = [

View file

@ -7,13 +7,15 @@
buildPythonPackage rec {
pname = "pyobihai";
version = "1.3.1";
disabled = pythonOlder "3.6";
version = "1.3.2";
format = "setuptools";
disabled = pythonOlder "3.7";
# GitHub release, https://github.com/dshokouhi/pyobihai/issues/10
src = fetchPypi {
inherit pname version;
sha256 = "1vvf5if57dfd091a7fb5rvx63hvf0isrx28j72nj2aav1as460qp";
hash = "sha256-zhsnJyhXlugK0nJ7FJZZcrq2VDQt1a9uCgsJAIABZ28=";
};
propagatedBuildInputs = [
@ -23,7 +25,9 @@ buildPythonPackage rec {
# Project has no tests
doCheck = false;
pythonImportsCheck = [ "pyobihai" ];
pythonImportsCheck = [
"pyobihai"
];
meta = with lib; {
description = "Python package to interact with Obihai devices";

View file

@ -20,7 +20,7 @@
buildPythonPackage rec {
pname = "slack-sdk";
version = "3.15.1";
version = "3.15.2";
format = "setuptools";
disabled = pythonOlder "3.6";
@ -29,7 +29,7 @@ buildPythonPackage rec {
owner = "slackapi";
repo = "python-slack-sdk";
rev = "v${version}";
sha256 = "sha256-N8JvNK1ddlCabzCmEv9TItqXDT7A4Dt8dhMLBICWXHA=";
sha256 = "sha256-lhdh4Eo7yIsukXoKI6Ss793fYmAu91O1UElmxV9xAc4=";
};
propagatedBuildInputs = [

View file

@ -7,14 +7,14 @@
buildPythonApplication rec {
pname = "sybil";
version = "3.0.0";
version = "3.0.1";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-dpLtZueT5eea5qcM8s+GGRftSOr/DYrfgl5k2Fgg8lE=";
hash = "sha256-bwLcIgSvflohIDeSTZdPcngfbcGP08RMx85GOhIPUw0=";
};
checkInputs = [
@ -22,7 +22,7 @@ buildPythonApplication rec {
];
disabledTests = [
# sensitive to output of other commands
# Sensitive to output of other commands
"test_namespace"
"test_unittest"
];

View file

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "testfixtures";
version = "6.18.3";
version = "6.18.5";
format = "setuptools";
# DO NOT CONTACT upstream.
# https://github.com/simplistix/ is only concerned with internal CI process.
@ -25,12 +25,9 @@ buildPythonPackage rec {
src = fetchPypi {
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 = [
mock
pytestCheckHook
@ -44,19 +41,6 @@ buildPythonPackage rec {
"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 = [
"testfixtures/tests"
];

View 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 ];
};
}

View file

@ -5,16 +5,16 @@
buildGoModule rec {
pname = "checkmate";
version = "0.5.7";
version = "0.5.8";
src = fetchFromGitHub {
owner = "adedayo";
repo = pname;
rev = "v${version}";
sha256 = "sha256-RCGJ7Xa5HLzcngv79NyocbNGoYZMAKyv/svRScM1vq0=";
sha256 = "sha256-nzhzeXy70UQ1HP3/PCBnUPhrjg7CnKURMCH0iJ099E0=";
};
vendorSha256 = "sha256-ZURtNED8gb0QsuXxJd9oBSx68ABcwlvVpkbd7lhiA9s=";
vendorSha256 = "sha256-uQRAVbLnzY+E3glMJ3AvmbtmwD2LkuqCh2mUpqZbmaA=";
subPackages = [ "." ];

View file

@ -1,26 +1,24 @@
{ lib
, argon2-cffi-bindings
, buildPythonApplication
, fetchPypi
# buildInputs
, glibcLocales
, pkginfo
, check-manifest
# propagatedBuildInputs
, py
, devpi-common
, pluggy
, setuptools
# CheckInputs
, pytest
, pytest-flake8
, webtest
, mock
, devpi-server
, tox
, sphinx
, wheel
, fetchPypi
, git
, glibcLocales
, mercurial
, mock
, pkginfo
, pluggy
, py
, pytestCheckHook
, pytest-flake8
, setuptools
, sphinx
, tox
, webtest
, wheel
}:
buildPythonApplication rec {
@ -29,24 +27,45 @@ buildPythonApplication rec {
src = fetchPypi {
inherit pname version;
sha256 = "362eb26e95136a792491861cc2728d14a6309a9d4c4f13a7b9c3e6fd39de58ec";
hash = "sha256-Ni6ybpUTankkkYYcwnKNFKYwmp1MTxOnucPm/TneWOw=";
};
buildInputs = [ glibcLocales ];
propagatedBuildInputs = [ py devpi-common pluggy setuptools check-manifest pkginfo ];
checkInputs = [
pytest pytest-flake8 webtest mock
devpi-server tox
sphinx wheel git mercurial
buildInputs = [
glibcLocales
];
# --fast skips tests which try to start a devpi-server improperly
checkPhase = ''
HOME=$TMPDIR py.test --fast
propagatedBuildInputs = [
argon2-cffi-bindings
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";
__darwinAllowLocalNetworking = true;
@ -57,5 +76,4 @@ buildPythonApplication rec {
license = licenses.mit;
maintainers = with maintainers; [ lewo makefu ];
};
}

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "esbuild";
version = "0.14.23";
version = "0.14.24";
src = fetchFromGitHub {
owner = "evanw";
repo = "esbuild";
rev = "v${version}";
sha256 = "sha256-7J8l4PCXDSddlUdMYaTo3KQjhUl1IRpks0iMiYxJzD4=";
sha256 = "sha256-ayL5aTfYFdsmZ4Zpkij27HE/2MCyt6J5qQ1d0BIX0eE=";
};
vendorSha256 = "sha256-QPkBR+FscUc3jOvH7olcGUhM6OW4vxawmNJuRQxPuGs=";

View file

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-llvm-lines";
version = "0.4.13";
version = "0.4.14";
src = fetchFromGitHub {
owner = "dtolnay";
repo = pname;
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; {
description = "Count the number of lines of LLVM IR across all instantiations of a generic function";

View file

@ -1,8 +1,8 @@
{
"1.18": {
"url": "https://launcher.mojang.com/v1/objects/125e5adf40c659fd3bce3e66e67a16bb49ecc1b9/server.jar",
"sha1": "125e5adf40c659fd3bce3e66e67a16bb49ecc1b9",
"version": "1.18.1",
"url": "https://launcher.mojang.com/v1/objects/c8f83c5655308435b3dcf03c06d9fe8740a77469/server.jar",
"sha1": "c8f83c5655308435b3dcf03c06d9fe8740a77469",
"version": "1.18.2",
"javaVersion": 17
},
"1.17": {

View 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 ];
};
}

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "gobgpd";
version = "2.34.0";
version = "3.0.0";
src = fetchFromGitHub {
owner = "osrg";
repo = "gobgp";
rev = "v${version}";
sha256 = "sha256-xyakq5DXwzONEP6EvDpAuzCrTDWcs+7asDlq9Vf4c1k=";
sha256 = "sha256-gyaAtFJubvDiz5b7lk6vmPHIqr9ccWK3N2iy4LvYiMg=";
};
vendorSha256 = "sha256-+dX/XByFW5/zvfXvyWePAv9X71dJEKaQf6xNXAXoMxw=";
vendorSha256 = "sha256-RSsvFD3RvYKxdwPDGG3YHVUzKLgwReZkoVabH5KWXMA=";
postConfigure = ''
export CGO_ENABLED=0

View 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 ];
};
}

View 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;
};
}

View file

@ -2,13 +2,13 @@
buildGoPackage rec {
pname = "exoscale-cli";
version = "1.49.3";
version = "1.50.0";
src = fetchFromGitHub {
owner = "exoscale";
repo = "cli";
rev = "v${version}";
sha256 = "sha256-ANykklex/T7JwZ/G3dB4UPkYx5jSE5AnztGsWHGfL8I=";
sha256 = "sha256-RpUnJzMnYIvPpJd6+IVpDxCS/FGM+PHXvbQPJQEoS8Y=";
};
goPackagePath = "github.com/exoscale/cli";

View 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 ];
};
}

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "gobgp";
version = "2.34.0";
version = "3.0.0";
src = fetchFromGitHub {
owner = "osrg";
repo = "gobgp";
rev = "v${version}";
sha256 = "sha256-xyakq5DXwzONEP6EvDpAuzCrTDWcs+7asDlq9Vf4c1k=";
sha256 = "sha256-gyaAtFJubvDiz5b7lk6vmPHIqr9ccWK3N2iy4LvYiMg=";
};
vendorSha256 = "sha256-+dX/XByFW5/zvfXvyWePAv9X71dJEKaQf6xNXAXoMxw=";
vendorSha256 = "sha256-RSsvFD3RvYKxdwPDGG3YHVUzKLgwReZkoVabH5KWXMA=";
postConfigure = ''
export CGO_ENABLED=0

View file

@ -19,12 +19,12 @@ in
openssh_hpn = common rec {
pname = "openssh-with-hpn";
version = "8.8p1";
version = "8.9p1";
extraDesc = " with high performance networking patches";
src = fetchurl {
url = "mirror://openbsd/OpenSSH/portable/openssh-${version}.tar.gz";
sha256 = "1s8z6f7mi1pwsl79cqai8cr350m5lf2ifcxff57wx6mvm478k425";
sha256 = "1ry5prcax0134v6srkgznpl9ch5snkgq7yvjqvd8c5mbnxa7cjgx";
};
extraPatches = [
@ -33,9 +33,9 @@ in
# HPN Patch from FreeBSD ports
(fetchpatch {
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;
sha256 = "sha256-+JvpPxktZAjhxLLK1lF4ijG9VlSWkqbRwotaLe6en64=";
sha256 = "sha256-p3CmMqTgrqFZUo4ZuqaPLczAhjmPufkCvptVW5dI+MI=";
})
];

View file

@ -47,6 +47,9 @@ buildPythonApplication rec {
hash = "sha256:1dizf9j3z7zk4lxvnszwx63xzd9r68f2iva5sszzf8s8na831dvd";
})
];
postPatch = ''
substituteInPlace pyproject.toml --replace "pdm-pep517>=0.9,<0.10" "pdm-pep517"
'';
propagatedBuildInputs = [
blinker

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "exploitdb";
version = "2022-03-01";
version = "2022-03-03";
src = fetchFromGitHub {
owner = "offensive-security";
repo = pname;
rev = version;
sha256 = "sha256-3bMroTIVjSMHV4tg3Um2E90Ph6j0vXRy0fSjGe9EPNE=";
sha256 = "sha256-EH4PlUb0PGUwkgfk1oFPKimoJcWI/mozzzaTST1De7A=";
};
nativeBuildInputs = [ makeWrapper ];

View file

@ -2,13 +2,13 @@
let
pname = "jadx";
version = "1.3.2";
version = "1.3.3";
src = fetchFromGitHub {
owner = "skylot";
repo = pname;
rev = "v${version}";
hash = "sha256-5meBBBijX49EQc9VejySwiIKsyCBEKGKIXvH7en6XuU=";
hash = "sha256-z8u6j6YLBHmgZKSGh/rFDDSnWZrBgWsqfKP3vhaukbY=";
};
deps = stdenv.mkDerivation {
@ -40,7 +40,7 @@ let
'';
outputHashMode = "recursive";
outputHash = "sha256-t+CkjoZqWqphxbg/4E3/7U8nKoV0AlITyRScLN8x6yY=";
outputHash = "sha256-kiNtA63sINX7VRsq4JKAiZYzymHe1TrNetZsE6S9KVM=";
};
in stdenv.mkDerivation {
inherit pname version src;

View file

@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec {
sha256 = "18ks5g4bx6iz9hdjxmi6a41ncxpb1hnsscdlddp2gr40k3vgd0pa";
};
cargoSha256 = "05rfjangmyvmqm0bvl4bcvc7m4zhg66gknh85sxr3bzrlwzacwgw";
cargoSha256 = "0pn3vqv13n29h8069a38306vjlzlxf1m08ldv7lpzgqxhl8an00r";
buildInputs = (lib.optional stdenv.isDarwin Security);

View 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 ];
};
}

View file

@ -1040,8 +1040,12 @@ with pkgs;
amidst = callPackage ../tools/games/minecraft/amidst { };
cf-vault = callPackage ../tools/admin/cf-vault { };
cope = callPackage ../tools/misc/cope { };
ejson2env = callPackage ../tools/admin/ejson2env { };
gamemode = callPackage ../tools/games/gamemode {
libgamemode32 = pkgsi686Linux.gamemode.lib;
};
@ -4549,7 +4553,8 @@ with pkgs;
cudatoolkit_11_2
cudatoolkit_11_3
cudatoolkit_11_4
cudatoolkit_11_5;
cudatoolkit_11_5
cudatoolkit_11_6;
cudatoolkit = cudatoolkit_10;
@ -5208,6 +5213,8 @@ with pkgs;
endlessh = callPackage ../servers/endlessh { };
endlessh-go = callPackage ../servers/endlessh-go { };
ericw-tools = callPackage ../applications/misc/ericw-tools { };
cryfs = callPackage ../tools/filesystems/cryfs { };
@ -6210,6 +6217,10 @@ with pkgs;
grin = callPackage ../tools/text/grin { };
igrep = callPackage ../tools/text/igrep {
inherit (darwin.apple_sdk.frameworks) Security;
};
ripgrep = callPackage ../tools/text/ripgrep {
inherit (darwin.apple_sdk.frameworks) Security;
};
@ -10843,6 +10854,8 @@ with pkgs;
SDL = SDL_sixel;
};
vtm = callPackage ../tools/misc/vtm { };
witness = callPackage ../tools/security/witness { };
openconnect = openconnect_gnutls;

View file

@ -18,7 +18,7 @@ self:
let
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 + "-";
@ -107,7 +107,7 @@ in {
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 fetchPypi;
inherit hasPythonModule requiredPythonModules makePythonPath disabled disabledIf;
@ -9909,6 +9909,8 @@ in {
tika = callPackage ../development/python-modules/tika { };
tikzplotlib = callPackage ../development/python-modules/tikzplotlib { };
tiledb = callPackage ../development/python-modules/tiledb {
inherit (pkgs) tiledb;
};