Merge master into staging-next

This commit is contained in:
github-actions[bot] 2022-02-01 00:01:43 +00:00 committed by GitHub
commit c073294043
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
60 changed files with 1766 additions and 561 deletions

View file

@ -513,12 +513,6 @@
githubId = 38869148;
name = "Alex Eyre";
};
algorith = {
email = "dries_van_daele@telenet.be";
github = "DriesVanDaele";
githubId = 1141488;
name = "Dries Van Daele";
};
alibabzo = {
email = "alistair.bill@gmail.com";
github = "alibabzo";
@ -6536,6 +6530,12 @@
githubId = 787421;
name = "Kevin Quick";
};
kradalby = {
name = "Kristoffer Dalby";
email = "kristoffer@dalby.cc";
github = "kradalby";
githubId = 98431;
};
kraem = {
email = "me@kraem.xyz";
github = "kraem";

View file

@ -192,6 +192,15 @@
<link xlink:href="options.html#opt-services.rstudio-server.enable">services.rstudio-server</link>.
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://github.com/juanfont/headscale">headscale</link>,
an Open Source implementation of the
<link xlink:href="https://tailscale.io">Tailscale</link>
Control Server. Available as
<link xlink:href="options.html#opt-services.headscale.enable">services.headscale</link>
</para>
</listitem>
</itemizedlist>
</section>
<section xml:id="sec-release-22.05-incompatibilities">

View file

@ -58,6 +58,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- [rstudio-server](https://www.rstudio.com/products/rstudio/#rstudio-server), a browser-based version of the RStudio IDE for the R programming language. Available as [services.rstudio-server](options.html#opt-services.rstudio-server.enable).
- [headscale](https://github.com/juanfont/headscale), an Open Source implementation of the [Tailscale](https://tailscale.io) Control Server. Available as [services.headscale](options.html#opt-services.headscale.enable)
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
## Backward Incompatibilities {#sec-release-22.05-incompatibilities}

View file

@ -11,6 +11,9 @@ in rec {
mkPathSafeName = lib.replaceChars ["@" ":" "\\" "[" "]"] ["-" "-" "-" "" ""];
# a type for options that take a unit name
unitNameType = types.strMatching "[a-zA-Z0-9@%:_.\\-]+[.](service|socket|device|mount|automount|swap|target|path|timer|scope|slice)";
makeUnit = name: unit:
if unit.enable then
pkgs.runCommand "unit-${mkPathSafeName name}"

View file

@ -45,7 +45,7 @@ in rec {
requiredBy = mkOption {
default = [];
type = types.listOf types.str;
type = types.listOf unitNameType;
description = ''
Units that require (i.e. depend on and need to go down with)
this unit. The discussion under <literal>wantedBy</literal>
@ -56,7 +56,7 @@ in rec {
wantedBy = mkOption {
default = [];
type = types.listOf types.str;
type = types.listOf unitNameType;
description = ''
Units that want (i.e. depend on) this unit. The standard way
to make a unit start by default at boot is to set this option
@ -73,7 +73,7 @@ in rec {
aliases = mkOption {
default = [];
type = types.listOf types.str;
type = types.listOf unitNameType;
description = "Aliases of that unit.";
};
@ -110,7 +110,7 @@ in rec {
requires = mkOption {
default = [];
type = types.listOf types.str;
type = types.listOf unitNameType;
description = ''
Start the specified units when this unit is started, and stop
this unit when the specified units are stopped or fail.
@ -119,7 +119,7 @@ in rec {
wants = mkOption {
default = [];
type = types.listOf types.str;
type = types.listOf unitNameType;
description = ''
Start the specified units when this unit is started.
'';
@ -127,7 +127,7 @@ in rec {
after = mkOption {
default = [];
type = types.listOf types.str;
type = types.listOf unitNameType;
description = ''
If the specified units are started at the same time as
this unit, delay this unit until they have started.
@ -136,7 +136,7 @@ in rec {
before = mkOption {
default = [];
type = types.listOf types.str;
type = types.listOf unitNameType;
description = ''
If the specified units are started at the same time as
this unit, delay them until this unit has started.
@ -145,7 +145,7 @@ in rec {
bindsTo = mkOption {
default = [];
type = types.listOf types.str;
type = types.listOf unitNameType;
description = ''
Like requires, but in addition, if the specified units
unexpectedly disappear, this unit will be stopped as well.
@ -154,7 +154,7 @@ in rec {
partOf = mkOption {
default = [];
type = types.listOf types.str;
type = types.listOf unitNameType;
description = ''
If the specified units are stopped or restarted, then this
unit is stopped or restarted as well.
@ -163,7 +163,7 @@ in rec {
conflicts = mkOption {
default = [];
type = types.listOf types.str;
type = types.listOf unitNameType;
description = ''
If the specified units are started, then this unit is stopped
and vice versa.
@ -172,7 +172,7 @@ in rec {
requisite = mkOption {
default = [];
type = types.listOf types.str;
type = types.listOf unitNameType;
description = ''
Similar to requires. However if the units listed are not started,
they will not be started and the transaction will fail.
@ -203,7 +203,7 @@ in rec {
onFailure = mkOption {
default = [];
type = types.listOf types.str;
type = types.listOf unitNameType;
description = ''
A list of one or more units that are activated when
this unit enters the "failed" state.

View file

@ -764,6 +764,7 @@
./services/networking/gvpe.nix
./services/networking/hans.nix
./services/networking/haproxy.nix
./services/networking/headscale.nix
./services/networking/hostapd.nix
./services/networking/htpdate.nix
./services/networking/hylafax/default.nix

View file

@ -0,0 +1,490 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.headscale;
dataDir = "/var/lib/headscale";
runDir = "/run/headscale";
settingsFormat = pkgs.formats.yaml { };
configFile = settingsFormat.generate "headscale.yaml" cfg.settings;
in
{
options = {
services.headscale = {
enable = mkEnableOption "headscale, Open Source coordination server for Tailscale";
package = mkOption {
type = types.package;
default = pkgs.headscale;
defaultText = literalExpression "pkgs.headscale";
description = ''
Which headscale package to use for the running server.
'';
};
user = mkOption {
default = "headscale";
type = types.str;
description = ''
User account under which headscale runs.
<note><para>
If left as the default value this user will automatically be created
on system activation, otherwise you are responsible for
ensuring the user exists before the headscale service starts.
</para></note>
'';
};
group = mkOption {
default = "headscale";
type = types.str;
description = ''
Group under which headscale runs.
<note><para>
If left as the default value this group will automatically be created
on system activation, otherwise you are responsible for
ensuring the user exists before the headscale service starts.
</para></note>
'';
};
serverUrl = mkOption {
type = types.str;
default = "http://127.0.0.1:8080";
description = ''
The url clients will connect to.
'';
example = "https://myheadscale.example.com:443";
};
address = mkOption {
type = types.str;
default = "127.0.0.1";
description = ''
Listening address of headscale.
'';
example = "0.0.0.0";
};
port = mkOption {
type = types.port;
default = 8080;
description = ''
Listening port of headscale.
'';
example = 443;
};
privateKeyFile = mkOption {
type = types.path;
default = "${dataDir}/private.key";
description = ''
Path to private key file, generated automatically if it does not exist.
'';
};
derp = {
urls = mkOption {
type = types.listOf types.str;
default = [ "https://controlplane.tailscale.com/derpmap/default" ];
description = ''
List of urls containing DERP maps.
See <link xlink:href="https://tailscale.com/blog/how-tailscale-works/">How Tailscale works</link> for more information on DERP maps.
'';
};
paths = mkOption {
type = types.listOf types.path;
default = [ ];
description = ''
List of file paths containing DERP maps.
See <link xlink:href="https://tailscale.com/blog/how-tailscale-works/">How Tailscale works</link> for more information on DERP maps.
'';
};
autoUpdate = mkOption {
type = types.bool;
default = true;
description = ''
Whether to automatically update DERP maps on a set frequency.
'';
example = false;
};
updateFrequency = mkOption {
type = types.str;
default = "24h";
description = ''
Frequency to update DERP maps.
'';
example = "5m";
};
};
ephemeralNodeInactivityTimeout = mkOption {
type = types.str;
default = "30m";
description = ''
Time before an inactive ephemeral node is deleted.
'';
example = "5m";
};
database = {
type = mkOption {
type = types.enum [ "sqlite3" "postgres" ];
example = "postgres";
default = "sqlite3";
description = "Database engine to use.";
};
host = mkOption {
type = types.nullOr types.str;
default = null;
example = "127.0.0.1";
description = "Database host address.";
};
port = mkOption {
type = types.nullOr types.port;
default = null;
example = 3306;
description = "Database host port.";
};
name = mkOption {
type = types.nullOr types.str;
default = null;
example = "headscale";
description = "Database name.";
};
user = mkOption {
type = types.nullOr types.str;
default = null;
example = "headscale";
description = "Database user.";
};
passwordFile = mkOption {
type = types.nullOr types.path;
default = null;
example = "/run/keys/headscale-dbpassword";
description = ''
A file containing the password corresponding to
<option>database.user</option>.
'';
};
path = mkOption {
type = types.nullOr types.str;
default = "${dataDir}/db.sqlite";
description = "Path to the sqlite3 database file.";
};
};
logLevel = mkOption {
type = types.str;
default = "info";
description = ''
headscale log level.
'';
example = "debug";
};
dns = {
nameservers = mkOption {
type = types.listOf types.str;
default = [ "1.1.1.1" ];
description = ''
List of nameservers to pass to Tailscale clients.
'';
};
domains = mkOption {
type = types.listOf types.str;
default = [ ];
description = ''
Search domains to inject to Tailscale clients.
'';
example = [ "mydomain.internal" ];
};
magicDns = mkOption {
type = types.bool;
default = true;
description = ''
Whether to use [MagicDNS](https://tailscale.com/kb/1081/magicdns/).
Only works if there is at least a nameserver defined.
'';
example = false;
};
baseDomain = mkOption {
type = types.str;
default = "";
description = ''
Defines the base domain to create the hostnames for MagicDNS.
<option>baseDomain</option> must be a FQDNs, without the trailing dot.
The FQDN of the hosts will be
<literal>hostname.namespace.base_domain</literal> (e.g.
<literal>myhost.mynamespace.example.com</literal>).
'';
};
};
openIdConnect = {
issuer = mkOption {
type = types.str;
default = "";
description = ''
URL to OpenID issuer.
'';
example = "https://openid.example.com";
};
clientId = mkOption {
type = types.str;
default = "";
description = ''
OpenID Connect client ID.
'';
};
clientSecretFile = mkOption {
type = types.nullOr types.path;
default = null;
description = ''
Path to OpenID Connect client secret file.
'';
};
domainMap = mkOption {
type = types.attrsOf types.str;
default = { };
description = ''
Domain map is used to map incomming users (by their email) to
a namespace. The key can be a string, or regex.
'';
example = {
".*" = "default-namespace";
};
};
};
tls = {
letsencrypt = {
hostname = mkOption {
type = types.nullOr types.str;
default = "";
description = ''
Domain name to request a TLS certificate for.
'';
};
challengeType = mkOption {
type = types.enum [ "TLS_ALPN-01" "HTTP-01" ];
default = "HTTP-01";
description = ''
Type of ACME challenge to use, currently supported types:
<literal>HTTP-01</literal> or <literal>TLS_ALPN-01</literal>.
'';
};
httpListen = mkOption {
type = types.nullOr types.str;
default = ":http";
description = ''
When HTTP-01 challenge is chosen, letsencrypt must set up a
verification endpoint, and it will be listening on:
<literal>:http = port 80</literal>.
'';
};
};
certFile = mkOption {
type = types.nullOr types.path;
default = null;
description = ''
Path to already created certificate.
'';
};
keyFile = mkOption {
type = types.nullOr types.path;
default = null;
description = ''
Path to key for already created certificate.
'';
};
};
aclPolicyFile = mkOption {
type = types.nullOr types.path;
default = null;
description = ''
Path to a file containg ACL policies.
'';
};
settings = mkOption {
type = settingsFormat.type;
default = { };
description = ''
Overrides to <filename>config.yaml</filename> as a Nix attribute set.
This option is ideal for overriding settings not exposed as Nix options.
Check the <link xlink:href="https://github.com/juanfont/headscale/blob/main/config-example.yaml">example config</link>
for possible options.
'';
};
};
};
config = mkIf cfg.enable {
services.headscale.settings = {
server_url = mkDefault cfg.serverUrl;
listen_addr = mkDefault "${cfg.address}:${toString cfg.port}";
private_key_path = mkDefault cfg.privateKeyFile;
derp = {
urls = mkDefault cfg.derp.urls;
paths = mkDefault cfg.derp.paths;
auto_update_enable = mkDefault cfg.derp.autoUpdate;
update_frequency = mkDefault cfg.derp.updateFrequency;
};
# Turn off update checks since the origin of our package
# is nixpkgs and not Github.
disable_check_updates = true;
ephemeral_node_inactivity_timeout = mkDefault cfg.ephemeralNodeInactivityTimeout;
db_type = mkDefault cfg.database.type;
db_path = mkDefault cfg.database.path;
log_level = mkDefault cfg.logLevel;
dns_config = {
nameservers = mkDefault cfg.dns.nameservers;
domains = mkDefault cfg.dns.domains;
magic_dns = mkDefault cfg.dns.magicDns;
base_domain = mkDefault cfg.dns.baseDomain;
};
unix_socket = "${runDir}/headscale.sock";
# OpenID Connect
oidc = {
issuer = mkDefault cfg.openIdConnect.issuer;
client_id = mkDefault cfg.openIdConnect.clientId;
domain_map = mkDefault cfg.openIdConnect.domainMap;
};
tls_letsencrypt_cache_dir = "${dataDir}/.cache";
} // optionalAttrs (cfg.database.host != null) {
db_host = mkDefault cfg.database.host;
} // optionalAttrs (cfg.database.port != null) {
db_port = mkDefault cfg.database.port;
} // optionalAttrs (cfg.database.name != null) {
db_name = mkDefault cfg.database.name;
} // optionalAttrs (cfg.database.user != null) {
db_user = mkDefault cfg.database.user;
} // optionalAttrs (cfg.tls.letsencrypt.hostname != null) {
tls_letsencrypt_hostname = mkDefault cfg.tls.letsencrypt.hostname;
} // optionalAttrs (cfg.tls.letsencrypt.challengeType != null) {
tls_letsencrypt_challenge_type = mkDefault cfg.tls.letsencrypt.challengeType;
} // optionalAttrs (cfg.tls.letsencrypt.httpListen != null) {
tls_letsencrypt_listen = mkDefault cfg.tls.letsencrypt.httpListen;
} // optionalAttrs (cfg.tls.certFile != null) {
tls_cert_path = mkDefault cfg.tls.certFile;
} // optionalAttrs (cfg.tls.keyFile != null) {
tls_key_path = mkDefault cfg.tls.keyFile;
} // optionalAttrs (cfg.aclPolicyFile != null) {
acl_policy_path = mkDefault cfg.aclPolicyFile;
};
# Setup the headscale configuration in a known path in /etc to
# allow both the Server and the Client use it to find the socket
# for communication.
environment.etc."headscale/config.yaml".source = configFile;
users.groups.headscale = mkIf (cfg.group == "headscale") { };
users.users.headscale = mkIf (cfg.user == "headscale") {
description = "headscale user";
home = dataDir;
group = cfg.group;
isSystemUser = true;
};
systemd.services.headscale = {
description = "headscale coordination server for Tailscale";
after = [ "network-online.target" ];
wantedBy = [ "multi-user.target" ];
restartTriggers = [ configFile ];
script = ''
${optionalString (cfg.database.passwordFile != null) ''
export HEADSCALE_DB_PASS="$(head -n1 ${escapeShellArg cfg.database.passwordFile})"
''}
export HEADSCALE_OIDC_CLIENT_SECRET="$(head -n1 ${escapeShellArg cfg.openIdConnect.clientSecretFile})"
exec ${cfg.package}/bin/headscale serve
'';
serviceConfig =
let
capabilityBoundingSet = [ "CAP_CHOWN" ] ++ optional (cfg.port < 1024) "CAP_NET_BIND_SERVICE";
in
{
Restart = "always";
Type = "simple";
User = cfg.user;
Group = cfg.group;
# Hardening options
RuntimeDirectory = "headscale";
# Allow headscale group access so users can be added and use the CLI.
RuntimeDirectoryMode = "0750";
StateDirectory = "headscale";
StateDirectoryMode = "0750";
ProtectSystem = "strict";
ProtectHome = true;
PrivateTmp = true;
PrivateDevices = true;
ProtectKernelTunables = true;
ProtectControlGroups = true;
RestrictSUIDSGID = true;
PrivateMounts = true;
ProtectKernelModules = true;
ProtectKernelLogs = true;
ProtectHostname = true;
ProtectClock = true;
ProtectProc = "invisible";
ProcSubset = "pid";
RestrictNamespaces = true;
RemoveIPC = true;
UMask = "0077";
CapabilityBoundingSet = capabilityBoundingSet;
AmbientCapabilities = capabilityBoundingSet;
NoNewPrivileges = true;
LockPersonality = true;
RestrictRealtime = true;
SystemCallFilter = [ "@system-service" "~@priviledged" "@chown" ];
SystemCallArchitectures = "native";
RestrictAddressFamilies = "AF_INET AF_INET6 AF_UNIX";
};
};
};
meta.maintainers = with maintainers; [ kradalby ];
}

View file

@ -4,6 +4,8 @@ with lib;
let
cfg = config.services.miniflux;
defaultAddress = "localhost:8080";
dbUser = "miniflux";
dbPassword = "miniflux";
dbHost = "localhost";
@ -31,7 +33,7 @@ in
{
options = {
services.miniflux = {
enable = mkEnableOption "miniflux";
enable = mkEnableOption "miniflux and creates a local postgres database for it";
config = mkOption {
type = types.attrsOf types.str;
@ -45,6 +47,9 @@ in
Configuration for Miniflux, refer to
<link xlink:href="https://miniflux.app/docs/configuration.html"/>
for documentation on the supported values.
Correct configuration for the database is already provided.
By default, listens on ${defaultAddress}.
'';
};
@ -64,7 +69,7 @@ in
config = mkIf cfg.enable {
services.miniflux.config = {
LISTEN_ADDR = mkDefault "localhost:8080";
LISTEN_ADDR = mkDefault defaultAddress;
DATABASE_URL = "postgresql://${dbUser}:${dbPassword}@${dbHost}/${dbName}?sslmode=disable";
RUN_MIGRATIONS = "1";
CREATE_ADMIN = "1";

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "ergo";
version = "4.0.16.2";
version = "4.0.20.1";
src = fetchurl {
url = "https://github.com/ergoplatform/ergo/releases/download/v${version}/ergo-${version}.jar";
sha256 = "sha256-nAaNT5Rt/oLBA2pSJSinoLKMYJ0VZmuC0zoMYbMSAJQ=";
sha256 = "sha256-uKt0TNKcqiXiT5MnsguU5fTdUyFgV7Km5KjrFS/7tws=";
};
nativeBuildInputs = [ makeWrapper ];

View file

@ -0,0 +1,47 @@
{ lib, mkDerivation, fetchFromGitHub
, cmake, gcc-arm-embedded, python3Packages
, qtbase, qtmultimedia, qttranslations, SDL, gtest
, dfu-util
}:
mkDerivation rec {
pname = "edgetx";
version = "2.6.0";
src = fetchFromGitHub {
owner = "EdgeTX";
repo = pname;
rev = "v${version}";
fetchSubmodules = true;
sha256 = "sha256-TffHFgr3g7v4VnNSSlLITz4cYjHM6wE0aI85W1g4IFA=";
};
nativeBuildInputs = [ cmake gcc-arm-embedded python3Packages.pillow ];
buildInputs = [ qtbase qtmultimedia qttranslations SDL ];
postPatch = ''
sed -i companion/src/burnconfigdialog.cpp \
-e 's|/usr/.*bin/dfu-util|${dfu-util}/bin/dfu-util|'
'';
cmakeFlags = [
"-DGTEST_ROOT=${gtest.src}/googletest"
"-DQT_TRANSLATIONS_DIR=${qttranslations}/translations"
"-DDFU_UTIL_PATH=${dfu-util}/bin/dfu-util"
];
meta = with lib; {
description = "EdgeTX Companion transmitter support software";
longDescription = ''
EdgeTX Companion is used for many different tasks like loading EdgeTX
firmware to the radio, backing up model settings, editing settings and
running radio simulators.
'';
homepage = "https://edgetx.org/";
license = licenses.gpl2Only;
platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" ];
maintainers = with maintainers; [ elitak lopsided98 wucke13 ];
};
}

View file

@ -1,20 +1,36 @@
{ lib, stdenv, python3Packages, radicale3 }:
{ lib
, stdenv
, python3
, radicale3
}:
python3Packages.buildPythonApplication rec {
let
python = python3.override {
packageOverrides = self: super: {
flask_wtf = super.flask_wtf.overridePythonAttrs (old: rec {
version = "0.15.1";
src = old.src.override {
inherit version;
sha256 = "ff177185f891302dc253437fe63081e7a46a4e99aca61dfe086fb23e54fff2dc";
};
});
};
};
in python.pkgs.buildPythonApplication rec {
pname = "etesync-dav";
version = "0.30.8";
version = "0.32.1";
src = python3Packages.fetchPypi {
src = python.pkgs.fetchPypi {
inherit pname version;
sha256 = "sha256-HBLQsq3B6TMdcnUt8ukbk3+S0Ed44+gePkpuGZ2AyC4=";
sha256 = "a4e2ee83932755d29ac39c1e74005ec289880fd2d4d2164f09fe2464a294d720";
};
propagatedBuildInputs = with python3Packages; [
propagatedBuildInputs = with python.pkgs; [
etebase
etesync
flask
flask_wtf
radicale3
(python.pkgs.toPythonModule (radicale3.override { python3 = python; }))
];
doCheck = false;

View file

@ -13,13 +13,13 @@
python3Packages.buildPythonApplication rec {
pname = "nwg-panel";
version = "0.5.4";
version = "0.5.7";
src = fetchFromGitHub {
owner = "nwg-piotr";
repo = "nwg-panel";
rev = "v${version}";
sha256 = "0vl9vfgpa1byf9vxn03j58h9zcbjd1y83b0kgv97cxm2mhqz12dg";
sha256 = "1d3qh42cwayb5d9ymhfs2vrbg5x5x6x73hw77m3xb9y4vyhji85x";
};
# No tests

View file

@ -4,6 +4,10 @@
, callPackage
}:
let makeurl = { pname, year, version }: "https://download.qoppa.com/${pname}/v${year}/${
builtins.replaceStrings [ "pdfstudio" "viewer" "." ] [ "PDFStudio" "Viewer" "_" ] "${pname}_v${version}"
}_linux64.deb";
in
{
pdfstudio = callPackage ./common.nix rec {
pname = program;
@ -17,9 +21,7 @@
libgccjit #for libstdc++.so.6 and libgomp.so.1
];
src = fetchurl {
url = "https://download.qoppa.com/${pname}/v${year}/PDFStudio_v${
builtins.replaceStrings [ "." ] [ "_" ] version
}_linux64.deb";
url = makeurl { inherit pname year version; };
sha256 = "1188ll2qz58rr2slavqxisbz4q3fdzidpasb1p33926z0ym3rk45";
};
};
@ -33,9 +35,7 @@
PDF Studio Viewer is an easy to use, full-featured PDF editing software. This is the free edition. For the standard/pro edition, see the package pdfstudio.
'';
src = fetchurl {
url = "https://download.qoppa.com/${pname}/v${year}/PDFStudioViewer_v${
builtins.replaceStrings [ "." ] [ "_" ] version
}_linux64.deb";
url = makeurl { inherit pname year version; };
sha256 = "128k3fm8m8zdykx4s30g5m2zl7cgmvs4qinf1w525zh84v56agz6";
};
};

View file

@ -5,13 +5,13 @@ buildGoModule rec {
/* Do not use "dev" as a version. If you do, Tilt will consider itself
running in development environment and try to serve assets from the
source tree, which is not there once build completes. */
version = "0.23.4";
version = "0.23.5";
src = fetchFromGitHub {
owner = "tilt-dev";
repo = pname;
rev = "v${version}";
sha256 = "sha256-SWofXsbkuirPvqgU639W8IQklafLKbThoZUzOzfYwdQ=";
sha256 = "sha256-qVybS+gRuTezX89NMWYQVWtUH6wnjB11HImejrzVHAc=";
};
vendorSha256 = null;

View file

@ -1,37 +0,0 @@
From ac9387271b2420a71f7d172f44354fc35adac504 Mon Sep 17 00:00:00 2001
From: Manuel Nickschas <sputnick@quassel-irc.org>
Date: Tue, 7 Jan 2020 18:34:54 +0100
Subject: [PATCH] common: Disable enum type stream operators for Qt >= 5.14
Starting from version 5.14, Qt provides stream operators for enum
types, which collide with the ones we ship in types.h. Disable
Quassel's stream operators when compiling against Qt 5.14 or later.
(cherry-picked from 579e559a6322209df7cd51c34801fecff5fe734b)
---
src/common/types.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/common/types.h b/src/common/types.h
index 467d9fb2..c4b9f364 100644
--- a/src/common/types.h
+++ b/src/common/types.h
@@ -140,6 +140,7 @@ Q_DECLARE_METATYPE(QHostAddress)
typedef QList<MsgId> MsgIdList;
typedef QList<BufferId> BufferIdList;
+#if QT_VERSION < QT_VERSION_CHECK(5, 14, 0)
/**
* Catch-all stream serialization operator for enum types.
*
@@ -169,6 +170,7 @@ QDataStream &operator>>(QDataStream &in, T &value) {
value = static_cast<T>(v);
return in;
}
+#endif
// Exceptions
--
2.26.2

View file

@ -5,7 +5,7 @@
, static ? false # link statically
, lib, stdenv, fetchFromGitHub, cmake, makeWrapper, dconf
, mkDerivation, qtbase, qtscript
, mkDerivation, qtbase, boost, zlib, qtscript
, phonon, libdbusmenu, qca-qt5
, withKDE ? true # enable KDE integration
@ -33,27 +33,21 @@ let
in (if !buildClient then stdenv.mkDerivation else mkDerivation) rec {
pname = "quassel${tag}";
version = "0.13.1";
version = "0.14.0";
src = fetchFromGitHub {
owner = "quassel";
repo = "quassel";
rev = version;
sha256 = "0z8p7iv90yrrjbh31cyxhpr6hsynfmi23rlayn7p2f6ki5az7yc3";
sha256 = "sha256-eulhNcyCmy9ryietOhT2yVJeJH+MMZRbTUo2XuTy9qU=";
};
patches = [
# fixes build with Qt 5.14
# source: https://github.com/quassel/quassel/pull/518/commits/8a46d983fc99204711cdff1e4c542e272fef45b9
./0001-common-Disable-enum-type-stream-operators-for-Qt-5.1.patch
];
# Prevent ``undefined reference to `qt_version_tag''' in SSL check
NIX_CFLAGS_COMPILE = "-DQT_NO_VERSION_TAGGING=1";
nativeBuildInputs = [ cmake makeWrapper ];
buildInputs = [ qtbase ]
++ lib.optionals buildCore [qtscript qca-qt5]
buildInputs = [ qtbase boost zlib ]
++ lib.optionals buildCore [qtscript qca-qt5 ]
++ lib.optionals buildClient [libdbusmenu phonon]
++ lib.optionals (buildClient && withKDE) [
extra-cmake-modules kconfigwidgets kcoreaddons

View file

@ -0,0 +1,59 @@
{ lib, stdenv, fetchurl, dpkg, autoPatchelfHook, makeWrapper, electron
, nodePackages, alsa-lib, gtk3, libxshmfence, mesa, nss }:
stdenv.mkDerivation rec {
pname = "morgen";
version = "2.4.3";
src = fetchurl {
url = "https://download.todesktop.com/210203cqcj00tw1/morgen-${version}.deb";
sha256 = "sha256-IWGeb0+IiFNYJ+jQAzGYfQ5FnrbR6HIpynS9jgd5/mY=";
};
nativeBuildInputs = [
dpkg
autoPatchelfHook
makeWrapper
nodePackages.asar
];
buildInputs = [ alsa-lib gtk3 libxshmfence mesa nss ];
dontBuild = true;
dontConfigure = true;
unpackCmd = ''
dpkg-deb -x ${src} ./morgen-${pname}
'';
installPhase = ''
runHook preInstall
mv usr $out
mv opt $out
asar extract $out/opt/Morgen/resources/app.asar "$TMP/work"
# 1. Fixes path for todesktop-runtime-config.json
# 2. Fixes startup script
substituteInPlace $TMP/work/dist/main.js \
--replace "process.resourcesPath,\"todesktop-runtime-config.json" "\"$out/opt/Morgen/resources/todesktop-runtime-config.json" \
--replace "Exec=\"+process.execPath+\"" "Exec=$out/bin/morgen"
asar pack --unpack='{*.node,*.ftz,rect-overlay}' "$TMP/work" $out/opt/Morgen/resources/app.asar
substituteInPlace $out/share/applications/morgen.desktop \
--replace '/opt/Morgen' $out/bin
makeWrapper ${electron}/bin/electron $out/bin/morgen \
--add-flags $out/opt/Morgen/resources/app.asar
runHook postInstall
'';
meta = with lib; {
description = "All-in-one Calendars, Tasks and Scheduler";
homepage = "https://morgen.so/download";
license = licenses.unfree;
maintainers = with maintainers; [ wolfangaukang ];
platforms = [ "x86_64-linux" ];
};
}

View file

@ -7,11 +7,11 @@
mkDerivation rec {
pname = "skrooge";
version = "2.26.1";
version = "2.27.0";
src = fetchurl {
url = "https://download.kde.org/stable/skrooge/${pname}-${version}.tar.xz";
sha256 = "sha256-66hoA+FDTeMbNAInr9TlTSnwUywJQjTRz87MkdNYn5Q=";
sha256 = "sha256-xkl0UyJEDOeYOqqXf3woCDMb8ZyC2c5ChQdDFFERZxE=";
};
nativeBuildInputs = [

View file

@ -10,11 +10,11 @@
mkDerivation rec {
pname = "zanshin";
version = "21.12.0";
version = "21.12.1";
src = fetchurl {
url = "mirror://kde/stable/release-service/${version}/src/zanshin-${version}.tar.xz";
sha256 = "sha256-l8W47tS7q747fkSAH3HJdwPsqjMfCyxzl3xJEeAXeh0=";
sha256 = "sha256-hYbJwmnD9i/SL5ET2t9YgPxJHJUpAbMZ4a62WljhpHw=";
};
nativeBuildInputs = [

View file

@ -0,0 +1,22 @@
{ lib, stdenv, fetchgit, fftw }:
stdenv.mkDerivation rec {
pname = "shtns";
version = "3.5.1";
src = fetchgit {
url = "https://bitbucket.org/nschaeff/shtns";
rev = "v${version}";
sha256 = "1ajrplhv7a2dvb3cn3n638281w0bzdcydvvwbg64awbjg622mdpd";
};
buildInputs = [ fftw ];
meta = with lib; {
description = "High performance library for Spherical Harmonic Transform";
homepage = "https://nschaeff.bitbucket.io/shtns/";
license = licenses.cecill21;
maintainers = [ maintainers.bzizou ];
platforms = platforms.linux;
};
}

View file

@ -22,9 +22,9 @@ stdenv.mkDerivation {
xcbutilwm
];
sourceRoot = let
prePatch = let
subdir = if stdenv.isDarwin then "osx" else "linux";
in "source/${subdir}";
in "cd ${subdir}";
makeFlags = [ "PREFIX=${placeholder "out"}" ];

View file

@ -1,6 +1,6 @@
{
"commit": "3034b8f1052c41d5b3c571cb2bedb5f62bbede65",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/3034b8f1052c41d5b3c571cb2bedb5f62bbede65.tar.gz",
"sha256": "0kqga1mf7vr292jcaqw8qk4s1bjwc2z1wwjih5xwli3hkk584l20",
"msg": "Update from Hackage at 2022-01-24T10:21:35Z"
"commit": "b233c8c0ee187788a69d929293a953cf89ffc012",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/b233c8c0ee187788a69d929293a953cf89ffc012.tar.gz",
"sha256": "00mi9jxjbd9mk2pghj1ks9mjy9i0x50kcgi28iajq0kvxc97c9sp",
"msg": "Update from Hackage at 2022-01-27T16:52:24Z"
}

View file

@ -20,9 +20,10 @@
# build-time dependency too.
buildTargetLlvmPackages, llvmPackages
, # If enabled, GHC will be built with the GPL-free but slower integer-simple
# library instead of the faster but GPLed integer-gmp library.
enableIntegerSimple ? !(lib.meta.availableOn stdenv.hostPlatform gmp), gmp
, # If enabled, GHC will be built with the GPL-free but slightly slower native
# bignum backend instead of the faster but GPLed gmp backend.
enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp)
, gmp
, # If enabled, use -fPIC when compiling static libs.
enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
@ -61,7 +62,7 @@
disableLargeAddressSpace ? stdenv.targetPlatform.isiOS
}:
assert !enableIntegerSimple -> gmp != null;
assert !enableNativeBignum -> gmp != null;
# Cross cannot currently build the `haddock` program for silly reasons,
# see note [HADDOCK_DOCS].
@ -98,7 +99,7 @@ let
''
HADDOCK_DOCS = ${if enableHaddockProgram then "YES" else "NO"}
DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
BIGNUM_BACKEND = ${if enableNativeBignum then "native" else "gmp"}
'' + lib.optionalString (targetPlatform != hostPlatform) ''
Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"}
CrossCompilePrefix = ${targetPrefix}
@ -114,7 +115,7 @@ let
# Splicer will pull out correct variations
libDeps = platform: lib.optional enableTerminfo ncurses
++ [libffi]
++ lib.optional (!enableIntegerSimple) gmp
++ lib.optional (!enableNativeBignum) gmp
++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
# TODO(@sternenseemann): is buildTarget LLVM unnecessary?
@ -152,7 +153,7 @@ let
# Makes debugging easier to see which variant is at play in `nix-store -q --tree`.
variantSuffix = lib.concatStrings [
(lib.optionalString stdenv.hostPlatform.isMusl "-musl")
(lib.optionalString enableIntegerSimple "-integer-simple")
(lib.optionalString enableNativeBignum "-native-bignum")
];
in
@ -251,7 +252,7 @@ stdenv.mkDerivation (rec {
"--with-system-libffi"
"--with-ffi-includes=${targetPackages.libffi.dev}/include"
"--with-ffi-libraries=${targetPackages.libffi.out}/lib"
] ++ lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [
] ++ lib.optionals (targetPlatform == hostPlatform && !enableNativeBignum) [
"--with-gmp-includes=${targetPackages.gmp.dev}/include"
"--with-gmp-libraries=${targetPackages.gmp.out}/lib"
] ++ lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [

View file

@ -21,9 +21,10 @@
# build-time dependency too.
buildTargetLlvmPackages, llvmPackages
, # If enabled, GHC will be built with the GPL-free but slower integer-simple
# library instead of the faster but GPLed integer-gmp library.
enableIntegerSimple ? !(lib.meta.availableOn stdenv.hostPlatform gmp), gmp
, # If enabled, GHC will be built with the GPL-free but slightly slower native
# bignum backend instead of the faster but GPLed gmp backend.
enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp)
, gmp
, # If enabled, use -fPIC when compiling static libs.
enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
@ -62,7 +63,7 @@
disableLargeAddressSpace ? stdenv.targetPlatform.isiOS
}:
assert !enableIntegerSimple -> gmp != null;
assert !enableNativeBignum -> gmp != null;
# Cross cannot currently build the `haddock` program for silly reasons,
# see note [HADDOCK_DOCS].
@ -99,7 +100,7 @@ let
''
HADDOCK_DOCS = ${if enableHaddockProgram then "YES" else "NO"}
DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
BIGNUM_BACKEND = ${if enableNativeBignum then "native" else "gmp"}
'' + lib.optionalString (targetPlatform != hostPlatform) ''
Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"}
CrossCompilePrefix = ${targetPrefix}
@ -115,7 +116,7 @@ let
# Splicer will pull out correct variations
libDeps = platform: lib.optional enableTerminfo ncurses
++ [libffi]
++ lib.optional (!enableIntegerSimple) gmp
++ lib.optional (!enableNativeBignum) gmp
++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
# TODO(@sternenseemann): is buildTarget LLVM unnecessary?
@ -153,7 +154,7 @@ let
# Makes debugging easier to see which variant is at play in `nix-store -q --tree`.
variantSuffix = lib.concatStrings [
(lib.optionalString stdenv.hostPlatform.isMusl "-musl")
(lib.optionalString enableIntegerSimple "-integer-simple")
(lib.optionalString enableNativeBignum "-native-bignum")
];
in
@ -252,7 +253,7 @@ stdenv.mkDerivation (rec {
"--with-system-libffi"
"--with-ffi-includes=${targetPackages.libffi.dev}/include"
"--with-ffi-libraries=${targetPackages.libffi.out}/lib"
] ++ lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [
] ++ lib.optionals (targetPlatform == hostPlatform && !enableNativeBignum) [
"--with-gmp-includes=${targetPackages.gmp.dev}/include"
"--with-gmp-libraries=${targetPackages.gmp.out}/lib"
] ++ lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [

View file

@ -201,6 +201,7 @@ broken-packages:
- arrow-list
- arrowp
- arrowp-qq
- arrow-utils
- ArrowVHDL
- artery
- artifact
@ -5379,6 +5380,7 @@ broken-packages:
- wavefront-obj
- weak-bag
- weather-api
- web3-polkadot
- webapi
- webapp
- webauthn

View file

@ -752,6 +752,7 @@ dont-distribute-packages:
- clckwrks-theme-clckwrks
- clckwrks-theme-geo-bootstrap
- cless
- cleveland
- click-clack
- clifford
- clippings
@ -1771,6 +1772,7 @@ dont-distribute-packages:
- indentation-trifecta
- indexation
- indieweb-algorithms
- indigo
- infernu
- inline-java
- inspector-wrecker
@ -2161,6 +2163,8 @@ dont-distribute-packages:
- moo
- moo-nad
- morley
- morley-client
- morley-upgradeable
- morloc
- morpheus-graphql-client_0_18_0
- morpheus-graphql_0_18_0
@ -3221,6 +3225,7 @@ dont-distribute-packages:
- web-routes-regular
- web-routing
- web3
- web3-ethereum
- webcrank-wai
- webdriver-w3c
- webserver

File diff suppressed because it is too large Load diff

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "zef";
version = "0.13.4";
version = "0.13.6";
src = fetchFromGitHub {
owner = "ugexe";
repo = "zef";
rev = "v${version}";
sha256 = "sha256-zTgXMICuLn612bmL5e6GP5aBQ4uOcSLfce0PCRYGob0=";
sha256 = "sha256-Bios3h2bcR6PntFt6JWF7l5u6gjKaljS8HsKfTf+0X8=";
};
nativeBuildInputs = [ makeWrapper ];

View file

@ -15,13 +15,13 @@
stdenv.mkDerivation rec {
pname = "indilib";
version = "1.9.3";
version = "1.9.4";
src = fetchFromGitHub {
owner = "indilib";
repo = "indi";
rev = "v${version}";
sha256 = "sha256-Ik62kbOetA2vSMpnwrSiNRNJqOgmqlCB2+KNhpBo9TA=";
sha256 = "sha256-U3Q0WUEDRn0zfBIdHXFp5Zcaf+M6HrSFnpeu5aAkjks=";
};
nativeBuildInputs = [

View file

@ -1,5 +1,6 @@
{ cmake
, fetchFromGitHub
, fetchpatch
, sqlite
, postgresql
, boost
@ -17,6 +18,14 @@ stdenv.mkDerivation rec {
sha256 = "sha256-NE0ApbX8HG2VAQ9cg9+kX3kJQ4PR1XvWL9BlT8NphmE=";
};
patches = [
(fetchpatch {
name = "fix-backend-search-path.patch";
url = "https://github.com/SOCI/soci/commit/56c93afc467bdba8ffbe68739eea76059ea62f7a.patch";
sha256 = "sha256-nC/39pn3Cv5e65GgIfF3l64/AbCsfZHPUPIWETZFZAY=";
})
];
# Do not build static libraries
cmakeFlags = [ "-DSOCI_STATIC=OFF" "-DCMAKE_CXX_STANDARD=11" ];

View file

@ -13,8 +13,11 @@ buildPecl {
sha256 = "sha256-Dw1+pYJmZ3U2+rgSOEkx4a6HB8FebSr7YZodOjSipjI=";
};
prePatch = ''
cd ext
'';
buildInputs = [ libmaxminddb ];
sourceRoot = "source/ext";
meta = with lib; {
description = "C extension that is a drop-in replacement for MaxMind\\Db\\Reader";

View file

@ -19,14 +19,14 @@
buildPythonPackage rec {
pname = "plugwise";
version = "0.15.4";
version = "0.16.0";
format = "setuptools";
src = fetchFromGitHub {
owner = pname;
repo = "python-plugwise";
rev = "v${version}";
sha256 = "0lp87vn9kh0xqng5mv5j914pgrbnhp54bisq76njijn32mgaw4qq";
sha256 = "1zgrq70ihkix39kf08h8xbjxa49800j9l6rn9nbgzwd25d7nlal0";
};
postPatch = ''

View file

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "subarulink";
version = "0.3.16";
version = "0.4.0";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "G-Two";
repo = pname;
rev = "v${version}";
sha256 = "sha256-7waY5AOONi+u056JRH9KcoBWSB4AlMw4QcMW0uoCARc=";
sha256 = "0mn3am1np653a3mq8rjly482a9x2rp6ss9zx997b6adk5vm3zasc";
};
propagatedBuildInputs = [

View file

@ -4,11 +4,11 @@
buildPythonPackage rec {
pname = "treq";
version = "21.5.0";
version = "22.1.0";
src = fetchPypi {
inherit pname version;
sha256 = "02ea86383fc4b57539c45a965eaa1e9fd28302cdf382d21da8430050c97be9b8";
sha256 = "sha256-d1WBYEkZo9echFQBWYoP0HDKvG3oOEBHLY6fpxXy02w=";
};
propagatedBuildInputs = [

View file

@ -5,12 +5,12 @@
buildPythonPackage rec {
pname = "types-urllib3";
version = "1.26.7";
version = "1.26.8";
format = "setuptools";
src = fetchPypi {
inherit pname version;
hash = "sha256-z9H7vkuppgXtFIKUAIqsinuLdHJlHRzDV9UHrlli49I=";
hash = "sha256-qg3iaJPxOFI9VVK7sCOCbAzH6ldJ2AwWk8V6q3tV9Gk=";
};
# Module doesn't have tests

View file

@ -2,15 +2,15 @@
buildGoModule rec {
pname = "konstraint";
version = "0.15.1";
version = "0.16.0";
src = fetchFromGitHub {
owner = "plexsystems";
repo = pname;
rev = "v${version}";
sha256 = "sha256-vt8/hYsThBoAxMglF8pjdVphmkbHXsuzaHFJhnGXdU4=";
sha256 = "sha256-j1rVkI5hXYtY0jtP+i/yRw1sS3iN3KyVI4gV9fNdj/E=";
};
vendorSha256 = "sha256-3m+mN90Edb/yMgVmkokRQrDM2EdB7cb2opL0QZJ8L+U=";
vendorSha256 = "sha256-oYIUeHMEK55mCkf5cb5ECCU5y6tUZAM258sINrBl9kM=";
# Exclude go within .github folder
excludedPackages = ".github";

View file

@ -19,11 +19,11 @@ let
in buildPythonApplication rec {
pname = "pipenv";
version = "2021.11.23";
version = "2022.1.8";
src = fetchPypi {
inherit pname version;
sha256 = "1bde859e8bbd1d21d503fd995bc0170048d6da7686ab885f074592c99a16e8f3";
sha256 = "f84d7119239b22ab2ac2b8fbc7d619d83cf41135206d72a17c4f151cda529fd0";
};
LC_ALL = "en_US.UTF-8";

View file

@ -1,32 +0,0 @@
{ lib, stdenv, fetchurl, python2, wxGTK29, mupen64plus, SDL, libX11, libGLU, libGL
, wafHook }:
stdenv.mkDerivation rec {
pname = "wxmupen64plus";
version = "0.3";
src = fetchurl {
url = "https://bitbucket.org/auria/wxmupen64plus/get/${version}.tar.bz2";
sha256 = "1mnxi4k011dd300k35li2p6x4wccwi6im21qz8dkznnz397ps67c";
};
nativeBuildInputs = [ wafHook ];
buildInputs = [ python2 wxGTK29 SDL libX11 libGLU libGL ];
preConfigure = ''
tar xf ${mupen64plus.src}
APIDIR=$(eval echo `pwd`/mupen64plus*/source/mupen64plus-core/src/api)
export CXXFLAGS="-I${libX11.dev}/include/X11 -DLIBDIR=\\\"${mupen64plus}/lib/\\\""
export LDFLAGS="-lwx_gtk2u_adv-2.9"
wafConfigureFlagsArray+=("--mupenapi=$APIDIR" "--wxconfig=`type -P wx-config`")
'';
NIX_CFLAGS_COMPILE = "-fpermissive";
meta = {
description = "GUI for the Mupen64Plus 2.0 emulator";
license = lib.licenses.gpl2Plus;
homepage = "https://bitbucket.org/auria/wxmupen64plus/wiki/Home";
};
}

File diff suppressed because it is too large Load diff

View file

@ -796,7 +796,7 @@ self: super: {
libiconv
];
cargoSha256 = "sha256-4VXXQjGmGGQXgfzSOvFnQS+iQjidj0FjaNKZ3VzBqw0=";
cargoSha256 = "sha256-y4yQ8Zv9bpfOyQrBX/TAuVYHhDsXdj0rh8nHJonxgcU=";
};
in
''

View file

@ -203,7 +203,6 @@ github/copilot.vim
gleam-lang/gleam.vim
glepnir/dashboard-nvim
glepnir/galaxyline.nvim
glepnir/lspsaga.nvim
glepnir/oceanic-material
glepnir/zephyr-nvim
glts/vim-textobj-comment
@ -779,6 +778,7 @@ tamago324/compe-zsh
tamago324/lir.nvim
tami5/compe-conjure
tami5/lispdocs.nvim
tami5/lspsaga.nvim
tami5/sqlite.lua
tbastos/vim-lua
tbodt/deoplete-tabnine

View file

@ -66,6 +66,8 @@ stdenv.mkDerivation rec {
./busybox-in-store.patch
] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) ./clang-cross.patch;
separateDebugInfo = true;
postPatch = "patchShebangs .";
configurePhase = ''
@ -120,6 +122,8 @@ stdenv.mkDerivation rec {
makeFlagsArray+=("CC=${stdenv.cc.targetPrefix}cc -isystem ${musl.dev}/include -B${musl}/lib -L${musl}/lib")
'';
makeFlags = [ "SKIP_STRIP=y" ];
postInstall = ''
sed -e '
1 a busybox() { '$out'/bin/busybox "$@"; }\

View file

@ -1,17 +1,32 @@
{ lib, stdenv, fetchurl, pkg-config, numactl, ncurses, check }:
{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config, numactl, ncurses, check }:
stdenv.mkDerivation rec {
pname = "numatop";
version = "2.1";
src = fetchurl {
url = "https://github.com/intel/${pname}/releases/download/v${version}/${pname}-v${version}.tar.xz";
sha256 = "1s7psq1xyswj0lpx10zg5lnppav2xy9safkfx3rssrs9c2fp5d76";
version = "2.2";
src = fetchFromGitHub {
owner = "intel";
repo = "numatop";
rev = "v${version}";
sha256 = "sha256-GJvTwqgx34ZW10eIJj/xiKe3ZkAfs7GlJImz8jrnjfI=";
};
nativeBuildInputs = [ pkg-config ];
nativeBuildInputs = [ autoreconfHook pkg-config ];
buildInputs = [ numactl ncurses ];
checkInputs = [ check ];
patches = [
(fetchpatch {
url = "https://github.com/intel/numatop/pull/54.patch";
sha256 = "sha256-TbMLv7TT9T8wE4uJ1a/AroyPPwrwL0eX5IBLsh9GTTM=";
name = "fix-string-operations.patch";
})
(fetchpatch {
url = "https://github.com/intel/numatop/pull/64.patch";
sha256 = "sha256-IevbSFJRTS5iQ5apHOVXzF67f3LJaW6j7DySFmVuyiM=";
name = "fix-format-strings-mvwprintw.patch";
})
];
doCheck = true;
meta = with lib; {
@ -20,8 +35,8 @@ stdenv.mkDerivation rec {
license = licenses.bsd3;
maintainers = with maintainers; [ dtzWill ];
platforms = [
{ kernel.name = "linux"; cpu.family = "x86"; }
{ kernel.name = "linux"; cpu.family = "power"; }
"i686-linux" "x86_64-linux"
"powerpc64-linux" "powerpc64le-linux"
];
};
}

View file

@ -8,12 +8,12 @@ let
_kernel = kernel;
pythonEnv = python3.withPackages (ps: with ps; [ six ]);
in stdenv.mkDerivation rec {
version = "2.15.1";
version = "2.16.2";
pname = "openvswitch";
src = fetchurl {
url = "https://www.openvswitch.org/releases/${pname}-${version}.tar.gz";
sha256 = "0vgijwycf3wvzv9v811jrfr5rlwmihlxwpf16spl6k9n6zaswysw";
sha256 = "sha256-A6xMMpmzjlbAtNTCejKclYsAOgjztUigo8qLmU8tSTQ=";
};
kernel = optional (_kernel != null) _kernel.dev;

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "gitlab-pages";
version = "1.48.0";
version = "1.49.0";
src = fetchFromGitLab {
owner = "gitlab-org";
repo = "gitlab-pages";
rev = "v${version}";
sha256 = "sha256-oSimHF4qiI2zcMSx51qxs88AcrrewHIbhaRW8s4Ut7Q=";
sha256 = "sha256-9orJEt0w0ORHKEOpp40Aubj/pfnNO/A3oHEgWIdk+vM=";
};
vendorSha256 = "sha256-dzYO1yAQSVJmDJvjB5XPRBiYCk+ko1n928CTtUXbHBc=";
vendorSha256 = "sha256-/dmEsoeB3UDOBZ/9rbnywRtpXVKaJKGF6xPeWTA4PPE=";
subPackages = [ "." ];
meta = with lib; {

View file

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "atheme";
version = "7.2.11";
version = "7.2.12";
src = fetchgit {
url = "https://github.com/atheme/atheme.git";
rev = "v${version}";
sha256 = "15fs48cgzxblh2g4abl5v647ndfx9hg8cih2x67v3y7s9wz68wk2";
sha256 = "sha256-KAC1ZPNo4TqfVryKOYYef8cRWRgFmyEdvl1bgvpGNiM=";
leaveDotGit = true;
};

View file

@ -6,13 +6,13 @@
}:
stdenv.mkDerivation rec {
pname = "klipper";
version = "unstable-2021-12-24";
version = "unstable-2022-01-09";
src = fetchFromGitHub {
owner = "KevinOConnor";
repo = "klipper";
rev = "247cd753e283e70a9949e76d0ba669d99c0eb144";
sha256 = "sha256-65wxhE/XqNK6ly+fxZFLjtImvpJlgU54RStUve40CJA=";
rev = "6e6ad7b5201d3452aa605f4ae852c51239c2c7d8";
sha256 = "sha256-cflcGweEjB0xj2LhYJzyvqFSQen2vhYXlL7lz/HoGaM=";
};
sourceRoot = "source/klippy";

View file

@ -2,13 +2,13 @@
python3.pkgs.buildPythonApplication rec {
pname = "radicale";
version = "3.1.0";
version = "3.1.3";
src = fetchFromGitHub {
owner = "Kozea";
repo = "Radicale";
rev = "v${version}";
hash = "sha256-LtPv+3FQMGC2YP2+1cSPZVUIzrUhteJTl58+JdvGcQg=";
hash = "sha256-a1oapCktJPvNO+MTsB9COtxSFB/ZIZvJiuqX+s+lncY=";
};
postPatch = ''
@ -36,6 +36,6 @@ python3.pkgs.buildPythonApplication rec {
homepage = "https://radicale.org/v3.html";
description = "CalDAV and CardDAV server";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ dotlambda ];
maintainers = with maintainers; [ dotlambda erictapen ];
};
}

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "serviio";
version = "2.1";
version = "2.2.1";
src = fetchurl {
url = "http://download.serviio.org/releases/${pname}-${version}-linux.tar.gz";
sha256 = "0mxpdyhjf4w83q8ssmvpxm95hw4x7lfkh48vvdablccfndh82x2i";
sha256 = "sha256-uRRWKMv4f2b1yIE9OnXDIZAmcoqw/8F0z1LOesQBsyQ=";
};
installPhase = ''

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "abcMIDI";
version = "2022.01.13";
version = "2022.01.28";
src = fetchzip {
url = "https://ifdo.ca/~seymour/runabc/${pname}-${version}.zip";
hash = "sha256-jXXUdPAmU6JcnqWBnzc9tfjEyLSdYxZZJh4w4iSCD1w=";
hash = "sha256-+g5oKUfm6vRuRQfOx0QDueYMabgScL8Mfw5GJcXQztg=";
};
meta = with lib; {

View file

@ -2,18 +2,18 @@
buildGoModule rec {
pname = "cloud-sql-proxy";
version = "1.27.1";
version = "1.28.0";
src = fetchFromGitHub {
owner = "GoogleCloudPlatform";
repo = "cloudsql-proxy";
rev = "v${version}";
sha256 = "sha256-xVPs7D639KY2ryDZpivineH4yZSNXi78FWk2SFKX1sk=";
sha256 = "sha256-XA74rZ477Mwf8u0KLkFngfwiJexS10vh++ST6VtkcVg=";
};
subPackages = [ "cmd/cloud_sql_proxy" ];
vendorSha256 = "sha256-913GJ/rPvDavQQMqDDTe4gBXziPPeQRPpUUG3DAz96g=";
vendorSha256 = "sha256-ZXWhADfzvHcEW3IZlPyau5nHEXBJRH8aTvb3zCKl/LE=";
checkFlags = [ "-short" ];

View file

@ -2,7 +2,7 @@
stdenv.mkDerivation rec {
pname = "boundary";
version = "0.7.1";
version = "0.7.3";
src =
let
@ -14,9 +14,9 @@ stdenv.mkDerivation rec {
x86_64-darwin = "darwin_amd64";
};
sha256 = selectSystem {
x86_64-linux = "sha256-5m5ckeX3gVY82q9aQWusnq3o/+UBPJSPDdISL86OfV8=";
aarch64-linux = "sha256-+dnQh89kg3JcDL8sucMceCMRFyUjoAIYuZtDM8AUMYw=";
x86_64-darwin = "sha256-ZoWW8y048+5Ru3s7lUxLTMxuITFBC9AgwqafyHPDc54=";
x86_64-linux = "sha256-9WEvGU4VfJ1781DlvdJhpdzY4djoSRWu6ZzfOpBvKJQ=";
aarch64-linux = "sha256-QLjewB1FeYHVehM1U81GzyewWns40IlVEFWgzWP+2Vw=";
x86_64-darwin = "sha256-YxPkZnU8EBvRWBMsB0jifS63tJ7LQibgtwTbqosC/fg=";
};
in
fetchzip {

View file

@ -4,7 +4,7 @@ with lib;
buildGoModule rec {
pname = "flannel";
version = "0.15.1";
version = "0.16.1";
rev = "v${version}";
vendorSha256 = null;
@ -13,7 +13,7 @@ buildGoModule rec {
inherit rev;
owner = "flannel-io";
repo = "flannel";
sha256 = "1p4rz4kdiif8i78zgxhw6dd0c1bq159f6l1idvig5apph7zi2bwm";
sha256 = "sha256-5NrULpbf3PStzoywLyrfM5qup43idzeHCMRSuNLXR3g=";
};
ldflags = [ "-X github.com/flannel-io/flannel/version.Version=${rev}" ];

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "i2p";
version = "1.5.0";
version = "1.6.1";
src = fetchurl {
url = "https://download.i2p2.de/releases/${version}/i2psource_${version}.tar.bz2";
sha256 = "sha256-JuX02VsaB2aHD5ezDlfJqOmGkCecO/CRmOMO/6vsxFA=";
sha256 = "sha256-cZYGxMtRDeT+dPJLv6U5EacFMYIfwe55op49luqhZzM=";
};
buildInputs = [ jdk ant gettext which ];

View file

@ -2,7 +2,7 @@
buildGoModule rec {
pname = "spire";
version = "1.1.2";
version = "1.2.0";
outputs = [ "out" "agent" "server" ];
@ -10,10 +10,10 @@ buildGoModule rec {
owner = "spiffe";
repo = pname;
rev = "v${version}";
sha256 = "sha256-MX2kbdLj72S2WBceUW/3ps34Bcsf/VArK8RN4r13wQY=";
sha256 = "01ph9jzh18bnidrsbnnxm3gxh0cgfllnjvf7a5haqz51lm6a9pny";
};
vendorSha256 = "sha256-ZRcXMNKhNY3W5fV9q/V7xsnODoG6KWHrzpWte9hx/Ms=";
vendorSha256 = "17d845lwlbk19lsc937c22b1l0ikimhlagknm2i7mn8s8xrs57q8";
subPackages = [ "cmd/spire-agent" "cmd/spire-server" ];

View file

@ -1098,6 +1098,7 @@ mapAliases ({
winswitch = throw "winswitch has been removed from nixpkgs."; # added 2019-12-10
wireshark-gtk = throw "wireshark-gtk is not supported anymore. Use wireshark-qt or wireshark-cli instead."; # added 2019-11-18
wireguard = wireguard-tools; # added 2018-05-19
wxmupen64plus = throw "wxmupen64plus was removed because the upstream disappeared."; # 2022-01-31
morituri = whipper; # added 2018-09-13
xbmc-retroarch-advanced-launchers = kodi-retroarch-advanced-launchers; # added 2021-11-19
xp-pen-g430 = pentablet-driver; # added 2020-05-03

View file

@ -7901,6 +7901,10 @@ with pkgs;
mole = callPackage ../tools/networking/mole { };
morgen = callPackage ../applications/office/morgen {
electron = electron_15;
};
mosh = callPackage ../tools/networking/mosh { };
mpage = callPackage ../tools/text/mpage { };
@ -27477,6 +27481,8 @@ with pkgs;
mozjpeg = callPackage ../applications/graphics/mozjpeg { };
edgetx = libsForQt5.callPackage ../applications/misc/edgetx { };
easytag = callPackage ../applications/audio/easytag { };
mp3gain = callPackage ../applications/audio/mp3gain { };
@ -32300,6 +32306,8 @@ with pkgs;
sherpa = callPackage ../applications/science/physics/sherpa {};
shtns = callPackage ../applications/science/physics/shtns { };
xfitter = callPackage ../applications/science/physics/xfitter {};
xflr5 = libsForQt5.callPackage ../applications/science/physics/xflr5 { };
@ -34116,8 +34124,6 @@ with pkgs;
wraith = callPackage ../applications/networking/irc/wraith { };
wxmupen64plus = callPackage ../misc/emulators/wxmupen64plus { };
wxsqlite3 = callPackage ../development/libraries/wxsqlite3 {
wxGTK = wxGTK30;
inherit (darwin.apple_sdk.frameworks) Cocoa;

View file

@ -12,10 +12,14 @@ let
"ghcjs810"
"integer-simple"
"native-bignum"
"ghc902"
"ghc921"
"ghcHEAD"
];
nativeBignumIncludes = [
"ghc902"
"ghc921"
"ghcHEAD"
];

View file

@ -729,11 +729,20 @@ let
Appcpanminus = buildPerlPackage {
pname = "App-cpanminus";
version = "1.7044";
version = "1.7045";
src = fetchurl {
url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz";
sha256 = "9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3";
url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7045.tar.gz";
sha256 = "1779w07zxlgfk35s24ksr7k9azd5yl8sbb48y1aaph7y4gf4lkmc";
};
# Use TLS endpoints for downloads and metadata by default
preConfigure = ''
substituteInPlace bin/cpanm \
--replace http://www.cpan.org https://www.cpan.org \
--replace http://backpan.perl.org https://backpan.perl.org \
--replace http://fastapi.metacpan.org https://fastapi.metacpan.org \
--replace http://cpanmetadb.plackperl.org https://cpanmetadb.plackperl.org
'';
propagatedBuildInputs = [ IOSocketSSL ];
meta = {
homepage = "https://github.com/miyagawa/cpanminus";
description = "Get, unpack, build and install modules from CPAN";

View file

@ -398,8 +398,8 @@ let
jobs.pkgsMusl.haskell.compiler.ghc921
jobs.pkgsMusl.haskell.compiler.ghcHEAD
jobs.pkgsMusl.haskell.compiler.integer-simple.ghc8107
jobs.pkgsMusl.haskell.compiler.integer-simple.ghc902
jobs.pkgsMusl.haskell.compiler.integer-simple.ghc921
jobs.pkgsMusl.haskell.compiler.native-bignum.ghc902
jobs.pkgsMusl.haskell.compiler.native-bignum.ghc921
jobs.pkgsMusl.haskell.compiler.native-bignum.ghcHEAD
];
};