diff --git a/lib/tests/misc.nix b/lib/tests/misc.nix
index 0d249968402d..4b2e5afc1d60 100644
--- a/lib/tests/misc.nix
+++ b/lib/tests/misc.nix
@@ -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 = {
diff --git a/lib/trivial.nix b/lib/trivial.nix
index c8ef5599ccde..7956ba4bde6f 100644
--- a/lib/trivial.nix
+++ b/lib/trivial.nix
@@ -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.
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
index 2874039e3f0c..15b4e2b4d049 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
@@ -624,6 +624,14 @@
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.
+
+
diff --git a/nixos/doc/manual/release-notes/rl-2111.section.md b/nixos/doc/manual/release-notes/rl-2111.section.md
index fe7a7326a402..c0b0cb5973b6 100644
--- a/nixos/doc/manual/release-notes/rl-2111.section.md
+++ b/nixos/doc/manual/release-notes/rl-2111.section.md
@@ -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.
diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix
index a7a31ba85768..a6839e02c4fc 100644
--- a/nixos/modules/misc/ids.nix
+++ b/nixos/modules/misc/ids.nix
@@ -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
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 9bcd8b463111..64b0c83bbae9 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -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
diff --git a/nixos/modules/services/audio/hqplayerd.nix b/nixos/modules/services/audio/hqplayerd.nix
new file mode 100644
index 000000000000..3a703c97c0f7
--- /dev/null
+++ b/nixos/modules/services/audio/hqplayerd.nix
@@ -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" ''
+
+
+
+ '';
+ 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;
+ };
+ };
+ };
+}
diff --git a/nixos/modules/services/audio/networkaudiod.nix b/nixos/modules/services/audio/networkaudiod.nix
new file mode 100644
index 000000000000..265a4e1d95d6
--- /dev/null
+++ b/nixos/modules/services/audio/networkaudiod.nix
@@ -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" ];
+ };
+}
diff --git a/pkgs/applications/editors/emacs/elisp-packages/font-lock-plus/default.nix b/pkgs/applications/editors/emacs/elisp-packages/font-lock-plus/default.nix
index fdb28f447192..3cea9ae4ef09 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/font-lock-plus/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/font-lock-plus/default.nix
@@ -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;
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
index b2a66c92aea2..00cc118a7030 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
@@ -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;
}
diff --git a/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix
index 051759cb8c74..8ea98c2c3a7f 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix
@@ -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 { }
diff --git a/pkgs/applications/editors/quilter/default.nix b/pkgs/applications/editors/quilter/default.nix
deleted file mode 100644
index 2d04ad1629c0..000000000000
--- a/pkgs/applications/editors/quilter/default.nix
+++ /dev/null
@@ -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;
- };
-}
diff --git a/pkgs/applications/networking/browsers/chromium/update.py b/pkgs/applications/networking/browsers/chromium/update.py
index d6788fa41927..4f9f53bd02ac 100755
--- a/pkgs/applications/networking/browsers/chromium/update.py
+++ b/pkgs/applications/networking/browsers/chromium/update.py
@@ -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)
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json
index a0a8fd23e6bc..1066d322bad0 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.json
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json
@@ -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"
}
}
},
diff --git a/pkgs/applications/terminal-emulators/alacritty/default.nix b/pkgs/applications/terminal-emulators/alacritty/default.nix
index e4c5eb752d73..0a23d63e3eab 100644
--- a/pkgs/applications/terminal-emulators/alacritty/default.nix
+++ b/pkgs/applications/terminal-emulators/alacritty/default.nix
@@ -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:
diff --git a/pkgs/applications/video/manim/default.nix b/pkgs/applications/video/manim/default.nix
index 0f224a5b1057..5da81eff50e6 100644
--- a/pkgs/applications/video/manim/default.nix
+++ b/pkgs/applications/video/manim/default.nix
@@ -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
'';
diff --git a/pkgs/development/compilers/emscripten/default.nix b/pkgs/development/compilers/emscripten/default.nix
index 47ae2f76b750..84520ca52e08 100644
--- a/pkgs/development/compilers/emscripten/default.nix
+++ b/pkgs/development/compilers/emscripten/default.nix
@@ -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
diff --git a/pkgs/development/python-modules/sqlmap/default.nix b/pkgs/development/python-modules/sqlmap/default.nix
index 762df0ab7e3a..e66cdd8967d0 100644
--- a/pkgs/development/python-modules/sqlmap/default.nix
+++ b/pkgs/development/python-modules/sqlmap/default.nix
@@ -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 = ''
diff --git a/pkgs/development/tools/misc/act/default.nix b/pkgs/development/tools/misc/act/default.nix
index 38520b4b3e56..88f75d70fccc 100644
--- a/pkgs/development/tools/misc/act/default.nix
+++ b/pkgs/development/tools/misc/act/default.nix
@@ -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";
diff --git a/pkgs/development/tools/rust/probe-run/default.nix b/pkgs/development/tools/rust/probe-run/default.nix
index dcbff79a3c80..4980baf85e2a 100644
--- a/pkgs/development/tools/rust/probe-run/default.nix
+++ b/pkgs/development/tools/rust/probe-run/default.nix
@@ -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 ]
diff --git a/pkgs/games/90secondportraits/default.nix b/pkgs/games/90secondportraits/default.nix
index a5b504995f79..07458cc64463 100644
--- a/pkgs/games/90secondportraits/default.nix
+++ b/pkgs/games/90secondportraits/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation {
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ lua love ];
- phases = "installPhase";
+ dontUnpack = true;
installPhase =
''
diff --git a/pkgs/games/anki/default.nix b/pkgs/games/anki/default.nix
index 6edddfeed5c7..d1def3740097 100644
--- a/pkgs/games/anki/default.nix
+++ b/pkgs/games/anki/default.nix
@@ -48,7 +48,7 @@ let
rev = rev-manual;
sha256 = sha256-manual;
};
- phases = [ "unpackPhase" "patchPhase" "buildPhase" ];
+ dontInstall = true;
nativeBuildInputs = [ asciidoc ];
patchPhase = ''
# rsync isnt needed
diff --git a/pkgs/games/duckmarines/default.nix b/pkgs/games/duckmarines/default.nix
index ca2a74391416..af34742b9fd8 100644
--- a/pkgs/games/duckmarines/default.nix
+++ b/pkgs/games/duckmarines/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ lua love ];
- phases = [ "installPhase" ];
+ dontUnpack = true;
installPhase =
''
diff --git a/pkgs/games/dwarf-fortress/soundsense.nix b/pkgs/games/dwarf-fortress/soundsense.nix
index 5202c13b5b8a..8ed1e7be1b20 100644
--- a/pkgs/games/dwarf-fortress/soundsense.nix
+++ b/pkgs/games/dwarf-fortress/soundsense.nix
@@ -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
diff --git a/pkgs/games/flightgear/default.nix b/pkgs/games/flightgear/default.nix
index 0996d4bd512b..bfbb705da387 100644
--- a/pkgs/games/flightgear/default.nix
+++ b/pkgs/games/flightgear/default.nix
@@ -17,7 +17,7 @@ let
sha256 = "sha256-/KFumHRkmRvsU/L1i11jG/KbqobnOEP7l4lyPMKHycA=";
};
- phases = [ "installPhase" ];
+ dontUnpack = true;
installPhase = ''
mkdir -p "$out/share/FlightGear"
diff --git a/pkgs/games/mari0/default.nix b/pkgs/games/mari0/default.nix
index cb3349960f02..55ef9f51d5b3 100644
--- a/pkgs/games/mari0/default.nix
+++ b/pkgs/games/mari0/default.nix
@@ -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
diff --git a/pkgs/games/mrrescue/default.nix b/pkgs/games/mrrescue/default.nix
index ae7519c948ba..2328c20ef91d 100644
--- a/pkgs/games/mrrescue/default.nix
+++ b/pkgs/games/mrrescue/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
nativeBuildInputs = [ lua love makeWrapper ];
- phases = "installPhase";
+ dontUnpack = true;
installPhase =
''
diff --git a/pkgs/games/nottetris2/default.nix b/pkgs/games/nottetris2/default.nix
index 42e5a33cad79..179673c05b63 100644
--- a/pkgs/games/nottetris2/default.nix
+++ b/pkgs/games/nottetris2/default.nix
@@ -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
diff --git a/pkgs/games/randtype/default.nix b/pkgs/games/randtype/default.nix
new file mode 100644
index 000000000000..0eaf2c092160
--- /dev/null
+++ b/pkgs/games/randtype/default.nix
@@ -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;
+ };
+}
diff --git a/pkgs/games/rimshot/default.nix b/pkgs/games/rimshot/default.nix
index 1f4efa5097bd..997da768c6d4 100644
--- a/pkgs/games/rimshot/default.nix
+++ b/pkgs/games/rimshot/default.nix
@@ -27,8 +27,6 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ makeWrapper unzip ];
buildInputs = [ lua love ];
- phases = [ "unpackPhase" "installPhase" ];
-
unpackPhase = ''
unzip -j $src
'';
diff --git a/pkgs/games/scrolls/default.nix b/pkgs/games/scrolls/default.nix
index cdeab7b10d35..fad783571c5d 100644
--- a/pkgs/games/scrolls/default.nix
+++ b/pkgs/games/scrolls/default.nix
@@ -29,7 +29,6 @@ stdenv.mkDerivation {
libpulseaudio
];
- phases = [ "unpackPhase" "installPhase" ];
installPhase = ''
mkdir -p "$out/opt/Scrolls"
cp -r ../Scrolls "$out/opt/Scrolls/"
diff --git a/pkgs/games/sienna/default.nix b/pkgs/games/sienna/default.nix
index 24f5fc088769..59f01f6a2c47 100644
--- a/pkgs/games/sienna/default.nix
+++ b/pkgs/games/sienna/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ lua love ];
- phases = "installPhase";
+ dontUnpack = true;
installPhase =
''
diff --git a/pkgs/games/vapor/default.nix b/pkgs/games/vapor/default.nix
index 710280652636..2fa7ca189270 100644
--- a/pkgs/games/vapor/default.nix
+++ b/pkgs/games/vapor/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation {
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ lua love ];
- phases = "installPhase";
+ dontUnpack = true;
installPhase =
''
diff --git a/pkgs/servers/hqplayerd/default.nix b/pkgs/servers/hqplayerd/default.nix
index 594085d422ef..76f8bde3e4ed 100644
--- a/pkgs/servers/hqplayerd/default.nix
+++ b/pkgs/servers/hqplayerd/default.nix
@@ -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
'';
diff --git a/pkgs/servers/networkaudiod/default.nix b/pkgs/servers/networkaudiod/default.nix
new file mode 100644
index 000000000000..fcf713d9fe88
--- /dev/null
+++ b/pkgs/servers/networkaudiod/default.nix
@@ -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;
+ };
+}
diff --git a/pkgs/tools/backup/restic/default.nix b/pkgs/tools/backup/restic/default.nix
index 65ff53bf677d..0cf25941e907 100644
--- a/pkgs/tools/backup/restic/default.nix
+++ b/pkgs/tools/backup/restic/default.nix
@@ -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" ];
diff --git a/pkgs/tools/misc/less/default.nix b/pkgs/tools/misc/less/default.nix
index d63861ace331..9c5a4b1568be 100644
--- a/pkgs/tools/misc/less/default.nix
+++ b/pkgs/tools/misc/less/default.nix
@@ -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 ];
};
}
diff --git a/pkgs/tools/misc/svtplay-dl/default.nix b/pkgs/tools/misc/svtplay-dl/default.nix
index 5514fd4e30f0..157b0fe63764 100644
--- a/pkgs/tools/misc/svtplay-dl/default.nix
+++ b/pkgs/tools/misc/svtplay-dl/default.nix
@@ -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 ];
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index c7a5617cb0a5..3f977123d29e 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -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
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 67179d18ffcc..31fe6ec9b0b9 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -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 { };
diff --git a/pkgs/top-level/stage.nix b/pkgs/top-level/stage.nix
index a7905d0db299..b2e717fda67c 100644
--- a/pkgs/top-level/stage.nix
+++ b/pkgs/top-level/stage.nix
@@ -169,6 +169,7 @@ let
# so we don't need to check hostPlatform != buildPlatform.
crossSystem = stdenv.hostPlatform // {
useLLVM = true;
+ linker = "lld";
};
};