Merge master into staging-next
This commit is contained in:
commit
ed9751296d
16
.github/CODEOWNERS
vendored
16
.github/CODEOWNERS
vendored
@ -272,10 +272,20 @@
|
||||
# Cinnamon
|
||||
/pkgs/desktops/cinnamon @mkg20001
|
||||
|
||||
#nim
|
||||
/pkgs/development/compilers/nim @ehmry
|
||||
/pkgs/development/nim-packages @ehmry
|
||||
# nim
|
||||
/pkgs/development/compilers/nim @ehmry
|
||||
/pkgs/development/nim-packages @ehmry
|
||||
/pkgs/top-level/nim-packages.nix @ehmry
|
||||
|
||||
# terraform providers
|
||||
/pkgs/applications/networking/cluster/terraform-providers @zowoq
|
||||
|
||||
# Matrix
|
||||
/pkgs/servers/heisenbridge @piegamesde
|
||||
/pkgs/servers/matrix-conduit @piegamesde @pstn
|
||||
/pkgs/servers/matrix-synapse/matrix-appservice-irc @piegamesde
|
||||
/nixos/modules/services/misc/heisenbridge.nix @piegamesde
|
||||
/nixos/modules/services/misc/matrix-appservice-irc.nix @piegamesde
|
||||
/nixos/modules/services/misc/matrix-conduit.nix @piegamesde @pstn
|
||||
/nixos/tests/matrix-appservice-irc.nix @piegamesde
|
||||
/nixos/tests/matrix-conduit.nix @piegamesde @pstn
|
||||
|
@ -227,7 +227,7 @@ digraph {
|
||||
}
|
||||
```
|
||||
|
||||
[This GitHub Action](https://github.com/NixOS/nixpkgs/blob/master/.github/workflows/merge-staging.yml) brings changes from `master` to `staging-next` and from `staging-next` to `staging` every 6 hours.
|
||||
[This GitHub Action](https://github.com/NixOS/nixpkgs/blob/master/.github/workflows/periodic-merge-6h.yml) brings changes from `master` to `staging-next` and from `staging-next` to `staging` every 6 hours.
|
||||
|
||||
|
||||
### Master branch {#submitting-changes-master-branch}
|
||||
|
@ -90,6 +90,13 @@
|
||||
<link xlink:href="options.html#opt-services.heisenbridge.enable">services.heisenbridge</link>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="https://ergo.chat">ergochat</link>, a modern
|
||||
IRC with IRCv3 features. Available as
|
||||
<link xlink:href="options.html#opt-services.ergochat.enable">services.ergochat</link>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="https://github.com/ngoduykhanh/PowerDNS-Admin">PowerDNS-Admin</link>,
|
||||
@ -245,6 +252,14 @@
|
||||
<literal>virtualisation.docker.daemon.settings</literal>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The backward compatibility in
|
||||
<literal>services.dokuwiki</literal> to configure sites with
|
||||
the old interface has been removed. Please use
|
||||
<literal>services.dokuwiki.sites</literal> instead.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
opensmtpd-extras is no longer build with python2 scripting
|
||||
|
@ -30,6 +30,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).
|
||||
|
||||
- [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).
|
||||
|
||||
- [maddy](https://maddy.email), a composable all-in-one mail server. Available as [services.maddy](options.html#opt-services.maddy.enable).
|
||||
@ -81,6 +83,9 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||
|
||||
- If you previously used `/etc/docker/daemon.json`, you need to incorporate the changes into the new option `virtualisation.docker.daemon.settings`.
|
||||
|
||||
- The backward compatibility in `services.dokuwiki` to configure sites with the
|
||||
old interface has been removed. Please use `services.dokuwiki.sites` instead.
|
||||
|
||||
- opensmtpd-extras is no longer build with python2 scripting support due to python2 deprecation in nixpkgs
|
||||
|
||||
- The `autorestic` package has been upgraded from 1.3.0 to 1.5.0 which introduces breaking changes in config file, check [their migration guide](https://autorestic.vercel.app/migration/1.4_1.5) for more details.
|
||||
|
@ -740,6 +740,7 @@
|
||||
./services/networking/ejabberd.nix
|
||||
./services/networking/epmd.nix
|
||||
./services/networking/ergo.nix
|
||||
./services/networking/ergochat.nix
|
||||
./services/networking/eternal-terminal.nix
|
||||
./services/networking/fakeroute.nix
|
||||
./services/networking/ferm.nix
|
||||
|
155
nixos/modules/services/networking/ergochat.nix
Normal file
155
nixos/modules/services/networking/ergochat.nix
Normal file
@ -0,0 +1,155 @@
|
||||
{ config, lib, options, pkgs, ... }: let
|
||||
cfg = config.services.ergochat;
|
||||
in {
|
||||
options = {
|
||||
services.ergochat = {
|
||||
|
||||
enable = lib.mkEnableOption "Ergo IRC daemon";
|
||||
|
||||
openFilesLimit = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
default = 1024;
|
||||
description = ''
|
||||
Maximum number of open files. Limits the clients and server connections.
|
||||
'';
|
||||
};
|
||||
|
||||
configFile = lib.mkOption {
|
||||
type = lib.types.path;
|
||||
default = (pkgs.formats.yaml {}).generate "ergo.conf" cfg.settings;
|
||||
defaultText = "generated config file from <literal>.settings</literal>";
|
||||
description = ''
|
||||
Path to configuration file.
|
||||
Setting this will skip any configuration done via <literal>.settings</literal>
|
||||
'';
|
||||
};
|
||||
|
||||
settings = lib.mkOption {
|
||||
type = (pkgs.formats.yaml {}).type;
|
||||
description = ''
|
||||
Ergo IRC daemon configuration file.
|
||||
https://raw.githubusercontent.com/ergochat/ergo/master/default.yaml
|
||||
'';
|
||||
default = {
|
||||
network = {
|
||||
name = "testnetwork";
|
||||
};
|
||||
server = {
|
||||
name = "example.com";
|
||||
listeners = {
|
||||
":6667" = {};
|
||||
};
|
||||
casemapping = "permissive";
|
||||
enforce-utf = true;
|
||||
lookup-hostnames = false;
|
||||
ip-cloaking = {
|
||||
enabled = false;
|
||||
};
|
||||
forward-confirm-hostnames = false;
|
||||
check-ident = false;
|
||||
relaymsg = {
|
||||
enabled = false;
|
||||
};
|
||||
max-sendq = "1M";
|
||||
ip-limits = {
|
||||
count = false;
|
||||
throttle = false;
|
||||
};
|
||||
};
|
||||
datastore = {
|
||||
autoupgrade = true;
|
||||
# this points to the StateDirectory of the systemd service
|
||||
path = "/var/lib/ergo/ircd.db";
|
||||
};
|
||||
accounts = {
|
||||
authentication-enabled = true;
|
||||
registration = {
|
||||
enabled = true;
|
||||
allow-before-connect = true;
|
||||
throttling = {
|
||||
enabled = true;
|
||||
duration = "10m";
|
||||
max-attempts = 30;
|
||||
};
|
||||
bcrypt-cost = 4;
|
||||
email-verification.enabled = false;
|
||||
};
|
||||
multiclient = {
|
||||
enabled = true;
|
||||
allowed-by-default = true;
|
||||
always-on = "opt-out";
|
||||
auto-away = "opt-out";
|
||||
};
|
||||
};
|
||||
channels = {
|
||||
default-modes = "+ntC";
|
||||
registration = {
|
||||
enabled = true;
|
||||
};
|
||||
};
|
||||
limits = {
|
||||
nicklen = 32;
|
||||
identlen = 20;
|
||||
channellen = 64;
|
||||
awaylen = 390;
|
||||
kicklen = 390;
|
||||
topiclen = 390;
|
||||
};
|
||||
history = {
|
||||
enabled = true;
|
||||
channel-length = 2048;
|
||||
client-length = 256;
|
||||
autoresize-window = "3d";
|
||||
autoreplay-on-join = 0;
|
||||
chathistory-maxmessages = 100;
|
||||
znc-maxmessages = 2048;
|
||||
restrictions = {
|
||||
expire-time = "1w";
|
||||
query-cutoff = "none";
|
||||
grace-period = "1h";
|
||||
};
|
||||
retention = {
|
||||
allow-individual-delete = false;
|
||||
enable-account-indexing = false;
|
||||
};
|
||||
tagmsg-storage = {
|
||||
default = false;
|
||||
whitelist = [
|
||||
"+draft/react"
|
||||
"+react"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
config = lib.mkIf cfg.enable {
|
||||
|
||||
environment.etc."ergo.yaml".source = cfg.configFile;
|
||||
|
||||
# merge configured values with default values
|
||||
services.ergochat.settings =
|
||||
lib.mapAttrsRecursive (_: lib.mkDefault) options.services.ergochat.settings.default;
|
||||
|
||||
systemd.services.ergochat = {
|
||||
description = "Ergo IRC daemon";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
# reload is not applying the changed config. further investigation is needed
|
||||
# at some point this should be enabled, since we don't want to restart for
|
||||
# every config change
|
||||
# reloadIfChanged = true;
|
||||
restartTriggers = [ cfg.configFile ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.ergochat}/bin/ergo run --conf /etc/ergo.yaml";
|
||||
ExecReload = "${pkgs.util-linux}/bin/kill -HUP $MAINPID";
|
||||
DynamicUser = true;
|
||||
StateDirectory = "ergo";
|
||||
LimitNOFILE = toString cfg.openFilesLimit;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
meta.maintainers = with lib.maintainers; [ lassulus tv ];
|
||||
}
|
@ -1,20 +1,14 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkDefault mkEnableOption mkForce mkIf mkMerge mkOption types maintainers recursiveUpdate;
|
||||
inherit (lib) any attrValues concatMapStrings concatMapStringsSep flatten literalExpression;
|
||||
inherit (lib) filterAttrs mapAttrs mapAttrs' mapAttrsToList nameValuePair optional optionalAttrs optionalString;
|
||||
with lib;
|
||||
|
||||
cfg = migrateOldAttrs config.services.dokuwiki;
|
||||
let
|
||||
cfg = config.services.dokuwiki;
|
||||
eachSite = cfg.sites;
|
||||
user = "dokuwiki";
|
||||
webserver = config.services.${cfg.webserver};
|
||||
stateDir = hostName: "/var/lib/dokuwiki/${hostName}/data";
|
||||
|
||||
# Migrate config.services.dokuwiki.<hostName> to config.services.dokuwiki.sites.<hostName>
|
||||
oldSites = filterAttrs (o: _: o != "sites" && o != "webserver");
|
||||
migrateOldAttrs = cfg: cfg // { sites = cfg.sites // oldSites cfg; };
|
||||
|
||||
dokuwikiAclAuthConfig = hostName: cfg: pkgs.writeText "acl.auth-${hostName}.php" ''
|
||||
# acl.auth.php
|
||||
# <?php exit()?>
|
||||
@ -257,10 +251,7 @@ in
|
||||
options = {
|
||||
services.dokuwiki = mkOption {
|
||||
type = types.submodule {
|
||||
# Used to support old interface
|
||||
freeformType = types.attrsOf (types.submodule siteOpts);
|
||||
|
||||
# New interface
|
||||
options.sites = mkOption {
|
||||
type = types.attrsOf (types.submodule siteOpts);
|
||||
default = {};
|
||||
@ -301,8 +292,6 @@ in
|
||||
}
|
||||
]) eachSite);
|
||||
|
||||
warnings = mapAttrsToList (hostName: _: ''services.dokuwiki."${hostName}" is deprecated use services.dokuwiki.sites."${hostName}"'') (oldSites cfg);
|
||||
|
||||
services.phpfpm.pools = mapAttrs' (hostName: cfg: (
|
||||
nameValuePair "dokuwiki-${hostName}" {
|
||||
inherit user;
|
||||
|
@ -125,6 +125,7 @@ in
|
||||
enlightenment = handleTest ./enlightenment.nix {};
|
||||
env = handleTest ./env.nix {};
|
||||
ergo = handleTest ./ergo.nix {};
|
||||
ergochat = handleTest ./ergochat.nix {};
|
||||
etcd = handleTestOn ["x86_64-linux"] ./etcd.nix {};
|
||||
etcd-cluster = handleTestOn ["x86_64-linux"] ./etcd-cluster.nix {};
|
||||
etebase-server = handleTest ./etebase-server.nix {};
|
||||
|
97
nixos/tests/ergochat.nix
Normal file
97
nixos/tests/ergochat.nix
Normal file
@ -0,0 +1,97 @@
|
||||
let
|
||||
clients = [
|
||||
"ircclient1"
|
||||
"ircclient2"
|
||||
];
|
||||
server = "ergochat";
|
||||
ircPort = 6667;
|
||||
channel = "nixos-cat";
|
||||
iiDir = "/tmp/irc";
|
||||
in
|
||||
|
||||
import ./make-test-python.nix ({ pkgs, lib, ... }: {
|
||||
name = "ergochat";
|
||||
nodes = {
|
||||
"${server}" = {
|
||||
networking.firewall.allowedTCPPorts = [ ircPort ];
|
||||
services.ergochat = {
|
||||
enable = true;
|
||||
settings.server.motd = pkgs.writeText "ergo.motd" ''
|
||||
The default MOTD doesn't contain the word "nixos" in it.
|
||||
This one does.
|
||||
'';
|
||||
};
|
||||
};
|
||||
} // lib.listToAttrs (builtins.map (client: lib.nameValuePair client {
|
||||
imports = [
|
||||
./common/user-account.nix
|
||||
];
|
||||
|
||||
systemd.services.ii = {
|
||||
requires = [ "network.target" ];
|
||||
wantedBy = [ "default.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecPreStartPre = "mkdir -p ${iiDir}";
|
||||
ExecStart = ''
|
||||
${lib.getBin pkgs.ii}/bin/ii -n ${client} -s ${server} -i ${iiDir}
|
||||
'';
|
||||
User = "alice";
|
||||
};
|
||||
};
|
||||
}) clients);
|
||||
|
||||
testScript =
|
||||
let
|
||||
msg = client: "Hello, my name is ${client}";
|
||||
clientScript = client: [
|
||||
''
|
||||
${client}.wait_for_unit("network.target")
|
||||
${client}.systemctl("start ii")
|
||||
${client}.wait_for_unit("ii")
|
||||
${client}.wait_for_file("${iiDir}/${server}/out")
|
||||
''
|
||||
# look for the custom text in the MOTD.
|
||||
''
|
||||
${client}.wait_until_succeeds("grep 'nixos' ${iiDir}/${server}/out")
|
||||
''
|
||||
# wait until first PING from server arrives before joining,
|
||||
# so we don't try it too early
|
||||
''
|
||||
${client}.wait_until_succeeds("grep 'PING' ${iiDir}/${server}/out")
|
||||
''
|
||||
# join ${channel}
|
||||
''
|
||||
${client}.succeed("echo '/j #${channel}' > ${iiDir}/${server}/in")
|
||||
${client}.wait_for_file("${iiDir}/${server}/#${channel}/in")
|
||||
''
|
||||
# send a greeting
|
||||
''
|
||||
${client}.succeed(
|
||||
"echo '${msg client}' > ${iiDir}/${server}/#${channel}/in"
|
||||
)
|
||||
''
|
||||
# check that all greetings arrived on all clients
|
||||
] ++ builtins.map (other: ''
|
||||
${client}.succeed(
|
||||
"grep '${msg other}$' ${iiDir}/${server}/#${channel}/out"
|
||||
)
|
||||
'') clients;
|
||||
|
||||
# foldl', but requires a non-empty list instead of a start value
|
||||
reduce = f: list:
|
||||
builtins.foldl' f (builtins.head list) (builtins.tail list);
|
||||
in ''
|
||||
start_all()
|
||||
${server}.systemctl("status ergochat")
|
||||
${server}.wait_for_open_port(${toString ircPort})
|
||||
|
||||
# run clientScript for all clients so that every list
|
||||
# entry is executed by every client before advancing
|
||||
# to the next one.
|
||||
'' + lib.concatStrings
|
||||
(reduce
|
||||
(lib.zipListsWith (cs: c: cs + c))
|
||||
(builtins.map clientScript clients));
|
||||
})
|
File diff suppressed because it is too large
Load Diff
@ -7,10 +7,10 @@ in
|
||||
rec {
|
||||
firefox = common rec {
|
||||
pname = "firefox";
|
||||
version = "96.0";
|
||||
version = "96.0.1";
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
||||
sha512 = "39f553474537eb4e521f4182e38f0ddff039fa6b40b939d461937d2cef27f7182097b478f08f90d64fdcbe9c063e78f14f6863a8a82a16207ec7a1d3fdfda4ff";
|
||||
sha512 = "c0d2ccf9ca930def63dcb9dc269e47f60fd4bbbdcbc01463df0c30e11109a543e310fb36f2334d17b90cb9c96b8dcdd97d0e2d6c589a779de5e4f197c052f9a5";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
@ -12,13 +12,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "telescope";
|
||||
version = "0.7";
|
||||
version = "0.7.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "omar-polo";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-YF7pysKwEwtyERBDiF0AbnDfqK3S/ZS/y+/rd17dLDw=";
|
||||
sha256 = "sha256-W42e1p70dMhF9C7BBPp1Yhp2PrRb8/Lu07yOGiUSmNg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -16,12 +16,12 @@ with lib;
|
||||
|
||||
buildGoPackage rec {
|
||||
pname = "gitea";
|
||||
version = "1.15.9";
|
||||
version = "1.15.10";
|
||||
|
||||
# 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-DzPgAy7Curypc/66c1NqYSHFgtovpY5qEq/Le+0VYk4=";
|
||||
sha256 = "1rrxkpahgzxgs4mckdsrss19mdjdicjgskw689hvhc063slb9vlx";
|
||||
};
|
||||
|
||||
unpackPhase = ''
|
||||
@ -77,6 +77,6 @@ buildGoPackage rec {
|
||||
description = "Git with a cup of tea";
|
||||
homepage = "https://gitea.io";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ disassembler kolaente ma27 ];
|
||||
maintainers = with maintainers; [ disassembler kolaente ma27 techknowlogick ];
|
||||
};
|
||||
}
|
||||
|
@ -11,7 +11,9 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "04hmbmzf97rsii8gpwy3wkljy5xhxmlsl34d63s6hfy05knclydj";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ meson ninja pkg-config glib ];
|
||||
strictDeps = true;
|
||||
nativeBuildInputs = [ meson ninja pkg-config ];
|
||||
buildInputs = [ glib ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Wallpaper collection for adapta-project";
|
||||
|
@ -3,12 +3,12 @@
|
||||
let
|
||||
generator = pkgsBuildBuild.buildGoModule rec {
|
||||
pname = "v2ray-domain-list-community";
|
||||
version = "20211228022859";
|
||||
version = "20220114024213";
|
||||
src = fetchFromGitHub {
|
||||
owner = "v2fly";
|
||||
repo = "domain-list-community";
|
||||
rev = version;
|
||||
sha256 = "sha256-wDz4msCaX6BPzxrg5GeZSrMuxsCx8uimhaHghWdDp8s=";
|
||||
sha256 = "sha256-sF9WvXhyfMUvSXmFjkfGq4cZE/MiAnOKbkpv2CHSV3Q=";
|
||||
};
|
||||
vendorSha256 = "sha256-QUbnUnxG1tsNbR49HTl55aiLkBM/ae9mCtzWeN4Ju78=";
|
||||
meta = with lib; {
|
||||
|
@ -3,10 +3,13 @@
|
||||
, gjs
|
||||
, gnome
|
||||
, gobject-introspection
|
||||
, xprop
|
||||
, pulseaudio
|
||||
, python3
|
||||
, substituteAll
|
||||
, touchegg
|
||||
, vte
|
||||
, wrapGAppsHook
|
||||
, xprop
|
||||
}:
|
||||
let
|
||||
# Helper method to reduce redundancy
|
||||
@ -62,6 +65,18 @@ super: lib.trivial.pipe super [
|
||||
'';
|
||||
}))
|
||||
|
||||
(patchExtension "shell-volume-mixer@derhofbauer.at" (old: {
|
||||
patches = [
|
||||
(substituteAll {
|
||||
src = ./extensionOverridesPatches/shell-volume-mixer_at_derhofbauer.at.patch;
|
||||
inherit pulseaudio;
|
||||
inherit python3;
|
||||
})
|
||||
];
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ rhoriguchi ];
|
||||
}))
|
||||
|
||||
(patchExtension "unite@hardpixel.eu" (old: {
|
||||
buildInputs = [ xprop ];
|
||||
|
||||
|
@ -0,0 +1,32 @@
|
||||
diff --git a/lib/utils/paHelper.js b/lib/utils/paHelper.js
|
||||
index be28d21..a410a63 100755
|
||||
--- a/lib/utils/paHelper.js
|
||||
+++ b/lib/utils/paHelper.js
|
||||
@@ -57,13 +57,7 @@ async function execHelper(type, index = undefined) {
|
||||
return null;
|
||||
}
|
||||
|
||||
- const python = await findPython();
|
||||
-
|
||||
- if (!python) {
|
||||
- return null;
|
||||
- }
|
||||
-
|
||||
- const args = ['/usr/bin/env', python, paUtilPath, type];
|
||||
+ const args = ['@python3@/bin/python', paUtilPath, type];
|
||||
|
||||
if (!isNaN(index)) {
|
||||
args.push(index);
|
||||
diff --git a/pautils/lib/libpulse.py b/pautils/lib/libpulse.py
|
||||
index a32c272..8225f2f 100755
|
||||
--- a/pautils/lib/libpulse.py
|
||||
+++ b/pautils/lib/libpulse.py
|
||||
@@ -16,7 +16,7 @@
|
||||
from ctypes import *
|
||||
|
||||
try:
|
||||
- lib = CDLL('libpulse.so.0')
|
||||
+ lib = CDLL('@pulseaudio@/lib/libpulse.so.0')
|
||||
except:
|
||||
lib = CDLL('libpulse.so')
|
||||
|
@ -274,29 +274,29 @@ in {
|
||||
sha256 = "sha256-LtAqyecQhZxBvILer7CGGXkruaJ+6qFnbHQe3t0hTdc=";
|
||||
};
|
||||
|
||||
pypy27_prebuilt = callPackage ./pypy/prebuilt.nix {
|
||||
pypy27_prebuilt = callPackage ./pypy/prebuilt_2_7.nix {
|
||||
# Not included at top-level
|
||||
self = pythonInterpreters.pypy27_prebuilt;
|
||||
sourceVersion = {
|
||||
major = "7";
|
||||
minor = "3";
|
||||
patch = "3";
|
||||
patch = "6";
|
||||
};
|
||||
sha256 = "1cfpdyvbvzwc0ynjr7248jhwgcpl7073wlp7w3g2v4fnrh1bc4pl"; # linux64
|
||||
sha256 = "sha256-ghJ/Q/rmznXUfWxFOfjB6jcunC2/pA+ui1g1HVInk6Q="; # linux64
|
||||
pythonVersion = "2.7";
|
||||
inherit passthruFun;
|
||||
};
|
||||
|
||||
pypy36_prebuilt = callPackage ./pypy/prebuilt.nix {
|
||||
pypy38_prebuilt = callPackage ./pypy/prebuilt.nix {
|
||||
# Not included at top-level
|
||||
self = pythonInterpreters.pypy36_prebuilt;
|
||||
self = pythonInterpreters.pypy38_prebuilt;
|
||||
sourceVersion = {
|
||||
major = "7";
|
||||
minor = "3";
|
||||
patch = "3";
|
||||
patch = "7";
|
||||
};
|
||||
sha256 = "02lys9bjky9bqg6ggv8djirbd3zzcsq7755v4yvwm0k4a7fmzf2g"; # linux64
|
||||
pythonVersion = "3.6";
|
||||
sha256 = "sha256-Xe43x8PLixYAKPveOlkBxoBD36VFoWeUUCuJfUvEDX4="; # linux64
|
||||
pythonVersion = "3.8";
|
||||
inherit passthruFun;
|
||||
};
|
||||
|
||||
|
@ -6,8 +6,9 @@
|
||||
, which
|
||||
# Dependencies
|
||||
, bzip2
|
||||
, sqlite
|
||||
, zlib
|
||||
, openssl_1_0_2
|
||||
, openssl
|
||||
, expat
|
||||
, ncurses6
|
||||
, tcl-8_5
|
||||
@ -27,12 +28,12 @@ with lib;
|
||||
|
||||
let
|
||||
isPy3k = majorVersion == "3";
|
||||
passthru = passthruFun {
|
||||
passthru = passthruFun rec {
|
||||
inherit self sourceVersion pythonVersion packageOverrides;
|
||||
implementation = "pypy";
|
||||
libPrefix = "pypy${pythonVersion}";
|
||||
executable = "pypy${if isPy3k then "3" else ""}";
|
||||
sitePackages = "site-packages";
|
||||
sitePackages = "lib/${libPrefix}/site-packages";
|
||||
hasDistutilsCxxPatch = false;
|
||||
|
||||
# Not possible to cross-compile with.
|
||||
@ -49,8 +50,9 @@ let
|
||||
|
||||
deps = [
|
||||
bzip2
|
||||
sqlite
|
||||
zlib
|
||||
openssl_1_0_2
|
||||
openssl
|
||||
expat
|
||||
ncurses6
|
||||
tcl-8_5
|
||||
@ -68,10 +70,9 @@ in with passthru; stdenv.mkDerivation {
|
||||
buildInputs = [ which ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/lib
|
||||
mkdir -p $out
|
||||
echo "Moving files to $out"
|
||||
mv -t $out bin include lib-python lib_pypy site-packages
|
||||
mv lib/libffi.so.6* $out/lib/
|
||||
mv -t $out bin include lib
|
||||
|
||||
mv $out/bin/libpypy*-c.so $out/lib/
|
||||
|
||||
@ -84,8 +85,9 @@ in with passthru; stdenv.mkDerivation {
|
||||
$out/bin/pypy*
|
||||
|
||||
pushd $out
|
||||
find {lib,lib_pypy*} -name "*.so" -exec patchelf --remove-needed libncursesw.so.6 --replace-needed libtinfow.so.6 libncursesw.so.6 {} \;
|
||||
find {lib,lib_pypy*} -name "*.so" -exec patchelf --set-rpath ${lib.makeLibraryPath deps}:$out/lib {} \;
|
||||
|
||||
find ./lib -name "*.so" -exec patchelf --remove-needed libncursesw.so.6 --replace-needed libtinfow.so.6 libncursesw.so.6 {} \;
|
||||
find ./lib -name "*.so" -exec patchelf --set-rpath ${lib.makeLibraryPath deps}:$out/lib {} \;
|
||||
|
||||
echo "Removing bytecode"
|
||||
find . -name "__pycache__" -type d -depth -exec rm -rf {} \;
|
||||
|
132
pkgs/development/interpreters/python/pypy/prebuilt_2_7.nix
Normal file
132
pkgs/development/interpreters/python/pypy/prebuilt_2_7.nix
Normal file
@ -0,0 +1,132 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, python-setup-hook
|
||||
, self
|
||||
, which
|
||||
# Dependencies
|
||||
, bzip2
|
||||
, zlib
|
||||
, openssl_1_0_2
|
||||
, expat
|
||||
, ncurses6
|
||||
, tcl-8_5
|
||||
, tk-8_5
|
||||
# For the Python package set
|
||||
, packageOverrides ? (self: super: {})
|
||||
, sourceVersion
|
||||
, pythonVersion
|
||||
, sha256
|
||||
, passthruFun
|
||||
}:
|
||||
|
||||
# This version of PyPy is primarily added to speed-up translation of
|
||||
# our PyPy source build when developing that expression.
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
isPy3k = majorVersion == "3";
|
||||
passthru = passthruFun {
|
||||
inherit self sourceVersion pythonVersion packageOverrides;
|
||||
implementation = "pypy";
|
||||
libPrefix = "pypy${pythonVersion}";
|
||||
executable = "pypy${if isPy3k then "3" else ""}";
|
||||
sitePackages = "site-packages";
|
||||
hasDistutilsCxxPatch = false;
|
||||
|
||||
# Not possible to cross-compile with.
|
||||
pythonOnBuildForBuild = throw "${pname} does not support cross compilation";
|
||||
pythonOnBuildForHost = self;
|
||||
pythonOnBuildForTarget = throw "${pname} does not support cross compilation";
|
||||
pythonOnHostForHost = throw "${pname} does not support cross compilation";
|
||||
pythonOnTargetForTarget = throw "${pname} does not support cross compilation";
|
||||
};
|
||||
pname = "${passthru.executable}_prebuilt";
|
||||
version = with sourceVersion; "${major}.${minor}.${patch}";
|
||||
|
||||
majorVersion = substring 0 1 pythonVersion;
|
||||
|
||||
deps = [
|
||||
bzip2
|
||||
zlib
|
||||
openssl_1_0_2
|
||||
expat
|
||||
ncurses6
|
||||
tcl-8_5
|
||||
tk-8_5
|
||||
];
|
||||
|
||||
in with passthru; stdenv.mkDerivation {
|
||||
inherit pname version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://downloads.python.org/pypy/pypy${pythonVersion}-v${version}-linux64.tar.bz2";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
buildInputs = [ which ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/lib
|
||||
echo "Moving files to $out"
|
||||
mv -t $out bin include lib-python lib_pypy site-packages
|
||||
mv lib/libffi.so.6* $out/lib/
|
||||
|
||||
mv $out/bin/libpypy*-c.so $out/lib/
|
||||
|
||||
rm $out/bin/*.debug
|
||||
|
||||
echo "Patching binaries"
|
||||
interpreter=$(patchelf --print-interpreter $(readlink -f $(which patchelf)))
|
||||
patchelf --set-interpreter $interpreter \
|
||||
--set-rpath $out/lib \
|
||||
$out/bin/pypy*
|
||||
|
||||
pushd $out
|
||||
find {lib,lib_pypy*} -name "*.so" -exec patchelf --remove-needed libncursesw.so.6 --replace-needed libtinfow.so.6 libncursesw.so.6 {} \;
|
||||
find {lib,lib_pypy*} -name "*.so" -exec patchelf --set-rpath ${lib.makeLibraryPath deps}:$out/lib {} \;
|
||||
|
||||
echo "Removing bytecode"
|
||||
find . -name "__pycache__" -type d -depth -exec rm -rf {} \;
|
||||
popd
|
||||
|
||||
# Include a sitecustomize.py file
|
||||
cp ${../sitecustomize.py} $out/${sitePackages}/sitecustomize.py
|
||||
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
|
||||
# Check whether importing of (extension) modules functions
|
||||
installCheckPhase = let
|
||||
modules = [
|
||||
"ssl"
|
||||
"sys"
|
||||
"curses"
|
||||
] ++ optionals (!isPy3k) [
|
||||
"Tkinter"
|
||||
] ++ optionals isPy3k [
|
||||
"tkinter"
|
||||
];
|
||||
imports = concatMapStringsSep "; " (x: "import ${x}") modules;
|
||||
in ''
|
||||
echo "Testing whether we can import modules"
|
||||
$out/bin/${executable} -c '${imports}'
|
||||
'';
|
||||
|
||||
setupHook = python-setup-hook sitePackages;
|
||||
|
||||
donPatchElf = true;
|
||||
dontStrip = true;
|
||||
|
||||
inherit passthru;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://pypy.org/";
|
||||
description = "Fast, compliant alternative implementation of the Python language (${pythonVersion})";
|
||||
license = licenses.mit;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
|
||||
}
|
@ -1,21 +1,29 @@
|
||||
{ cmake, fetchFromGitHub, icu, lib, pkg-config, stdenv, enableUnicodeHelp ? true }:
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, icu
|
||||
, pkg-config
|
||||
, enableUnicodeHelp ? true
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "cxxopts";
|
||||
version = "unstable-2020-12-14";
|
||||
version = "3.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jarro2783";
|
||||
repo = name;
|
||||
rev = "2d8e17c4f88efce80e274cb03eeb902e055a91d3";
|
||||
sha256 = "0pwrac81zfqjs17g3hx8r3ds2xf04npb6mz111qjy4bx17314ib7";
|
||||
rev = "v${version}";
|
||||
sha256 = "08x7j168l1xwj0r3rv89cgghmfhsx98lpq35r3vkh504m1pd55a6";
|
||||
};
|
||||
|
||||
# CMake does not set CMAKE_LIBRARY_ARCHITECTURE variable in Nix, which breaks architecture-independent library path generation
|
||||
patches = [ ./fix-install-path.patch ];
|
||||
|
||||
buildInputs = lib.optional enableUnicodeHelp [ icu.dev ];
|
||||
cmakeFlags = [ "-DCXXOPTS_BUILD_EXAMPLES=OFF" ]
|
||||
++ lib.optional enableUnicodeHelp "-DCXXOPTS_USE_UNICODE_HELP=TRUE"
|
||||
# Due to -Wsuggest-override, remove when cxxopts is updated
|
||||
++ lib.optional stdenv.isDarwin "-DCXXOPTS_ENABLE_WARNINGS=OFF";
|
||||
++ lib.optional enableUnicodeHelp "-DCXXOPTS_USE_UNICODE_HELP=TRUE";
|
||||
nativeBuildInputs = [ cmake ] ++ lib.optional enableUnicodeHelp [ pkg-config ];
|
||||
|
||||
doCheck = true;
|
||||
|
18
pkgs/development/libraries/cxxopts/fix-install-path.patch
Normal file
18
pkgs/development/libraries/cxxopts/fix-install-path.patch
Normal file
@ -0,0 +1,18 @@
|
||||
diff --git a/cmake/cxxopts.cmake b/cmake/cxxopts.cmake
|
||||
index 46e87ba..0ead543 100644
|
||||
--- a/cmake/cxxopts.cmake
|
||||
+++ b/cmake/cxxopts.cmake
|
||||
@@ -87,7 +87,12 @@ endfunction()
|
||||
|
||||
# Helper function to ecapsulate install logic
|
||||
function(cxxopts_install_logic)
|
||||
- string(REPLACE "/${CMAKE_LIBRARY_ARCHITECTURE}" "" CMAKE_INSTALL_LIBDIR_ARCHIND "${CMAKE_INSTALL_LIBDIR}")
|
||||
+ if(CMAKE_LIBRARY_ARCHITECTURE)
|
||||
+ string(REPLACE "/${CMAKE_LIBRARY_ARCHITECTURE}" "" CMAKE_INSTALL_LIBDIR_ARCHIND "${CMAKE_INSTALL_LIBDIR}")
|
||||
+ else()
|
||||
+ # On some systems (e.g. NixOS), `CMAKE_LIBRARY_ARCHITECTURE` can be empty
|
||||
+ set(CMAKE_INSTALL_LIBDIR_ARCHIND "${CMAKE_INSTALL_LIBDIR}")
|
||||
+ endif()
|
||||
set(CXXOPTS_CMAKE_DIR "${CMAKE_INSTALL_LIBDIR_ARCHIND}/cmake/cxxopts" CACHE STRING "Installation directory for cmake files, relative to ${CMAKE_INSTALL_PREFIX}.")
|
||||
set(version_config "${PROJECT_BINARY_DIR}/cxxopts-config-version.cmake")
|
||||
set(project_config "${PROJECT_BINARY_DIR}/cxxopts-config.cmake")
|
@ -1,21 +1,31 @@
|
||||
{ lib, stdenv, fetchurl, unzip }:
|
||||
{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, autoconf-archive }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libxls";
|
||||
version = "1.6.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/libxls/libxls/releases/download/v${version}/libxls-${version}.tar.gz";
|
||||
sha256 = "sha256-XazDTZS/IRWSbIDG+2nk570u1kA9Uc/0kEGpQXL143E=";
|
||||
src = fetchFromGitHub {
|
||||
owner = "libxls";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-vjmYByk+IDBon8xGR1+oNaEQTiJK+IVpDXsG1IyVNoY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ unzip ];
|
||||
patches = [
|
||||
# Fix cross-compilation
|
||||
(fetchpatch {
|
||||
url = "https://github.com/libxls/libxls/commit/007e63c1f5e19bc73292f267c85d7dd14e9ecb38.patch";
|
||||
sha256 = "sha256-PjPHuXth4Yaq9nVfk5MYJMRo5B0R6YA1KEqgwfjF3PM=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook autoconf-archive ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Extract Cell Data From Excel xls files";
|
||||
homepage = "https://sourceforge.net/projects/libxls/";
|
||||
homepage = "https://github.com/libxls/libxls";
|
||||
license = licenses.bsd2;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ abbradar ];
|
||||
|
@ -9,13 +9,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aioharmony";
|
||||
version = "0.2.8";
|
||||
version = "0.2.9";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0adf08955810a227db489556dc3ca808e4f825a00183f613797856114c2a2a47";
|
||||
sha256 = "sha256-T30pLzPWD+5pb0ShkpNdiBFO45RdiMYgCOSg8rx+t+Y=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -15,13 +15,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "hass-nabucasa";
|
||||
version = "0.50.0";
|
||||
version = "0.51.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nabucasa";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-0E8eiHzqbxHbtAd97MbvFMRDWTu25E9x/44oNGC4mUM=";
|
||||
sha256 = "sha256-qN7AXs4hJpuP+GaxjOPR2CqKMYyDJxTrCuE5HreZnhU=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -12,14 +12,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pycognito";
|
||||
version = "2021.03.1";
|
||||
version = "2022.01.0";
|
||||
disabled = isPy27;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pvizeli";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-V3R6i1/FZrjcfRqJhczjURr/+x++iCvZ3aCK9wdEL1A=";
|
||||
sha256 = "sha256-mmlw3irMC0SFjfEinXHyoPNfTvCcO02zGyqQLj9STSY=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -16,7 +16,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "yalexs";
|
||||
version = "1.1.15";
|
||||
version = "1.1.17";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
@ -25,7 +25,7 @@ buildPythonPackage rec {
|
||||
owner = "bdraco";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-EK9jmbU3A2rNx/H8WOsZiGA7tqzg/XJkW/DV5s+2Y3U=";
|
||||
sha256 = "sha256-kCLL+0ZiraTW7swgdfS9vkLcr/s6lTccFQbC02rdNDY=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -2,7 +2,7 @@
|
||||
# Do not edit!
|
||||
|
||||
{
|
||||
version = "2021.12.8";
|
||||
version = "2021.12.9";
|
||||
components = {
|
||||
"abode" = ps: with ps; [ abodepy ];
|
||||
"accuweather" = ps: with ps; [ accuweather ];
|
||||
|
@ -193,6 +193,9 @@ let
|
||||
# Pinned due to API changes in 0.1.0
|
||||
(mkOverride "poolsense" "0.0.8" "09y4fq0gdvgkfsykpxnvmfv92dpbknnq5v82spz43ak6hjnhgcyp")
|
||||
|
||||
# Requirements for recorder not found: ['sqlalchemy==1.4.27'].
|
||||
(mkOverride "sqlalchemy" "1.4.27" "031jbd0svrvwr3n52iibp9mkwsj9wicnck45yd26da5kmsfkas6p")
|
||||
|
||||
# Pinned due to API changes in 0.4.0
|
||||
(self: super: {
|
||||
vilfo-api-client = super.vilfo-api-client.overridePythonAttrs (oldAttrs: rec {
|
||||
@ -219,19 +222,6 @@ let
|
||||
});
|
||||
})
|
||||
|
||||
# Remove with 2021.12.6 as the requirement will be 1.1.16 (at least)
|
||||
(self: super: {
|
||||
yalexs = super.yalexs.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "1.1.13";
|
||||
src = fetchFromGitHub {
|
||||
owner = "bdraco";
|
||||
repo = "yalexs";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-lnx8+VyDyO7Wg+QW+CC0FUg77Ndfjar6PLsDYwEpaCQ=";
|
||||
};
|
||||
});
|
||||
})
|
||||
|
||||
# Remove as soon the dependency is updated and pytest-httpx > 0.15
|
||||
(self: super: {
|
||||
luftdaten = super.luftdaten.overridePythonAttrs (oldAttrs: rec {
|
||||
@ -292,7 +282,7 @@ let
|
||||
extraBuildInputs = extraPackages py.pkgs;
|
||||
|
||||
# Don't forget to run parse-requirements.py after updating
|
||||
hassVersion = "2021.12.8";
|
||||
hassVersion = "2021.12.9";
|
||||
|
||||
in with py.pkgs; buildPythonApplication rec {
|
||||
pname = "homeassistant";
|
||||
@ -309,7 +299,7 @@ in with py.pkgs; buildPythonApplication rec {
|
||||
owner = "home-assistant";
|
||||
repo = "core";
|
||||
rev = version;
|
||||
hash = "sha256:HxSEXaqNHh2hSr1fmu3xpC212PXhzvnD4CwR1Ulw9ok=";
|
||||
hash = "sha256:17lh16c9kklx4q416ns12qjh1hc0g79y56kdkj1pvybblg0a07lm";
|
||||
};
|
||||
|
||||
# leave this in, so users don't have to constantly update their downstream patch handling
|
||||
|
@ -4,11 +4,11 @@ buildPythonPackage rec {
|
||||
# the frontend version corresponding to a specific home-assistant version can be found here
|
||||
# https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json
|
||||
pname = "home-assistant-frontend";
|
||||
version = "20211229.0";
|
||||
version = "20211229.1";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-2hACC2542jz1DID7nV28keVVDDBOLW1QDYTLM4S1ZJ0=";
|
||||
sha256 = "sha256-glVjJ9iOmhAIGD65PHQu9l7Wc/lr5XRya2mi20/UVgs=";
|
||||
};
|
||||
|
||||
# there is nothing to strip in this package
|
||||
|
26
pkgs/servers/irc/ergochat/default.nix
Normal file
26
pkgs/servers/irc/ergochat/default.nix
Normal file
@ -0,0 +1,26 @@
|
||||
{ buildGo117Module, fetchFromGitHub, lib, nixosTests }:
|
||||
|
||||
buildGo117Module rec {
|
||||
pname = "ergo";
|
||||
version = "2.9.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ergochat";
|
||||
repo = "ergo";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-RxsmkTfHymferS/FRW0sLnstKfvGXkW6cEb/JbeS4lc=";
|
||||
};
|
||||
|
||||
vendorSha256 = null;
|
||||
|
||||
passthru.tests.ergochat = nixosTests.ergochat;
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/ergochat/ergo/blob/v${version}/CHANGELOG.md";
|
||||
description = "A modern IRC server (daemon/ircd) written in Go";
|
||||
homepage = "https://github.com/ergochat/ergo";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ lassulus tv ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "plpgsql_check";
|
||||
version = "2.0.6";
|
||||
version = "2.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "okbob";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-M/kvfGhB2s8TvmpL7KihorVTOfwp7HmKka4IAgnIQ6M=";
|
||||
sha256 = "sha256-T6bg+yeG/xtpqJqZnR5Dt/3P/O6Mv7nkSc3wYAftmIk=";
|
||||
};
|
||||
|
||||
buildInputs = [ postgresql ];
|
||||
|
@ -86,7 +86,6 @@ stdenv.mkDerivation rec {
|
||||
communityModules = withCommunityModules;
|
||||
tests = {
|
||||
main = nixosTests.prosody;
|
||||
mysql = nixosTests.prosodyMysql;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -1,27 +1,30 @@
|
||||
{ lib, stdenv, fetchurl
|
||||
, which
|
||||
, attr, e2fsprogs
|
||||
, curl, librsync, libthreadar
|
||||
, curl, libargon2, librsync, libthreadar
|
||||
, gpgme, libgcrypt, openssl
|
||||
, bzip2, lzo, xz, zlib
|
||||
, bzip2, lz4, lzo, xz, zlib
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "2.7.1";
|
||||
version = "2.7.3";
|
||||
pname = "dar";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/dar/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-dtreitvrgX/8eL9ZLIIASHq1ZQI0z1OVOanLxdNGvu8=";
|
||||
sha256 = "sha256-w7005RdZKjP7XrO/h43yM0Lsho4MOKWLynJimD2oHwY=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [ which ];
|
||||
|
||||
buildInputs = [
|
||||
curl librsync libthreadar
|
||||
gpgme libgcrypt openssl
|
||||
bzip2 lzo xz zlib
|
||||
gpgme libargon2 libgcrypt openssl
|
||||
bzip2 lz4 lzo xz zlib
|
||||
] ++ optionals stdenv.isLinux [ attr e2fsprogs ];
|
||||
|
||||
configureFlags = [
|
||||
|
@ -1,32 +1,45 @@
|
||||
{ lib, stdenv, fetchFromGitHub, libusb1, pkg-config, ... }:
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, libusb1
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "blink1";
|
||||
version = "1.98a";
|
||||
version = "2.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "todbot";
|
||||
repo = "blink1";
|
||||
repo = "blink1-tool";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-o4pOF6Gp70AL63ih6BNOpRTCs7+qzeZrEqaR4hYDTG8=";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-xuCjPSQUQ/KOcdsie/ndecUiEt+t46m4eI33PXJoAAY=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace Makefile \
|
||||
--replace "@git submodule update --init" "true"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ libusb1 ];
|
||||
|
||||
configurePhase = ''
|
||||
cd commandline
|
||||
'';
|
||||
makeFlags = [
|
||||
"GIT_TAG=v${version}"
|
||||
"USBLIB_TYPE=HIDAPI"
|
||||
"HIDAPI_TYPE=LIBUSB"
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
PREFIX=$out make install
|
||||
'';
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
meta = {
|
||||
installFlags = [ "PREFIX=${placeholder "out"}" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Command line client for the blink(1) notification light";
|
||||
homepage = "https://blink1.thingm.com/";
|
||||
license = lib.licenses.cc-by-sa-30;
|
||||
maintainers = [ lib.maintainers.cransom ];
|
||||
platforms = lib.platforms.linux;
|
||||
license = with licenses; [ cc-by-sa-40 ];
|
||||
maintainers = with maintainers; [ cransom ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -12,13 +12,13 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "starship";
|
||||
version = "1.1.1";
|
||||
version = "1.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "starship";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Rr0HCr/uJDsBQiKJIPdEL3WOaLgMY2Nq2JGOq4dEUxQ=";
|
||||
sha256 = "sha256-5MJA8eHo1enOHlLpAOF1iDvOHCS/Nw0sc84VWu9nApE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ] ++ lib.optionals stdenv.isLinux [ pkg-config ];
|
||||
@ -35,7 +35,7 @@ rustPlatform.buildRustPackage rec {
|
||||
done
|
||||
'';
|
||||
|
||||
cargoSha256 = "sha256-UT6t1GbyON/wrIF/oXXhsT3Z61LFjggSPWKpSDHp+PI=";
|
||||
cargoSha256 = "sha256-DTQQFxj6stzlVzSdmv4J4Nsf8X/VMlwvfIumnuK0YDo=";
|
||||
|
||||
preCheck = ''
|
||||
HOME=$TMPDIR
|
||||
|
@ -1,14 +1,14 @@
|
||||
{ lib, stdenv, fetchFromGitHub, perl, gettext, pkg-config, libidn2, libiconv }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "5.5.10";
|
||||
version = "5.5.11";
|
||||
pname = "whois";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rfc1036";
|
||||
repo = "whois";
|
||||
rev = "v${version}";
|
||||
sha256 = "179hgmh9yqk8jq26ybik4cr3lgryd5p6kdwccc3r7mfssk3yp8lz";
|
||||
sha256 = "sha256-+fNld+stSniuQV2zx+Qd4s2ZSwNLmnve/tXg36MC2nM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ perl gettext pkg-config ];
|
||||
|
@ -20972,6 +20972,8 @@ with pkgs;
|
||||
gn = gn1924;
|
||||
};
|
||||
|
||||
ergochat = callPackage ../servers/irc/ergochat { };
|
||||
|
||||
etcd = etcd_3_3;
|
||||
etcd_3_3 = callPackage ../servers/etcd/3.3.nix { };
|
||||
etcd_3_4 = callPackage ../servers/etcd/3.4.nix { };
|
||||
|
@ -89,6 +89,7 @@ mapAliases ({
|
||||
rdflib-jsonld = throw "rdflib-jsonld is not compatible with rdflib 6"; # added 2021-11-05
|
||||
repeated_test = throw "repeated_test is no longer maintained"; # added 2022-01-11
|
||||
requests_toolbelt = requests-toolbelt; # added 2017-09-26
|
||||
roboschool = throw "roboschool is deprecated in favor of PyBullet and has been removed"; # added 2022-01-15
|
||||
rotate-backups = throw "rotate-backups was removed in favor of the top-level rotate-backups"; # added 2021-07-01
|
||||
ruamel_base = ruamel-base; # added 2021-11-01
|
||||
ruamel_yaml = ruamel-yaml; # added 2021-11-01
|
||||
|
Loading…
Reference in New Issue
Block a user