Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2021-08-04 00:02:01 +00:00 committed by GitHub
commit 73b7c0627f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
41 changed files with 442 additions and 201 deletions

View File

@ -132,6 +132,16 @@ runTests {
expected = [ 1 1 0 ];
};
testFunctionArgsFunctor = {
expr = functionArgs { __functor = self: { a, b }: null; };
expected = { a = false; b = false; };
};
testFunctionArgsSetFunctionArgs = {
expr = functionArgs (setFunctionArgs (args: args.x) { x = false; });
expected = { x = false; };
};
# STRINGS
testConcatMapStrings = {

View File

@ -334,7 +334,10 @@ rec {
has the same return type and semantics as builtins.functionArgs.
setFunctionArgs : (a b) Map String Bool.
*/
functionArgs = f: f.__functionArgs or (builtins.functionArgs f);
functionArgs = f:
if f ? __functor
then f.__functionArgs or (lib.functionArgs (f.__functor f))
else builtins.functionArgs f;
/* Check whether something is a function or something
annotated with function args.

View File

@ -624,6 +624,14 @@
move all files to the new directory.
</para>
</listitem>
<listitem>
<para>
Deprecated package aliases in <literal>emacs.pkgs.*</literal>
have been removed. These aliases were remnants of the old
Emacs package infrastructure. We now use exact upstream names
wherever possible.
</para>
</listitem>
</itemizedlist>
</section>
<section xml:id="sec-release-21.11-notable-changes">

View File

@ -157,6 +157,8 @@ pt-services.clipcat.enable).
- `services.uptimed` now uses `/var/lib/uptimed` as its stateDirectory instead of `/var/spool/uptimed`. Make sure to move all files to the new directory.
- Deprecated package aliases in `emacs.pkgs.*` have been removed. These aliases were remnants of the old Emacs package infrastructure. We now use exact upstream names wherever possible.
## Other Notable Changes {#sec-release-21.11-notable-changes}
- The setting [`services.openssh.logLevel`](options.html#opt-services.openssh.logLevel) `"VERBOSE"` `"INFO"`. This brings NixOS in line with upstream and other Linux distributions, and reduces log spam on servers due to bruteforcing botnets.

View File

@ -348,6 +348,7 @@ in
#mailman = 316; # removed 2019-08-30
zigbee2mqtt = 317;
# shadow = 318; # unused
hqplayer = 319;
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
@ -650,6 +651,7 @@ in
#mailman = 316; # removed 2019-08-30
zigbee2mqtt = 317;
shadow = 318;
hqplayer = 319;
# When adding a gid, make sure it doesn't match an existing
# uid. Users and groups with the same name should have equal

View File

@ -244,13 +244,15 @@
./services/amqp/rabbitmq.nix
./services/audio/alsa.nix
./services/audio/botamusique.nix
./services/audio/jack.nix
./services/audio/hqplayerd.nix
./services/audio/icecast.nix
./services/audio/jack.nix
./services/audio/jmusicbot.nix
./services/audio/liquidsoap.nix
./services/audio/mpd.nix
./services/audio/mpdscribble.nix
./services/audio/mopidy.nix
./services/audio/networkaudiod.nix
./services/audio/roon-bridge.nix
./services/audio/roon-server.nix
./services/audio/slimserver.nix

View File

@ -0,0 +1,166 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.hqplayerd;
pkg = pkgs.hqplayerd;
# XXX: This is hard-coded in the distributed binary, don't try to change it.
stateDir = "/var/lib/hqplayer";
configDir = "/etc/hqplayer";
in
{
options = {
services.hqplayerd = {
enable = mkEnableOption "HQPlayer Embedded";
licenseFile = mkOption {
type = types.nullOr types.path;
default = null;
description = ''
Path to the HQPlayer license key file.
Without this, the service will run in trial mode and restart every 30
minutes.
'';
};
auth = {
username = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
Username used for HQPlayer's WebUI.
Without this you will need to manually create the credentials after
first start by going to http://your.ip/8088/auth
'';
};
password = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
Password used for HQPlayer's WebUI.
Without this you will need to manually create the credentials after
first start by going to http://your.ip/8088/auth
'';
};
};
openFirewall = mkOption {
type = types.bool;
default = false;
description = ''
Open TCP port 8088 in the firewall for the server.
'';
};
user = mkOption {
type = types.str;
default = "hqplayer";
description = ''
User account under which hqplayerd runs.
'';
};
group = mkOption {
type = types.str;
default = "hqplayer";
description = ''
Group account under which hqplayerd runs.
'';
};
};
};
config = mkIf cfg.enable {
assertions = [
{
assertion = (cfg.auth.username != null -> cfg.auth.password != null)
&& (cfg.auth.password != null -> cfg.auth.username != null);
message = "You must set either both services.hqplayer.auth.username and password, or neither.";
}
];
environment = {
etc = {
"hqplayer/hqplayerd4-key.xml" = mkIf (cfg.licenseFile != null) { source = cfg.licenseFile; };
"modules-load.d/taudio2.conf".source = "${pkg}/etc/modules-load.d/taudio2.conf";
};
systemPackages = [ pkg ];
};
networking.firewall = mkIf cfg.openFirewall {
allowedTCPPorts = [ 8088 ];
};
services.udev.packages = [ pkg ];
systemd = {
tmpfiles.rules = [
"d ${configDir} 0755 ${cfg.user} ${cfg.group} - -"
"d ${stateDir} 0755 ${cfg.user} ${cfg.group} - -"
];
services.hqplayerd = {
description = "HQPlayer daemon";
wantedBy = [ "multi-user.target" ];
requires = [ "network-online.target" "sound.target" "systemd-udev-settle.service" ];
after = [ "network-online.target" "sound.target" "systemd-udev-settle.service" "local-fs.target" "remote-fs.target" "systemd-tmpfiles-setup.service" ];
unitConfig.ConditionPathExists = [ configDir stateDir ];
preStart =
let
blankCfg = pkgs.writeText "hqplayerd.xml" ''
<?xml version="1.0" encoding="utf-8"?>
<xml>
</xml>
'';
in
''
cp -r "${pkg}/var/lib/hqplayer/web" "${stateDir}"
chmod -R u+wX "${stateDir}/web"
if [ ! -f "${configDir}/hqplayerd.xml" ]; then
echo "creating blank config file"
install -m 0644 "${blankCfg}" "${configDir}/hqplayerd.xml"
fi
'' + optionalString (cfg.auth.username != null && cfg.auth.password != null) ''
${pkg}/bin/hqplayerd -s ${cfg.auth.username} ${cfg.auth.password}
'';
serviceConfig = {
ExecStart = "${pkg}/bin/hqplayerd";
User = cfg.user;
Group = cfg.group;
Restart = "on-failure";
RestartSec = 5;
Nice = -10;
IOSchedulingClass = "realtime";
LimitMEMLOCK = "1G";
LimitNICE = -10;
LimitRTPRIO = 98;
};
};
};
users.groups = mkIf (cfg.group == "hqplayer") {
hqplayer.gid = config.ids.gids.hqplayer;
};
users.users = mkIf (cfg.user == "hqplayer") {
hqplayer = {
description = "hqplayer daemon user";
extraGroups = [ "audio" ];
group = cfg.group;
uid = config.ids.uids.hqplayer;
};
};
};
}

View File

@ -0,0 +1,19 @@
{ config, lib, pkgs, ... }:
with lib;
let
name = "networkaudiod";
cfg = config.services.networkaudiod;
in {
options = {
services.networkaudiod = {
enable = mkEnableOption "Networkaudiod (NAA)";
};
};
config = mkIf cfg.enable {
systemd.packages = [ pkgs.networkaudiod ];
systemd.services.networkaudiod.wantedBy = [ "multi-user.target" ];
};
}

View File

@ -1,6 +1,6 @@
{ fetchurl, lib, melpaBuild, writeText }:
{ fetchurl, lib, trivialBuild, writeText }:
melpaBuild {
trivialBuild {
pname = "font-lock+";
version = "20180101.25";
@ -10,8 +10,6 @@ melpaBuild {
name = "font-lock+.el";
};
recipe = writeText "recipe" "(font-lock+ :fetcher github :repo \"\")";
meta = {
homepage = "https://melpa.org/#/font-lock+";
license = lib.licenses.gpl2Plus;

View File

@ -1,25 +1,33 @@
{ lib, pkgs }: self: with self; with lib.licenses; {
elisp-ffi = melpaBuild rec {
elisp-ffi = let
rev = "da37c516a0e59bdce63fb2dc006a231dee62a1d9";
in melpaBuild {
pname = "elisp-ffi";
version = "1.0.0";
version = "20170518.0";
commit = rev;
src = pkgs.fetchFromGitHub {
owner = "skeeto";
repo = "elisp-ffi";
rev = version;
sha256 = "0z2n3h5l5fj8wl8i1ilfzv11l3zba14sgph6gz7dx7q12cnp9j22";
inherit rev;
sha256 = "sha256-StOezQEnNTjRmjY02ub5FRh59aL6gWfw+qgboz0wF94=";
};
nativeBuildInputs = [ pkgs.pkg-config ];
buildInputs = [ pkgs.libffi ];
preBuild = "make";
preBuild = ''
mv ffi.el elisp-ffi.el
make
'';
recipe = pkgs.writeText "recipe" ''
(elisp-ffi
:repo "skeeto/elisp-ffi"
:fetcher github
:files ("ffi-glue" "ffi.el"))
:fetcher github)
'';
meta = {
@ -94,19 +102,23 @@
git-undo = callPackage ./git-undo { };
haskell-unicode-input-method = melpaBuild {
pname = "emacs-haskell-unicode-input-method";
haskell-unicode-input-method = let
rev = "d8d168148c187ed19350bb7a1a190217c2915a63";
in melpaBuild {
pname = "haskell-unicode-input-method";
version = "20110905.2307";
commit = rev;
src = pkgs.fetchFromGitHub {
owner = "roelvandijk";
repo = "emacs-haskell-unicode-input-method";
rev = "d8d168148c187ed19350bb7a1a190217c2915a63";
inherit rev;
sha256 = "09b7bg2s9aa4s8f2kdqs4xps3jxkq5wsvbi87ih8b6id38blhf78";
};
recipe = pkgs.writeText "recipe" ''
(emacs-haskell-unicode-input-method
(haskell-unicode-input-method
:repo "roelvandijk/emacs-haskell-unicode-input-method"
:fetcher github)
'';
@ -134,14 +146,19 @@
};
};
matrix-client = melpaBuild {
matrix-client = let
rev = "d2ac55293c96d4c95971ed8e2a3f6f354565c5ed";
in melpaBuild
{
pname = "matrix-client";
version = "0.3.0";
commit = rev;
src = pkgs.fetchFromGitHub {
owner = "alphapapa";
repo = "matrix-client.el";
rev = "d2ac55293c96d4c95971ed8e2a3f6f354565c5ed";
inherit rev;
sha256 = "1scfv1502yg7x4bsl253cpr6plml1j4d437vci2ggs764sh3rcqq";
};
@ -250,38 +267,4 @@
rectMark = rect-mark;
sunriseCommander = sunrise-commander;
# Legacy aliases, these try to mostly map to melpa stable because it's
# closer to the old outdated package infra.
#
# Ideally this should be dropped some time during/after 20.03
autoComplete = self.melpaStablePackages.auto-complete;
bbdb3 = self.melpaStablePackages.bbdb;
colorTheme = self.color-theme;
cryptol = self.melpaStablePackages.cryptol-mode;
d = self.melpaStablePackages.d-mode;
emacsw3m = self.w3m;
erlangMode = self.melpaStablePackages.erlang;
flymakeCursor = self.melpaStablePackages.flymake-cursor;
graphvizDot = self.melpaStablePackages.graphviz-dot-mode;
haskellMode = self.melpaStablePackages.haskell-mode;
hsc3Mode = self.hsc3-mode;
idris = self.melpaStablePackages.idris-mode;
jade = self.jade-mode;
js2 = self.melpaStablePackages.js2-mode;
loremIpsum = self.lorem-ipsum;
markdownMode = self.melpaStablePackages.markdown-mode;
maudeMode = self.maude-mode;
phpMode = self.melpaStablePackages.php-mode;
prologMode = self.prolog-mode;
proofgeneral = self.melpaStablePackages.proof-general;
proofgeneral_HEAD = self.proof-general;
rainbowDelimiters = self.melpaStablePackages.rainbow-delimiters;
sbtMode = self.melpaStablePackages.sbt-mode;
scalaMode1 = self.melpaStablePackages.scala-mode;
# scalaMode2 = null; # No clear mapping as of now
structuredHaskellMode = self.melpaStablePackages.shm;
tuaregMode = self.melpaStablePackages.tuareg;
writeGood = self.melpaStablePackages.writegood-mode;
xmlRpc = self.melpaStablePackages.xml-rpc;
}

View File

@ -325,14 +325,6 @@ let
buildInputs = old.buildInputs ++ [ pkgs.tdlib ];
nativeBuildInputs = [ pkgs.pkg-config ];
patches = [
(pkgs.fetchpatch {
name = "telega-server-bin-store-prefer.patch";
url = "https://github.com/zevlg/telega.el/commit/72550f984ca869309d197203ef7de99182d71729.patch";
sha256 = "18xvz53bygksak6h5f8cz79y83p2va15i8qz7n4s3g9gsklmkj2p";
})
];
postPatch = ''
substituteInPlace telega-customize.el \
--replace 'defcustom telega-server-command "telega-server"' \
@ -517,24 +509,7 @@ let
});
};
# Deprecated legacy aliases for backwards compat
aliases = lib.listToAttrs (lib.attrValues (lib.mapAttrs (n: v: { name = v; value = builtins.trace "Melpa attribute '${v}' is a legacy alias that will be removed in 21.05, use '${n}' instead" melpaPackages.${n}; }) (lib.filterAttrs (n: v: lib.hasAttr n melpaPackages) {
"auto-complete-clang-async" = "emacsClangCompleteAsync";
"vterm" = "emacs-libvterm";
"0xc" = "_0xc";
"2048-game" = "_2048-game";
"4clojure" = "_4clojure";
"@" = "at";
"term+" = "term-plus";
"term+key-intercept" = "term-plus-key-intercept";
"term+mux" = "term-plus-mux";
"xml+" = "xml-plus";
})));
melpaPackages = lib.mapAttrs (n: v: if lib.hasAttr n overrides then overrides.${n} else v) super;
in
melpaPackages // aliases);
in lib.mapAttrs (n: v: if lib.hasAttr n overrides then overrides.${n} else v) super);
in
generateMelpa { }

View File

@ -1,55 +0,0 @@
{ lib, stdenv, fetchFromGitHub, nix-update-script, pkg-config, meson, ninja, python3, vala
, gtk3, desktop-file-utils, gtksourceview, webkitgtk, gtkspell3, pantheon
, libgee, discount, wrapGAppsHook }:
stdenv.mkDerivation rec {
pname = "quilter";
version = "2.5.4";
src = fetchFromGitHub {
owner = "lainsce";
repo = pname;
rev = version;
sha256 = "sha256-A8Ov0rITHuMLDYTueeDO89KtxlP0pNk1pA7O4x3Q9fE=";
};
nativeBuildInputs = [
desktop-file-utils
meson
ninja
vala
pkg-config
python3
wrapGAppsHook
];
buildInputs = [
discount
gtk3
gtksourceview
gtkspell3
libgee
pantheon.elementary-icon-theme
pantheon.granite
webkitgtk
];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
'';
passthru = {
updateScript = nix-update-script {
attrPath = pname;
};
};
meta = with lib; {
description = "Focus on your writing - designed for elementary OS";
homepage = "https://github.com/lainsce/quilter";
license = licenses.gpl2Plus;
maintainers = pantheon.maintainers;
platforms = platforms.linux;
};
}

View File

@ -3,6 +3,7 @@
"""This script automatically updates chromium, google-chrome, chromedriver, and ungoogled-chromium
via upstream-info.json."""
# Usage: ./update.py [--commit]
import csv
import json
@ -22,6 +23,7 @@ DEB_URL = 'https://dl.google.com/linux/chrome/deb/pool/main/g'
BUCKET_URL = 'https://commondatastorage.googleapis.com/chromium-browser-official'
JSON_PATH = dirname(abspath(__file__)) + '/upstream-info.json'
COMMIT_MESSAGE_SCRIPT = dirname(abspath(__file__)) + '/get-commit-message.py'
def load_json(path):
@ -117,6 +119,21 @@ def channel_name_to_attr_name(channel_name):
sys.exit(1)
def get_channel_key(item):
"""Orders Chromium channels by their name."""
channel_name = item[0]
if channel_name == 'stable':
return 0
if channel_name == 'beta':
return 1
if channel_name == 'dev':
return 2
if channel_name == 'ungoogled-chromium':
return 3
print(f'Error: Unexpected channel: {channel_name}', file=sys.stderr)
sys.exit(1)
def print_updates(channels_old, channels_new):
"""Print a summary of the updates."""
print('Updates:')
@ -192,21 +209,31 @@ with urlopen(HISTORY_URL) as resp:
channels[channel_name] = channel
with open(JSON_PATH, 'w') as out:
def get_channel_key(item):
"""Orders Chromium channels by their name."""
channel_name = item[0]
if channel_name == 'stable':
return 0
if channel_name == 'beta':
return 1
if channel_name == 'dev':
return 2
if channel_name == 'ungoogled-chromium':
return 3
print(f'Error: Unexpected channel: {channel_name}', file=sys.stderr)
sys.exit(1)
sorted_channels = OrderedDict(sorted(channels.items(), key=get_channel_key))
json.dump(sorted_channels, out, indent=2)
out.write('\n')
sorted_channels = OrderedDict(sorted(channels.items(), key=get_channel_key))
if len(sys.argv) == 2 and sys.argv[1] == '--commit':
for channel_name in sorted_channels.keys():
version_old = last_channels[channel_name]['version']
version_new = sorted_channels[channel_name]['version']
if LooseVersion(version_old) < LooseVersion(version_new):
last_channels[channel_name] = sorted_channels[channel_name]
with open(JSON_PATH, 'w') as out:
json.dump(last_channels, out, indent=2)
out.write('\n')
attr_name = channel_name_to_attr_name(channel_name)
commit_message = f'{attr_name}: {version_old} -> {version_new}'
if channel_name == 'stable':
body = subprocess.check_output([COMMIT_MESSAGE_SCRIPT]).decode('utf-8')
prefix = f'chromium: TODO -> {version_new}'
if not body.startswith(prefix):
print("Error: Couldn't fetch the the release notes for the following update:")
print(commit_message)
sys.exit(1)
body = body.removeprefix(prefix)
commit_message += body
subprocess.run(['git', 'add', JSON_PATH], check=True)
subprocess.run(['git', 'commit', '--file=-'], input=commit_message.encode(), check=True)
else:
with open(JSON_PATH, 'w') as out:
json.dump(sorted_channels, out, indent=2)
out.write('\n')
print_updates(last_channels, sorted_channels)

View File

@ -31,15 +31,15 @@
}
},
"dev": {
"version": "93.0.4577.18",
"sha256": "1h1ppyizj5vbnrv11iy9vlcpcv8mgb9r8m2zmz6vp7q1ch6w0w4x",
"sha256bin64": "14cw0k4gsilybg7gbbbmck62i0prq5rm6hwqalmmmiqcldrw05mq",
"version": "94.0.4595.0",
"sha256": "0ksd7vqpbiplbg2xpm566z7p7qp57r27a3pk6ss1qz8v18490092",
"sha256bin64": "1kibyhgwcgby3hnhjdg2vrgbj4dvvbicqlcj4id9761zw1jhz8r4",
"deps": {
"gn": {
"version": "2021-07-08",
"version": "2021-07-31",
"url": "https://gn.googlesource.com/gn",
"rev": "24e2f7df92641de0351a96096fb2c490b2436bb8",
"sha256": "1lwkyhfhw0zd7daqz466n7x5cddf0danr799h4jg3s0yvd4galjl"
"rev": "eea3906f0e2a8d3622080127d2005ff214d51383",
"sha256": "1wc969jrivb502c45wdcbgh0c5888nqxla05is9bimkrk9rqppw3"
}
}
},

View File

@ -53,16 +53,16 @@ let
in
rustPlatform.buildRustPackage rec {
pname = "alacritty";
version = "0.8.0";
version = "0.9.0";
src = fetchFromGitHub {
owner = "alacritty";
repo = pname;
rev = "v${version}";
sha256 = "sha256-9pQqnsLMkzhKTs7WGhf6lac/LGot6EmJQxgFBTrHA4E=";
sha256 = "sha256-kgZEbOGmO+uRKaWR+oQBiGkBzDSuCznUyWNUoMICHhk=";
};
cargoSha256 = "sha256-NtDeXS2g+5RzKHJdDrbzL5oReS42SzuEubkfZ4gbkFc=";
cargoSha256 = "sha256-JqnYMDkagWNGliUxi5eqJN92ULsvT7Fwmah8um1xaRw=";
nativeBuildInputs = [
cmake
@ -99,6 +99,7 @@ rustPlatform.buildRustPackage rec {
ln -s $out/bin $out/Applications/Alacritty.app/Contents/MacOS
'' else ''
install -D extra/linux/Alacritty.desktop -t $out/share/applications/
install -D extra/linux/io.alacritty.Alacritty.appdata.xml -t $out/share/appdata/
install -D extra/logo/compat/alacritty-term.svg $out/share/icons/hicolor/scalable/apps/Alacritty.svg
# patchelf generates an ELF that binutils' "strip" doesn't like:

View File

@ -44,7 +44,7 @@ buildPythonApplication rec {
python3 manim.py example_scenes.py $scene -l
tail -n 20 files/Tex/*.log # Print potential LaTeX erorrs
${file}/bin/file videos/example_scenes/480p15/$scene.mp4 \
| tee | grep -F "ISO Media, MP4 Base Media v1 [IS0 14496-12:2003]"
| tee | grep -F "ISO Media, MP4 Base Media v1 [ISO 14496-12:2003]"
done
'';

View File

@ -92,9 +92,11 @@ stdenv.mkDerivation rec {
# wasm2c doesn't work with PIC
$out/bin/emcc -s WASM2C -s STANDALONE_WASM $LTO test.c
for MT in "" "-s USE_PTHREADS"; do
for RELOCATABLE in "" "-s RELOCATABLE"; do
$out/bin/emcc $RELOCATABLE $MT $LTO test.c
for BIND in "" "--bind"; do
for MT in "" "-s USE_PTHREADS"; do
for RELOCATABLE in "" "-s RELOCATABLE"; do
$out/bin/emcc $RELOCATABLE $BIND $MT $LTO test.c
done
done
done
done

View File

@ -7,11 +7,11 @@
buildPythonPackage rec {
pname = "sqlmap";
version = "1.5.7";
version = "1.5.8";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-HTayAlXehm3Azmbi+ar/Vav5bPYmGu9gflzZCwWZihw=";
sha256 = "01wyhmvg9yh5q86z7kahbvj2xnkjyvi1h2qj7clgz5yd76sh8ygn";
};
postPatch = ''

View File

@ -2,20 +2,20 @@
buildGoModule rec {
pname = "act";
version = "0.2.23";
version = "0.2.24";
src = fetchFromGitHub {
owner = "nektos";
repo = pname;
rev = "v${version}";
sha256 = "sha256-PBhlBWycAYuczfP0D+Gf1pDvrfI9gz3JyGe5FBq782Y=";
sha256 = "sha256-BWSw1yELxLDMUg2LxXuy+N0IRxLQYtVdzny1FGYVXEY=";
};
vendorSha256 = "sha256-dLIsVWN/PjcH0CUYRmn4YaF8Pczf/gaWhD3lulqGiuA=";
doCheck = false;
buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
ldflags = [ "-s" "-w" "-X main.version=${version}" ];
meta = with lib; {
description = "Run your GitHub Actions locally";

View File

@ -3,16 +3,16 @@
rustPlatform.buildRustPackage rec {
pname = "probe-run";
version = "0.2.4";
version = "0.2.5";
src = fetchFromGitHub {
owner = "knurling-rs";
repo = pname;
rev = "v${version}";
sha256 = "069f4vai1cw69xw3q7xyd81k3rklyb0bs77jfsrwq97vy7b78i92";
sha256 = "0bj5arngc49mdz1i7bbg4l7rb741x7dhalpdxrn55vzlvgbig8fv";
};
cargoSha256 = "0j5bl1sh3hcx38qckrjlfggsfsczzw2vbb3ks5x59dqakqh5fb7v";
cargoSha256 = "1kqgl1f91aa7kz1yprpyf9pl1vp4ahhw8ka5hrvfvk5i5i54pigz";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ libusb1 ]

View File

@ -32,7 +32,7 @@ stdenv.mkDerivation {
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ lua love ];
phases = "installPhase";
dontUnpack = true;
installPhase =
''

View File

@ -48,7 +48,7 @@ let
rev = rev-manual;
sha256 = sha256-manual;
};
phases = [ "unpackPhase" "patchPhase" "buildPhase" ];
dontInstall = true;
nativeBuildInputs = [ asciidoc ];
patchPhase = ''
# rsync isnt needed

View File

@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ lua love ];
phases = [ "installPhase" ];
dontUnpack = true;
installPhase =
''

View File

@ -22,7 +22,6 @@ stdenv.mkDerivation rec {
url = "http://df.zweistein.cz/soundsense/soundSense_${version}.zip";
sha256 = "1gkrs69l3xsh858yjp204ddp29m668j630akm7arssc9359wxqkk";
};
phases = [ "unpackPhase" "buildPhase" "installPhase" ];
nativeBuildInputs = [ dos2unix ];
buildPhase = ''
dos2unix soundSense.sh

View File

@ -17,7 +17,7 @@ let
sha256 = "sha256-/KFumHRkmRvsU/L1i11jG/KbqobnOEP7l4lyPMKHycA=";
};
phases = [ "installPhase" ];
dontUnpack = true;
installPhase = ''
mkdir -p "$out/share/FlightGear"

View File

@ -28,8 +28,6 @@ stdenv.mkDerivation {
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ lua love_11 zip ];
phases = [ "unpackPhase" "installPhase" ];
installPhase =
''
mkdir -p $out/bin $out/share/games/lovegames $out/share/applications

View File

@ -31,7 +31,7 @@ stdenv.mkDerivation {
nativeBuildInputs = [ lua love makeWrapper ];
phases = "installPhase";
dontUnpack = true;
installPhase =
''

View File

@ -28,8 +28,6 @@ stdenv.mkDerivation {
nativeBuildInputs = [ zip makeWrapper ];
buildInputs = [ love_0_7 ];
phases = [ "unpackPhase" "installPhase" ];
installPhase =
''
mkdir -p $out/bin $out/share/games/lovegames $out/share/applications

View File

@ -0,0 +1,31 @@
{ lib, stdenv, fetchzip, zlib }:
stdenv.mkDerivation rec {
pname = "randtype";
version = "1.13";
src = fetchzip {
url = "mirror://sourceforge/randtype/${pname}-${version}.tar.gz";
sha256 = "055xs02qwpgbkn2l57bwghbsrsysg1zhm2asp0byvjpz4sc4w1rd";
};
buildInputs = [ zlib ];
installPhase = ''
runHook preInstall
mkdir -p $out/share/man/man1 $out/bin
install -cp randtype.1.gz $out/share/man/man1
install -cps randtype $out/bin
runHook postInstall
'';
meta = with lib; {
description = "semi-random text typer";
homepage = "https://benkibbey.wordpress.com/randtype/";
maintainers = with maintainers; [ dandellion ];
license = licenses.gpl2Only;
platforms = platforms.unix;
};
}

View File

@ -27,8 +27,6 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ makeWrapper unzip ];
buildInputs = [ lua love ];
phases = [ "unpackPhase" "installPhase" ];
unpackPhase = ''
unzip -j $src
'';

View File

@ -29,7 +29,6 @@ stdenv.mkDerivation {
libpulseaudio
];
phases = [ "unpackPhase" "installPhase" ];
installPhase = ''
mkdir -p "$out/opt/Scrolls"
cp -r ../Scrolls "$out/opt/Scrolls/"

View File

@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ lua love ];
phases = "installPhase";
dontUnpack = true;
installPhase =
''

View File

@ -34,7 +34,7 @@ stdenv.mkDerivation {
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ lua love ];
phases = "installPhase";
dontUnpack = true;
installPhase =
''

View File

@ -17,11 +17,11 @@
stdenv.mkDerivation rec {
pname = "hqplayerd";
version = "4.24.2-63";
version = "4.25.0-64";
src = fetchurl {
url = "https://www.signalyst.eu/bins/${pname}/fc34/${pname}-${version}.fc34.x86_64.rpm";
sha256 = "sha256-6JUgHDO+S73n/IVQhkmC0Nw4GQVzTLtiBbz/wZiflRg=";
sha256 = "sha256-KLP7g1SQzVKu9Hnptb6s0FwmLSjhlAINJoJskja+bDM=";
};
unpackPhase = ''
@ -70,8 +70,8 @@ stdenv.mkDerivation rec {
cp ./usr/share/doc/hqplayerd/* $out/share/doc/hqplayerd
# misc service support files
mkdir -p $out/var/lib/hqplayerd
cp -r ./var/lib/hqplayer/web $out/var/lib/hqplayer
mkdir -p $out/var/lib/hqplayer
cp -r ./var/lib/hqplayer/web $out/var/lib/hqplayer/web
runHook postInstall
'';

View File

@ -0,0 +1,71 @@
{ stdenv
, autoPatchelfHook
, dpkg
, fetchurl
, lib
, alsa-lib
}:
let
inherit (stdenv.targetPlatform) system;
throwSystem = throw "Unsupported system: ${system}";
in
stdenv.mkDerivation rec {
pname = "networkaudiod";
version = "4.1.1-46";
src = {
x86_64-linux = fetchurl {
url = "https://www.signalyst.eu/bins/naa/linux/buster/${pname}_${version}_amd64.deb";
sha256 = "sha256-un5VcCnvCCS/KWtW991Rt9vz3flYilERmRNooEsKCkA=";
};
aarch64-linux = fetchurl {
url = "https://www.signalyst.eu/bins/naa/linux/buster/${pname}_${version}_arm64.deb";
sha256 = "sha256-fjSCWX9VYhVJ43N2kSqd5gfTtDJ1UiH4j5PJ9I5Skag=";
};
}.${system} or throwSystem;
unpackPhase = ''
dpkg -x $src .
'';
nativeBuildInputs = [ autoPatchelfHook dpkg ];
buildInputs = [
alsa-lib
stdenv.cc.cc.lib
];
dontConfigure = true;
dontBuild = true;
installPhase = ''
runHook preInstall
# main executable
mkdir -p $out/bin
cp ./usr/sbin/networkaudiod $out/bin
# systemd service file
mkdir -p $out/lib/systemd/system
cp ./lib/systemd/system/networkaudiod.service $out/lib/systemd/system
# documentation
mkdir -p $out/share/doc/networkaudiod
cp -r ./usr/share/doc/networkaudiod $out/share/doc/
runHook postInstall
'';
postInstall = ''
substituteInPlace $out/lib/systemd/system/networkaudiod.service \
--replace /usr/sbin/networkaudiod $out/bin/networkaudiod
'';
meta = with lib; {
homepage = "https://www.signalyst.com/index.html";
description = "Network Audio Adapter daemon";
license = licenses.unfree;
maintainers = with maintainers; [ lovesegfault ];
platforms = platforms.linux;
};
}

View File

@ -3,13 +3,13 @@
buildGoModule rec {
pname = "restic";
version = "0.12.0";
version = "0.12.1";
src = fetchFromGitHub {
owner = "restic";
repo = "restic";
rev = "v${version}";
sha256 = "07gxf56g45gj2arvdnrr9656i9ykhy1y6k6zdlni1sa3aa2x2bbf";
sha256 = "19lzccipbpxdkay60zdqfq8dgah0sbxzjcfcx285c28js2zpp85m";
};
patches = [
@ -17,7 +17,7 @@ buildGoModule rec {
./0001-Skip-testing-restore-with-permission-failure.patch
];
vendorSha256 = "14z22lmdd681rn61alpqbn3i9fn0kcc74321vjvhz2ix2mch3c1z";
vendorSha256 = "0sdswihiy4r3lw9a87xj2qm3nf28cw56yfm56mva6b8lr3vk93l6";
subPackages = [ "cmd/restic" ];

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "less";
version = "581.2";
version = "590";
src = fetchurl {
url = "https://www.greenwoodsoftware.com/${pname}/${pname}-${version}.tar.gz";
sha256 = "0fyqslvrasv19qjvqrwfwz2n7mnm93y61x9bcx09ga90mxyb8d6f";
sha256 = "044fl3izmsi8n1vqzsqdp65q0qyyn5kmsg4sk7id0mxzx15zbbba";
};
configureFlags = [ "--sysconfdir=/etc" ] # Look for sysless in /etc.
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
homepage = "https://www.greenwoodsoftware.com/less/";
description = "A more advanced file pager than more";
platforms = platforms.unix;
license = licenses.gpl3;
license = licenses.gpl3Plus;
maintainers = with maintainers; [ eelco dtzWill ];
};
}

View File

@ -8,13 +8,13 @@ let
in stdenv.mkDerivation rec {
pname = "svtplay-dl";
version = "4.1";
version = "4.2";
src = fetchFromGitHub {
owner = "spaam";
repo = "svtplay-dl";
rev = version;
sha256 = "0b0q4k5aacw2nna5higr6sk5lsdn62lw2l9lccfy5s3m530banni";
sha256 = "1bsinf2r07g8c03mcw4gprl92wmysyaa81s8wyck0c6wdq3hcsnp";
};
pythonPaths = [ cryptography pyyaml requests ];

View File

@ -682,6 +682,7 @@ mapAliases ({
qmk_firmware = throw "qmk_firmware has been removed because it was broken"; # added 2021-04-02
qr-filetransfer = throw ''"qr-filetransfer" has been renamed to "qrcp"''; # added 2020-12-02
quake3game = ioquake3; # added 2016-01-14
quilter = throw "quilter has been removed from nixpkgs, as it was unmaintained."; # added 2021-08-03
qvim = throw "qvim has been removed."; # added 2020-08-31
qweechat = throw "qweechat has been removed because it was broken"; # added 2021-03-08
qwt6 = libsForQt5.qwt; # added 2015-12-19

View File

@ -19861,6 +19861,8 @@ in
neard = callPackage ../servers/neard { };
networkaudiod = callPackage ../servers/networkaudiod { };
unit = callPackage ../servers/http/unit { };
ncdns = callPackage ../servers/dns/ncdns { };
@ -26863,8 +26865,6 @@ in
quirc = callPackage ../tools/graphics/quirc {};
quilter = callPackage ../applications/editors/quilter { };
quisk = python38Packages.callPackage ../applications/radio/quisk { };
quiterss = libsForQt514.callPackage ../applications/networking/newsreaders/quiterss {};
@ -29508,6 +29508,8 @@ in
racer = callPackage ../games/racer { };
randtype = callPackage ../games/randtype { };
redeclipse = callPackage ../games/redeclipse { };
residualvm = callPackage ../games/residualvm { };

View File

@ -169,6 +169,7 @@ let
# so we don't need to check hostPlatform != buildPlatform.
crossSystem = stdenv.hostPlatform // {
useLLVM = true;
linker = "lld";
};
};