Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2022-03-05 00:10:25 +00:00 committed by GitHub
commit 398b2ea4e6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
146 changed files with 1337 additions and 3562 deletions

@ -6350,6 +6350,12 @@
githubId = 37185887;
name = "Calvin Kim";
};
keldu = {
email = "mail@keldu.de";
github = "keldu";
githubId = 15373888;
name = "Claudius Holeksa";
};
kennyballou = {
email = "kb@devnulllabs.io";
github = "kennyballou";
@ -7963,6 +7969,12 @@
githubId = 668926;
name = "Maximilian Güntner";
};
mh = {
email = "68288772+markus-heinrich@users.noreply.github.com";
github = "markus-heinrich";
githubId = 68288772;
name = "Markus Heinrich";
};
mhaselsteiner = {
email = "magdalena.haselsteiner@gmx.at";
github = "mhaselsteiner";
@ -10976,6 +10988,12 @@
githubId = 19472270;
name = "Sebastian";
};
sebastianblunt = {
name = "Sebastian Blunt";
email = "nix@sebastianblunt.com";
github = "sebastianblunt";
githubId = 47431204;
};
sebbadk = {
email = "sebastian@sebba.dk";
github = "SEbbaDK";
@ -12860,6 +12878,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";

@ -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.

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

@ -120,6 +120,13 @@
<link xlink:href="options.html#opt-services.heisenbridge.enable">services.heisenbridge</link>.
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://snowflake.torproject.org/">snowflake-proxy</link>,
a system to defeat internet censorship. Available as
<link xlink:href="options.html#opt-services.snowflake-proxy.enable">services.snowflake-proxy</link>.
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://ergo.chat">ergochat</link>, a modern

@ -37,6 +37,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- [heisenbridge](https://github.com/hifi/heisenbridge), a bouncer-style Matrix IRC bridge. Available as [services.heisenbridge](options.html#opt-services.heisenbridge.enable).
- [snowflake-proxy](https://snowflake.torproject.org/), a system to defeat internet censorship. Available as [services.snowflake-proxy](options.html#opt-services.snowflake-proxy.enable).
- [ergochat](https://ergo.chat), a modern IRC with IRCv3 features. Available as [services.ergochat](options.html#opt-services.ergochat.enable).
- [PowerDNS-Admin](https://github.com/ngoduykhanh/PowerDNS-Admin), a web interface for the PowerDNS server. Available at [services.powerdns-admin](options.html#opt-services.powerdns-admin.enable).

@ -1,12 +1,17 @@
{ config, lib, options, pkgs, ... }:
with lib;
let
cfg = config.system.nixos;
opt = options.system.nixos;
in
inherit (lib)
concatStringsSep mapAttrsToList toLower
literalExpression mkRenamedOptionModule mkDefault mkOption trivial types;
attrsToText = attrs:
concatStringsSep "\n" (mapAttrsToList (n: v: ''${n}="${toString v}"'') attrs);
in
{
imports = [
(mkRenamedOptionModule [ "system" "nixosVersion" ] [ "system" "nixos" "version" ])
@ -101,22 +106,30 @@ in
# Generate /etc/os-release. See
# https://www.freedesktop.org/software/systemd/man/os-release.html for the
# format.
environment.etc.os-release.text =
''
NAME=NixOS
ID=nixos
VERSION="${cfg.release} (${cfg.codeName})"
VERSION_CODENAME=${toLower cfg.codeName}
VERSION_ID="${cfg.release}"
BUILD_ID="${cfg.version}"
PRETTY_NAME="NixOS ${cfg.release} (${cfg.codeName})"
LOGO="nix-snowflake"
HOME_URL="https://nixos.org/"
DOCUMENTATION_URL="https://nixos.org/learn.html"
SUPPORT_URL="https://nixos.org/community.html"
BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues"
'';
environment.etc = {
"lsb-release".text = attrsToText {
LSB_VERSION = "${cfg.release} (${cfg.codeName})";
DISTRIB_ID = "nixos";
DISTRIB_RELEASE = cfg.release;
DISTRIB_CODENAME = toLower cfg.codeName;
DISTRIB_DESCRIPTION = "NixOS ${cfg.release} (${cfg.codeName})";
};
"os-release".text = attrsToText {
NAME = "NixOS";
ID = "nixos";
VERSION = "${cfg.release} (${cfg.codeName})";
VERSION_CODENAME = toLower cfg.codeName;
VERSION_ID = cfg.release;
BUILD_ID = cfg.version;
PRETTY_NAME = "NixOS ${cfg.release} (${cfg.codeName})";
LOGO = "nix-snowflake";
HOME_URL = "https://nixos.org/";
DOCUMENTATION_URL = "https://nixos.org/learn.html";
SUPPORT_URL = "https://nixos.org/community.html";
BUG_REPORT_URL = "https://github.com/NixOS/nixpkgs/issues";
};
};
};
# uses version info nixpkgs, which requires a full nixpkgs path

@ -877,6 +877,7 @@
./services/networking/shorewall6.nix
./services/networking/shout.nix
./services/networking/sniproxy.nix
./services/networking/snowflake-proxy.nix
./services/networking/smartdns.nix
./services/networking/smokeping.nix
./services/networking/softether.nix

@ -17,8 +17,8 @@ let
then value
else { executable = value; profile = null; extraArgs = []; };
args = lib.escapeShellArgs (
(optional (opts.profile != null) "--profile=${toString opts.profile}")
++ opts.extraArgs
opts.extraArgs
++ (optional (opts.profile != null) "--profile=${toString opts.profile}")
);
in
''

@ -518,7 +518,7 @@ let
auth optional ${pkgs.pam_gnupg}/lib/security/pam_gnupg.so ${optionalString cfg.gnupg.storeOnly " store-only"}
'' +
optionalString cfg.googleAuthenticator.enable ''
auth required ${pkgs.googleAuthenticator}/lib/security/pam_google_authenticator.so no_increment_hotp
auth required ${pkgs.google-authenticator}/lib/security/pam_google_authenticator.so no_increment_hotp
'' +
optionalString cfg.duoSecurity.enable ''
auth required ${pkgs.duo-unix}/lib/security/pam_duo.so

@ -0,0 +1,81 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.snowflake-proxy;
in
{
options = {
services.snowflake-proxy = {
enable = mkEnableOption "System to defeat internet censorship";
broker = mkOption {
description = "Broker URL (default \"https://snowflake-broker.torproject.net/\")";
type = with types; nullOr str;
default = null;
};
capacity = mkOption {
description = "Limits the amount of maximum concurrent clients allowed.";
type = with types; nullOr int;
default = null;
};
relay = mkOption {
description = "websocket relay URL (default \"wss://snowflake.bamsoftware.com/\")";
type = with types; nullOr str;
default = null;
};
stun = mkOption {
description = "STUN broker URL (default \"stun:stun.stunprotocol.org:3478\")";
type = with types; nullOr str;
default = null;
};
};
};
config = mkIf cfg.enable {
systemd.services.snowflake-proxy = {
wantedBy = [ "network-online.target" ];
serviceConfig = {
ExecStart =
"${pkgs.snowflake}/bin/proxy " + concatStringsSep " " (
optional (cfg.broker != null) "-broker ${cfg.broker}"
++ optional (cfg.capacity != null) "-capacity ${builtins.toString cfg.capacity}"
++ optional (cfg.relay != null) "-relay ${cfg.relay}"
++ optional (cfg.stun != null) "-stun ${cfg.stun}"
);
# Security Hardening
# Refer to systemd.exec(5) for option descriptions.
CapabilityBoundingSet = "";
# implies RemoveIPC=, PrivateTmp=, NoNewPrivileges=, RestrictSUIDSGID=,
# ProtectSystem=strict, ProtectHome=read-only
DynamicUser = true;
LockPersonality = true;
PrivateDevices = true;
PrivateUsers = true;
ProcSubset = "pid";
ProtectClock = true;
ProtectControlGroups = true;
ProtectHome = true;
ProtectHostname = true;
ProtectKernelLogs = true;
ProtectProc = "invisible";
ProtectKernelModules = true;
ProtectKernelTunables = true;
RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ];
RestrictNamespaces = true;
RestrictRealtime = true;
SystemCallArchitectures = "native";
SystemCallFilter = "~@clock @cpu-emulation @debug @mount @obsolete @reboot @swap @privileged @resources";
UMask = "0077";
};
};
};
meta.maintainers = with maintainers; [ yayayayaka ];
}

@ -39,20 +39,12 @@ in
'';
};
useKernelOOMKiller= mkOption {
type = types.bool;
default = false;
description = ''
Use kernel OOM killer instead of own user-space implementation.
'';
};
# TODO: remove or warn after 1.7 (https://github.com/rfjakob/earlyoom/commit/7ebc4554)
ignoreOOMScoreAdjust = mkOption {
type = types.bool;
default = false;
description = ''
Ignore oom_score_adjust values of processes.
User-space implementation only.
'';
};
@ -87,16 +79,21 @@ in
};
};
imports = [
(mkRemovedOptionModule [ "services" "earlyoom" "useKernelOOMKiller" ] ''
This option is deprecated and ignored by earlyoom since 1.2.
'')
];
config = mkIf ecfg.enable {
assertions = [
{ assertion = ecfg.freeMemThreshold > 0 && ecfg.freeMemThreshold <= 100;
message = "Needs to be a positive percentage"; }
{ assertion = ecfg.freeSwapThreshold > 0 && ecfg.freeSwapThreshold <= 100;
message = "Needs to be a positive percentage"; }
{ assertion = !ecfg.useKernelOOMKiller || !ecfg.ignoreOOMScoreAdjust;
message = "Both options in conjunction do not make sense"; }
];
# TODO: reimplement this option as -N after 1.7 (https://github.com/rfjakob/earlyoom/commit/afe03606)
warnings = optional (ecfg.notificationsCommand != null)
"`services.earlyoom.notificationsCommand` is deprecated and ignored by earlyoom since 1.6.";
@ -107,15 +104,13 @@ in
serviceConfig = {
StandardOutput = "null";
StandardError = "journal";
ExecStart = ''
${pkgs.earlyoom}/bin/earlyoom \
-m ${toString ecfg.freeMemThreshold} \
-s ${toString ecfg.freeSwapThreshold} \
${optionalString ecfg.useKernelOOMKiller "-k"} \
${optionalString ecfg.ignoreOOMScoreAdjust "-i"} \
${optionalString ecfg.enableDebugInfo "-d"} \
${optionalString ecfg.enableNotifications "-n"}
'';
ExecStart = concatStringsSep " " ([
"${pkgs.earlyoom}/bin/earlyoom"
"-m ${toString ecfg.freeMemThreshold}"
"-s ${toString ecfg.freeSwapThreshold}"
] ++ optional ecfg.ignoreOOMScoreAdjust "-i"
++ optional ecfg.enableDebugInfo "-d"
++ optional ecfg.enableNotifications "-n");
};
};

@ -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);
}

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

@ -0,0 +1,76 @@
{
stdenv
, fetchFromGitHub
, fetchpatch
, fetchurl
, fetchzip
, freetype
, jansson
, lib
, libGL
, libX11
, libXcursor
, libXext
, libXrandr
, libarchive
, liblo
, libsamplerate
, mesa
, pkg-config
, python3
, speexdsp
}:
stdenv.mkDerivation rec {
name = "cardinal-${version}";
version = "22.02";
src = fetchurl {
url =
"https://github.com/DISTRHO/Cardinal/releases/download/${version}/cardinal-${version}.tar.xz";
sha256 = "sha256-IVlAROFGFffTEU00NCmv74w1DRb7dNMp20FeBVoDrdM=";
};
patches = [
# see https://github.com/DISTRHO/Cardinal/issues/151#issuecomment-1041886260
(fetchpatch {
url =
"https://github.com/DISTRHO/Cardinal/commit/13e9ef37c5dd35d77a54b1cb006767be7a72ac69.patch";
sha256 = "sha256-NYUYLbLeBX1WEzjPi0s/T1N+EXQKyi0ifbPxgBYDjRs=";
})
];
prePatch = ''
patchShebangs ./dpf/utils/generate-ttl.sh
'';
enableParallelBuilding = true;
nativeBuildInputs = [ pkg-config ];
buildInputs = [
freetype
jansson
libGL
libX11
libXcursor
libXext
libXrandr
libXrandr
libarchive
liblo
libsamplerate
mesa
python3
speexdsp
];
makeFlags = [ "SYSDEPS=true" "PREFIX=$(out)" ];
meta = {
description = "Plugin wrapper around VCV Rack";
homepage = "https://github.com/DISTRHO/cardinal";
license = lib.licenses.gpl3;
maintainers = [ lib.maintainers.magnetophon ];
platforms = lib.platforms.all;
};
}

@ -5,11 +5,11 @@
mkDerivation rec {
pname = "vmpk";
version = "0.8.5";
version = "0.8.6";
src = fetchurl {
url = "mirror://sourceforge/${pname}/${version}/${pname}-${version}.tar.bz2";
sha256 = "sha256-SPome4UKGOWQLT9RMoGZ0wUdwodG8mSIaGFCg0i5CmY=";
sha256 = "sha256-cwfJJVeUokyZI1iGvqBvXjcBR36VGodzrUx5Atv3POM=";
};
nativeBuildInputs = [ cmake pkg-config qttools docbook-xsl-nons ];

@ -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 =

@ -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;

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

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

@ -14,17 +14,17 @@ let
archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
sha256 = {
x86_64-linux = "0gv71l9cidkbbv7b1dsfyn7lnlwcmjds9qx6nrh7alymdm1xa2xr";
x86_64-darwin = "1is795040xb3l23crblwf056wsvsi4dip3lkwhlblhkpsl0048f1";
aarch64-linux = "186dy6h3krc6fqvmh1nay1dk5109kl9p25kx37jkbzf2qhnpibm8";
aarch64-darwin = "04xc5fy4wcplfrigbm624dpzxd2m4rkq979xr1i57p3d20i96s6g";
armv7l-linux = "1k7bfmrfw16zpn33p7ycxpp6g9xh8aypmf61nrkx2jn99nxy5d3s";
x86_64-linux = "04lyih67vcf2hficvlv1r25k8k48n9x15sbqrfp1syzhy5i4zch3";
x86_64-darwin = "0460mh1ah9hswn8ihais5hzvz453r36ay2bb3hy3z1grfs3s5blk";
aarch64-linux = "1db2r4ja0srya2lw900l4mk24xva00kf7vxajcb7q0rab4cpfr3n";
aarch64-darwin = "04c43ibbarsqdm1wcsmsi9rnfsl3lyq638d3j0dj94xifk0v61j9";
armv7l-linux = "1qzi2biy5mjbxdgcakzmid68ykq6vrgj4lqmz0jk3g46r4kpnrgd";
}.${system};
in
callPackage ./generic.nix rec {
# Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem.
version = "1.64.2";
version = "1.65.0";
pname = "vscode";
executableName = "code" + lib.optionalString isInsiders "-insiders";

@ -13,10 +13,10 @@ let
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
sha256 = {
x86_64-linux = "0ldfp4r7nb9npvjadgj63sd369nqmbgf5y4kpp93slsy1lbs0bk8";
x86_64-darwin = "05z0jx2cc1askzzdxa8vxj8gp0v9rm1jw6005bpmijvyb8s2d30w";
aarch64-linux = "1a5fyxzz51rb0af0wv3xh2h87yq00y5k501p7idqhj0zvd5mpqh6";
armv7l-linux = "05byi0aba516whzry5qkxfkm82sy2dgv1m0hyycmnkb2dwmb552m";
x86_64-linux = "0a38bjkksna7q2lhcm1hgfn189jw3k8svw0jf591bpq7jvknim1v";
x86_64-darwin = "173rhavczm0k9qgrlz68rdvwsmy3ynq2g14shx9gipchr1i0rih5";
aarch64-linux = "00xkhwvxmyiyy9k1vh23sqyib584qafzs1m57xraqq3n8098jrng";
armv7l-linux = "0lqq54hnv4b1m47cya7196cn00jwslcsh5ykicgq0dxljrcawi0y";
}.${system};
sourceRoot = {
@ -31,7 +31,7 @@ in
# Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem.
version = "1.64.2";
version = "1.65.0";
pname = "vscodium";
executableName = "codium";

@ -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"

@ -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
html2text
html5-parser
jeepney
lxml
markdown
mechanize

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

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "limesctl";
version = "2.0.1";
version = "3.0.0";
src = fetchFromGitHub {
owner = "sapcc";
repo = pname;
rev = "v${version}";
sha256 = "sha256-E6LwNiCykBqjkifUSi6oBWqCEhkRO+03HSKn4p45kh0=";
sha256 = "sha256-52Tq6gKozM/IFUyAy8N+YDqlbcFNQw6b2tc268Zco6g=";
};
vendorSha256 = "sha256-SzgiWqPuDZuSH8I9im8r+06E085PWyHwLjwxcaoJgQo=";
vendorSha256 = "sha256-7QEb5J5IaxisKjbulyHq5PGVeKAX022Pz+5OV5qD7Uo=";
subPackages = [ "." ];

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "logseq";
version = "0.6.0";
version = "0.6.1";
src = fetchurl {
url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
sha256 = "9u2KdrNVAx+sy/8s2VP0DIzSMTvBK56pUGQaj7wulz0=";
sha256 = "ccLqOKH10hmROnxlnNxuD5/AqAcFIILIoW/9yZLEep0=";
name = "${pname}-${version}.AppImage";
};

@ -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 = [

@ -32,15 +32,15 @@
}
},
"dev": {
"version": "100.0.4896.20",
"sha256": "0g16xzimp39vk5b27bj12rh14520wihj4m4mwxf387rv0yp03cnr",
"sha256bin64": "1hyqsqpmhxdja6jzvmq0cwwcg4nq72w0zdpa0xh24n5g4cd9xz04",
"version": "101.0.4919.0",
"sha256": "01dp3pkpf2m6r6vfyqgcg99xcii0qi3qm0g69r3nnj2hrs7ziqv2",
"sha256bin64": "1x7bfcnhrbakcbdyp1sc79jx6qysnnyj1by6qnl7gyffh8xyb95g",
"deps": {
"gn": {
"version": "2022-01-21",
"version": "2022-03-01",
"url": "https://gn.googlesource.com/gn",
"rev": "0725d7827575b239594fbc8fd5192873a1d62f44",
"sha256": "1dzdvcn2r5c9giknvasf3y5y4901kav7igivjvrpww66ywsj8fzr"
"rev": "d7c2209cebcfe37f46dba7be4e1a7000ffc342fb",
"sha256": "0b024mr8bdsnkkd3qkh097a7w0gpicarijnsbpfgkf6imnkccg5w"
}
}
},

@ -19,13 +19,13 @@
stdenv.mkDerivation rec {
pname = "lagrange";
version = "1.10.6";
version = "1.11.1";
src = fetchFromGitHub {
owner = "skyjake";
repo = "lagrange";
rev = "v${version}";
sha256 = "sha256-N4NB4lfWIN+jreAuaaGKRdpgwHy2CKrPrGxu1iSCZyU=";
sha256 = "sha256-RrdD+G8DKOBm0TpmRQg1uMGNFAlAADFeK3h6oyo5RZ4=";
fetchSubmodules = true;
};

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

@ -4,11 +4,11 @@ let
configOverrides = writeText "cinny-config-overrides.json" (builtins.toJSON conf);
in stdenv.mkDerivation rec {
pname = "cinny";
version = "1.6.1";
version = "1.7.0";
src = fetchurl {
url = "https://github.com/ajbura/cinny/releases/download/v${version}/cinny-v${version}.tar.gz";
sha256 = "sha256-RJpLK16bedpqo/JJf3atpiuL5spHJNowomcusjZtEWA=";
sha256 = "0133dbzxy0n0i6bn2p3lx33kpabnf9kzs9mv4xws30hbns25q99k";
};
installPhase = ''

@ -4,7 +4,7 @@
, libXext, libXfixes, libXrender, libXtst, libXScrnSaver, nss, nspr, alsa-lib
, cups, expat, libuuid, at-spi2-core, libappindicator-gtk3, mesa
# Runtime dependencies:
, systemd, libnotify, libdbusmenu, libpulseaudio
, systemd, libnotify, libdbusmenu, libpulseaudio, xdg-utils
# Unfortunately this also overwrites the UI language (not just the spell
# checking language!):
, hunspellDicts, spellcheckerLanguage ? null # E.g. "de_DE"
@ -84,6 +84,7 @@ in stdenv.mkDerivation rec {
(lib.getLib systemd)
libnotify
libdbusmenu
xdg-utils
];
unpackPhase = "dpkg-deb -x $src .";
@ -123,6 +124,7 @@ in stdenv.mkDerivation rec {
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc ] }"
${customLanguageWrapperArgs}
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland}}"
--suffix PATH : ${lib.makeBinPath [ xdg-utils ]}
)
# Fix the desktop link

@ -7,7 +7,7 @@ let
# Please keep the version x.y.0.z and do not update to x.y.76.z because the
# source of the latter disappears much faster.
version = "8.80.0.143";
version = "8.81.0.268";
rpath = lib.makeLibraryPath [
alsa-lib
@ -68,7 +68,7 @@ let
"https://mirror.cs.uchicago.edu/skype/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
"https://web.archive.org/web/https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
];
sha256 = "sha256-SLypP+ZRHMWeB3KuvmmYb0Y1T3ipSpWNiYYQIzMCDDY=";
sha256 = "sha256-MqXLK+AdYkQVTeTjul9Dru78597FuThRUVq7/y9FYUU=";
}
else
throw "Skype for linux is not supported on ${stdenv.hostPlatform.system}";

@ -4,20 +4,20 @@
let
pname = "vk-messenger";
version = "5.2.3";
version = "5.3.2";
src = {
i686-linux = fetchurl {
url = "https://desktop.userapi.com/rpm/master/vk-${version}.i686.rpm";
sha256 = "09zi2rzsank6lhw1z9yar1rp634y6qskvr2i0rvqg2fij7cy6w19";
sha256 = "L0nE0zW4LP8udcE8uPy+cH9lLuQsUSq7cF13Gv7w2rI=";
};
x86_64-linux = fetchurl {
url = "https://desktop.userapi.com/rpm/master/vk-${version}.x86_64.rpm";
sha256 = "1m6saanpv1k5wc5s58jpf0wsgjsj7haabx8nycm1fjyhky1chirb";
sha256 = "spDw9cfDSlIuCwOqREsqXC19tx62TiAz9fjIS9lYjSQ=";
};
x86_64-darwin = fetchurl {
url = "https://web.archive.org/web/20210310071550/https://desktop.userapi.com/mac/master/vk.dmg";
sha256 = "0j5qsr0fyl55d0x46xm4h2ykwr4y9z1dsllhqx5lnc15nc051s9b";
url = "https://web.archive.org/web/20220302083827/https://desktop.userapi.com/mac/master/vk.dmg";
sha256 = "hxK8I9sF6njfCxSs1KBCHfnG81JGKUgHKAeFLtuCNe0=";
};
}.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");

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

@ -0,0 +1,25 @@
{ lib, stdenv, fetchFromGitHub, htslib, zlib, bzip2, xz, curl, openssl }:
stdenv.mkDerivation rec {
pname = "angsd";
version = "0.937";
src = fetchFromGitHub {
owner = "ANGSD";
repo = "angsd";
sha256 = "1020gh066dprqhfi90ywqzqqnq7awn49wrkkjnizmmab52v00kxs";
rev = "${version}";
};
buildInputs = [ htslib zlib bzip2 xz curl openssl ];
makeFlags = [ "HTSSRC=systemwide" "prefix=$(out)" ];
meta = with lib; {
description = "Program for analysing NGS data";
homepage = "http://www.popgen.dk/angsd";
maintainers = [ maintainers.bzizou ];
license = licenses.gpl2;
};
}

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

@ -25,14 +25,14 @@ let
};
in
stdenv.mkDerivation rec {
version = "14.32.24";
version = "14.32.28";
pname = "jmol";
src = let
baseVersion = "${lib.versions.major version}.${lib.versions.minor version}";
in fetchurl {
url = "mirror://sourceforge/jmol/Jmol/Version%20${baseVersion}/Jmol%20${version}/Jmol-${version}-binary.tar.gz";
sha256 = "sha256-YxYNb2fS7KiUkZDSRx4FN+ZeMMNpfTaElitRE4RtD0g=";
sha256 = "sha256-J5m18pHjm3mbMwmCR1v9ycPNFwJdewp6zP4pxCZ+lF0=";
};
patchPhase = ''

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

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

@ -220,6 +220,7 @@ stdenv.mkDerivation rec {
# Add a qemu-kvm wrapper for compatibility/convenience.
postInstall = ''
ln -s $out/libexec/virtiofsd $out/bin
ln -s $out/bin/qemu-system-${stdenv.hostPlatform.qemuArch} $out/bin/qemu-kvm
'';
@ -240,5 +241,6 @@ stdenv.mkDerivation rec {
mainProgram = "qemu-kvm";
maintainers = with maintainers; [ eelco qyliss ];
platforms = platforms.unix;
priority = 10; # Prefer virtiofsd from the virtiofsd package.
};
}

@ -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" ];
};
}

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

@ -1,14 +1,14 @@
{ lib, fetchurl, libarchive }:
let
version = "0.35.9";
version = "0.36.0";
in fetchurl {
name = "sarasa-gothic-${version}";
# Use the 'ttc' files here for a smaller closure size.
# (Using 'ttf' files gives a closure size about 15x larger, as of November 2021.)
url = "https://github.com/be5invis/Sarasa-Gothic/releases/download/v${version}/sarasa-gothic-ttc-${version}.7z";
sha256 = "sha256-zG1VVI7QRQMC4MBA3otD26LUvnkUxaxt6UkiweY0l1w=";
sha256 = "sha256-ENBF7dVFp9lrGGRwNIB0Yg7y1F5XbVivgD2e9pLZQwQ=";
recursiveHash = true;
downloadToTemp = true;

@ -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 ];

@ -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 ];

@ -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 ];

@ -0,0 +1,43 @@
{ lib, stdenv, fetchFromGitLab, python3 }:
let
pythonEnv = python3.withPackages (p: with p; [ dbus-python pygobject3 ]);
in
stdenv.mkDerivation rec {
pname = "krunner-ssh";
version = "1.0";
src = fetchFromGitLab {
owner = "Programie";
repo = "krunner-ssh";
rev = version;
sha256 = "sha256-rFTTvmetDeN6t0axVc+8t1TRiuyPBpwqhvsq2IFxa/A=";
};
postPatch = ''
sed -e "s|Exec=.*|Exec=$out/libexec/runner.py|" -i ssh-runner.service
'';
nativeBuildInputs = [
pythonEnv
];
installPhase = ''
runHook preInstall
patchShebangs runner.py
install -m 0755 -D runner.py $out/libexec/runner.py
install -m 0755 -D ssh-runner.desktop $out/share/kservices5/ssh-runner.desktop
install -m 0755 -D ssh-runner.service $out/share/dbus-1/services/com.selfcoders.ssh-runner.service
runHook postInstall
'';
meta = with lib; {
description = "A simple backend for KRunner providing SSH hosts from your .ssh/known_hosts file as search results";
homepage = "https://selfcoders.com/projects/krunner-ssh";
license = licenses.mit;
maintainers = with maintainers; [ aanderse ];
platforms = platforms.linux;
};
}

@ -161,6 +161,7 @@ let
kwin-dynamic-workspaces = callPackage ./3rdparty/kwin/scripts/dynamic-workspaces.nix { };
kwin-tiling = callPackage ./3rdparty/kwin/scripts/tiling.nix { };
krohnkite = callPackage ./3rdparty/kwin/scripts/krohnkite.nix { };
krunner-ssh = callPackage ./3rdparty/addons/krunner-ssh.nix { };
krunner-symbols = callPackage ./3rdparty/addons/krunner-symbols.nix { };
lightly = callPackage ./3rdparty/lightly { };
parachute = callPackage ./3rdparty/kwin/scripts/parachute.nix { };

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

@ -3,7 +3,7 @@
let
ocamlDependencies = version:
if lib.versionAtLeast version "4.2"
then with ocaml-ng.ocamlPackages; [
then with ocaml-ng.ocamlPackages_4_12; [
ocaml
findlib
sedlex_2

@ -2,6 +2,9 @@
, fix, menhir, menhirLib, menhirSdk, merlin-extend, ppxlib, utop, cppo, ppx_derivers
}:
lib.throwIfNot (lib.versionOlder ocaml.version "4.13")
"reason is not available for OCaml ${ocaml.version}"
stdenv.mkDerivation rec {
pname = "ocaml${ocaml.version}-reason";
version = "3.7.0";

@ -19,7 +19,6 @@
, grpc
, gtest
, jemalloc
, libnsl
, lz4
, minio
, ninja
@ -39,7 +38,7 @@
, zlib
, zstd
, enableShared ? !stdenv.hostPlatform.isStatic
, enableFlight ? !stdenv.isDarwin # libnsl is not supported on darwin
, enableFlight ? true
, enableJemalloc ? !(stdenv.isAarch64 && stdenv.isDarwin)
# boost/process is broken in 1.69 on darwin, but fixed in 1.70 and
# non-existent in older versions
@ -129,7 +128,6 @@ stdenv.mkDerivation rec {
python3.pkgs.numpy
] ++ lib.optionals enableFlight [
grpc
libnsl
openssl
protobuf
] ++ lib.optionals enableS3 [ aws-sdk-cpp openssl ]

@ -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 ];

@ -1,4 +1,13 @@
{ stdenv, fetchurl, lib }:
{ lib
, stdenv
, fetchurl
# for passthru.tests
, python3
, perlPackages
, haskellPackages
, luaPackages
, ocamlPackages
}:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
@ -34,6 +43,14 @@ stdenv.mkDerivation rec {
--replace "$"'{_IMPORT_PREFIX}' $out
'';
passthru.tests = {
inherit python3;
inherit (haskellPackages) hexpat;
inherit (perlPackages) XMLSAXExpat XMLParser;
inherit (luaPackages) luaexpat;
inherit (ocamlPackages) ocaml_expat;
};
meta = with lib; {
homepage = "https://libexpat.github.io/";
description = "A stream-oriented XML parser library written in C";

@ -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 = [

@ -0,0 +1,28 @@
{ stdenv, fetchFromGitHub, lib, cmake, expat }:
stdenv.mkDerivation rec {
pname = "libwbxml";
version = "0.11.7";
src = fetchFromGitHub {
owner = "libwbxml";
repo = "libwbxml";
rev = "${pname}-${version}";
sha256 = "sha256:1b81rbkd28d9059vh8n5gql73crp8h7av67kkmr6lhicl08fv2xx";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ expat ];
postPatch = ''
sed -i 's/^SET.*$//' cmake/CMakeLists.txt
'';
meta = with lib; {
homepage = "https://github.com/libwbxml/libwbxml";
description = "The WBXML Library (aka libwbxml) contains a library and its associated tools to Parse, Encode and Handle WBXML documents";
maintainers = with maintainers; [ mh ];
platforms = platforms.linux;
license = licenses.lgpl21Plus;
};
}

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "pythia";
version = "8.306";
version = "8.307";
src = fetchurl {
url = "https://pythia.org/download/pythia83/pythia${builtins.replaceStrings ["."] [""] version}.tgz";
sha256 = "sha256-c0gDtyKxwbU8jPLw08MHR8gPwt3l4LoUG8k5fa03qPY=";
sha256 = "sha256-5bFNRKpZQzMuMt1d2poY/dGgCFxxmOKNhA4EFn+mAT0=";
};
nativeBuildInputs = [ rsync ];

@ -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 {

@ -124,6 +124,8 @@ stdenv.mkDerivation rec {
mesonFlags = [
"-Dusb-acl-helper-dir=${placeholder "out"}/bin"
"-Dusb-ids-path=${hwdata}/share/hwdata/usb.ids"
] ++ lib.optionals (!withPolkit) [
"-Dpolkit=disabled"
];
meta = with lib; {

@ -19,13 +19,13 @@
stdenv.mkDerivation rec {
pname = "umockdev";
version = "0.17.6";
version = "0.17.7";
outputs = [ "bin" "out" "dev" "devdoc" ];
src = fetchurl {
url = "https://github.com/martinpitt/umockdev/releases/download/${version}/${pname}-${version}.tar.xz";
sha256 = "sha256-X60zN3orHU8lOfRVCfbHTdrleKxB7ILCIGvXSZLdoSk=";
sha256 = "sha256-BdZCoW3QHM4Oue4bpuSFsuwIU1vsZ5pjqVv9TfGNC7U=";
};
nativeBuildInputs = [

@ -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 {

@ -666,6 +666,7 @@ with self;
pname = "pythonlib";
hash = "0qr0mh9jiv1ham5zlz9i4im23a1vh6x1yp6dp2db2s4icmfph639";
meta.description = "A library to help writing wrappers around ocaml code for python";
meta.broken = lib.versionAtLeast ocaml.version "4.13";
propagatedBuildInputs = [ ppx_expect ppx_let ppx_python stdio typerep ];
};

@ -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";

@ -1,5 +1,9 @@
{ lib, fetchFromGitHub, buildDunePackage, ocaml, result, ppx_derivers }:
if lib.versionOlder "4.13" ocaml.version
then throw "ocaml-migrate-parsetree-1.8 is not available for OCaml ${ocaml.version}"
else
buildDunePackage rec {
pname = "ocaml-migrate-parsetree";
version = "1.8.0";

@ -5,6 +5,7 @@
, ppxlib
, ppx_derivers
, result
, ounit
, ounit2
, ocaml-migrate-parsetree
, ocaml-migrate-parsetree-2
@ -51,7 +52,9 @@ buildDunePackage rec {
];
doCheck = true;
checkInputs = [ ounit2 ];
checkInputs = [
(if lib.versionAtLeast version "5.2" then ounit2 else ounit)
];
meta = with lib; {
description = "deriving is a library simplifying type-driven code generation on OCaml >=4.02.";

@ -1,6 +1,7 @@
{ stdenv, lib, fetchFromGitHub, ocaml, findlib, ocamlbuild }:
if !lib.versionAtLeast ocaml.version "4.02"
|| lib.versionOlder "4.13" ocaml.version
then throw "wasm is not available for OCaml ${ocaml.version}"
else

@ -1,14 +1,14 @@
{ mkDerivation, fetchurl, makeWrapper, lib, php }:
let
pname = "phpstan";
version = "1.4.6";
version = "1.4.7";
in
mkDerivation {
inherit pname version;
src = fetchurl {
url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar";
sha256 = "sha256-h19rFEs7VrdlxGS1qeYJnO5aQaKzpFZTdsN2h3Hmm0w=";
sha256 = "sha256-bsSdFfUVQnbDFH8hO1Z9sHA2w7pMHlLEx1hsgDdCUmE=";
};
dontUnpack = true;

@ -18,7 +18,7 @@
buildPythonPackage rec {
pname = "apscheduler";
version = "3.9.0.post1";
version = "3.9.1";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -26,7 +26,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "APScheduler";
inherit version;
hash = "sha256-I22/ckQgD/x5xsC5/30u0Q5+mF839I1KI/QUL0ln3LU=";
hash = "sha256-ZeZXS2OVSY03HQRfKop+T31Qxq0h73MT0VscfPIN8eM=";
};
buildInputs = [

@ -11,11 +11,11 @@
buildPythonPackage rec {
pname = "awkward";
version = "1.7.0";
version = "1.8.0";
src = fetchPypi {
inherit pname version;
sha256 = "e4e642dfe496d2acb245c90e37dc18028e25d5e936421e7371ea6ba0fde6435a";
sha256 = "sha256-ZlX6ItGx0dy5zO4NUCNQq5DFNGehC1QLdiRCK1lNLnI=";
};
nativeBuildInputs = [ cmake ];

@ -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";
};

@ -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 = [

@ -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 = [

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

@ -10,12 +10,12 @@
buildPythonPackage rec {
pname = "djangorestframework-simplejwt";
version = "5.0.0";
version = "5.1.0";
src = fetchPypi {
pname = "djangorestframework_simplejwt";
inherit version;
sha256 = "30b10e7732395c44d21980f773214d2b9bdeadf2a6c6809cd1a7c9abe272873c";
sha256 = "sha256-dTI1KKe5EIQ7h5GUdG8OvDSBxK2fNU3i3RYhYGYvuVo=";
};
nativeBuildInputs = [

@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "dropbox";
version = "11.27.0";
version = "11.28.0";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "dropbox";
repo = "dropbox-sdk-python";
rev = "v${version}";
sha256 = "sha256-atIrrK4BgTfu0UaHTqJ66AxEeSJLanrmYx8myrOCOfo=";
sha256 = "sha256-xNenBmeCRIYxQqAkV8IDpPpIHyVAYJs1jAFr8w1tz2Y=";
};
propagatedBuildInputs = [

@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "furo";
version = "2022.2.23";
version = "2022.3.4";
format = "wheel";
disable = pythonOlder "3.6";
@ -16,7 +16,7 @@ buildPythonPackage rec {
inherit pname version format;
dist = "py3";
python = "py3";
sha256 = "sha256-v+1OagURq3uvIRsxlbhRkUvxGnLlkH4HOx3pKW3jkfY=";
sha256 = "sha256-bHGCk+v4d1XwufFIseaXyeOqvXr5VWRNS8ruXOddt4E=";
};
propagatedBuildInputs = [

@ -12,11 +12,11 @@
buildPythonPackage rec {
pname = "google-resumable-media";
version = "2.3.0";
version = "2.3.1";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-Gn3OV5CwRRjtwCws4zllVWZg1klXEG1mqUUIbitkJXI=";
sha256 = "sha256-H02LFRlnZv34qGD9LPqmGEE4cH7F+SHNGDQGel39Lbc=";
};
propagatedBuildInputs = [ google-auth google-crc32c requests ];

@ -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; {

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

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

@ -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";

@ -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";

@ -8,14 +8,14 @@
buildPythonPackage rec {
pname = "pg8000";
version = "1.24.0";
version = "1.24.1";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-BsawsGjQfONm97ztrfdqC12mph+GMCyMr/aQt/xd/ts=";
sha256 = "sha256-KRIixd39ZqP8DTIXAM9ZHIsPkw0vyEh3fWz8/1VEPOY=";
};
propagatedBuildInputs = [

@ -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 = [

@ -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";

@ -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 = [

@ -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"
];

@ -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"
];

@ -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 {
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 = [ "." ];

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

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "earthly";
version = "0.6.8";
version = "0.6.9";
src = fetchFromGitHub {
owner = "earthly";
repo = "earthly";
rev = "v${version}";
sha256 = "sha256-VXBDgBcByONEOznUVbzxySE7rcevIwCk8rVxRxhF0Gc=";
sha256 = "sha256-FZHz46GUPG5LgJcuKxheERWcctuHdDWgGPslEAu+j08=";
};
vendorSha256 = "sha256-6lzusbfedDJESJIxsTVGoRnjdtPnMSDdL2OjXIFFL04=";
vendorSha256 = "sha256-uUx9C7uEdXjhDWxehGHuhuFQXdUjZAXK3qogESkRm8E=";
ldflags = [
"-s" "-w"

@ -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=";

@ -2,7 +2,7 @@
buildGoPackage rec {
pname = "go-bindata";
version = "3.22.0";
version = "3.23.0";
goPackagePath = "github.com/kevinburke/go-bindata";
@ -10,7 +10,7 @@ buildGoPackage rec {
owner = "kevinburke";
repo = pname;
rev = "v${version}";
sha256 = "10dq77dml5jvvq2jkdq81a9yjg7rncq8iw8r84cc3dz6l9hxzj0x";
sha256 = "sha256-pIEkD0HD/6JFOzkvEG9j9yQP7hLWvmXU3MiyvVFH2rY=";
};
subPackages = [ "go-bindata" ];

@ -1,6 +1,7 @@
{ lib, stdenv, fetchFromGitHub, ocaml, perl }:
if lib.versionOlder ocaml.version "4.02"
|| lib.versionOlder "4.13" ocaml.version
then throw "camlp5 is not available for OCaml ${ocaml.version}"
else

@ -28,8 +28,10 @@ let src =
}."${version}";
};
ocamlPackages =
if lib.versionAtLeast version "0.17.0"
if lib.versionAtLeast version "0.19.0"
then ocaml-ng.ocamlPackages
else if lib.versionAtLeast version "0.17.0"
then ocaml-ng.ocamlPackages_4_12
else if lib.versionAtLeast version "0.14.3"
then ocaml-ng.ocamlPackages_4_10
else ocaml-ng.ocamlPackages_4_07

@ -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";

@ -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": {

Some files were not shown because too many files have changed in this diff Show More