Merge master into staging-next

This commit is contained in:
github-actions[bot] 2021-05-25 00:59:01 +00:00 committed by GitHub
commit 0615bb674f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
39 changed files with 282 additions and 294 deletions

View file

@ -14,9 +14,9 @@ nixpkgs follows the [official elixir deprecation schedule](https://hexdocs.pm/el
All BEAM-related expressions are available via the top-level `beam` attribute, which includes: All BEAM-related expressions are available via the top-level `beam` attribute, which includes:
- `interpreters`: a set of compilers running on the BEAM, including multiple Erlang/OTP versions (`beam.interpreters.erlangR19`, etc), Elixir (`beam.interpreters.elixir`) and LFE (Lisp Flavoured Erlang) (`beam.interpreters.lfe`). - `interpreters`: a set of compilers running on the BEAM, including multiple Erlang/OTP versions (`beam.interpreters.erlangR22`, etc), Elixir (`beam.interpreters.elixir`) and LFE (Lisp Flavoured Erlang) (`beam.interpreters.lfe`).
- `packages`: a set of package builders (Mix and rebar3), each compiled with a specific Erlang/OTP version, e.g. `beam.packages.erlangR19`. - `packages`: a set of package builders (Mix and rebar3), each compiled with a specific Erlang/OTP version, e.g. `beam.packages.erlang22`.
The default Erlang compiler, defined by `beam.interpreters.erlang`, is aliased as `erlang`. The default BEAM package set is defined by `beam.packages.erlang` and aliased at the top level as `beamPackages`. The default Erlang compiler, defined by `beam.interpreters.erlang`, is aliased as `erlang`. The default BEAM package set is defined by `beam.packages.erlang` and aliased at the top level as `beamPackages`.
@ -86,7 +86,7 @@ let
version = "0.0.1"; version = "0.0.1";
mixEnv = "prod"; mixEnv = "prod";
mixDeps = packages.fetchMixDeps { mixFodDeps = packages.fetchMixDeps {
pname = "mix-deps-${pname}"; pname = "mix-deps-${pname}";
inherit src mixEnv version; inherit src mixEnv version;
# nix will complain and tell you the right value to replace this with # nix will complain and tell you the right value to replace this with
@ -130,7 +130,7 @@ let
in packages.mixRelease { in packages.mixRelease {
inherit src pname version mixEnv mixDeps; inherit src pname version mixEnv mixFodDeps;
# if you have build time environment variables add them here # if you have build time environment variables add them here
MY_ENV_VAR="my_value"; MY_ENV_VAR="my_value";
preInstall = '' preInstall = ''

View file

@ -5523,6 +5523,12 @@
}]; }];
name = "Las Safin"; name = "Las Safin";
}; };
l3af = {
email = "L3afMeAlon3@gmail.com";
github = "L3afMe";
githubId = 72546287;
name = "L3af";
};
laikq = { laikq = {
email = "gwen@quasebarth.de"; email = "gwen@quasebarth.de";
github = "laikq"; github = "laikq";

View file

@ -46,6 +46,12 @@
to increase the font size. to increase the font size.
</para> </para>
<para>
To install over a serial port connect with <literal>115200n8</literal>
(e.g. <command>picocom -b 115200 /dev/ttyUSB0</command>). When the
bootloader lists boot entries, select the serial console boot entry.
</para>
<section xml:id="sec-installation-booting-networking"> <section xml:id="sec-installation-booting-networking">
<title>Networking in the installer</title> <title>Networking in the installer</title>

View file

@ -395,6 +395,15 @@
which is the new stable release. OpenAFS 1.6 was removed. which is the new stable release. OpenAFS 1.6 was removed.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
The WireGuard module gained a new option
<option>networking.wireguard.interfaces.&lt;name&gt;.peers.*.dynamicEndpointRefreshSeconds</option>
that implements refreshing the IP of DNS-based endpoints periodically
(which WireGuard itself
<link xlink:href="https://lists.zx2c4.com/pipermail/wireguard/2017-November/002028.html">cannot do</link>).
</para>
</listitem>
<listitem> <listitem>
<para> <para>
MariaDB has been updated to 10.5. MariaDB has been updated to 10.5.
@ -1124,6 +1133,14 @@ environment.systemPackages = [
Nixpkgs now contains <link xlink:href="https://github.com/NixOS/nixpkgs/pull/118232">automatically packaged GNOME Shell extensions</link> from the <link xlink:href="https://extensions.gnome.org/">GNOME Extensions</link> portal. You can find them, filed by their UUID, under <literal>gnome38Extensions</literal> attribute for GNOME 3.38 and under <literal>gnome40Extensions</literal> for GNOME 40. Finally, the <literal>gnomeExtensions</literal> attribute contains extensions for the latest GNOME Shell version in Nixpkgs, listed under a more human-friendly name. The unqualified attribute scope also contains manually packaged extensions. Note that the automatically packaged extensions are provided for convenience and are not checked or guaranteed to work. Nixpkgs now contains <link xlink:href="https://github.com/NixOS/nixpkgs/pull/118232">automatically packaged GNOME Shell extensions</link> from the <link xlink:href="https://extensions.gnome.org/">GNOME Extensions</link> portal. You can find them, filed by their UUID, under <literal>gnome38Extensions</literal> attribute for GNOME 3.38 and under <literal>gnome40Extensions</literal> for GNOME 40. Finally, the <literal>gnomeExtensions</literal> attribute contains extensions for the latest GNOME Shell version in Nixpkgs, listed under a more human-friendly name. The unqualified attribute scope also contains manually packaged extensions. Note that the automatically packaged extensions are provided for convenience and are not checked or guaranteed to work.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Erlang/OTP versions older than R21 got dropped. We also dropped the cuter package, as it was purely an example of how to build a package.
We also dropped <literal>lfe_1_2</literal> as it could not build with R21+.
Moving forward, we expect to only support 3 yearly releases of OTP.
</para>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>
</section> </section>

View file

@ -198,7 +198,32 @@ let
example = "demo.wireguard.io:12913"; example = "demo.wireguard.io:12913";
type = with types; nullOr str; type = with types; nullOr str;
description = ''Endpoint IP or hostname of the peer, followed by a colon, description = ''Endpoint IP or hostname of the peer, followed by a colon,
and then a port number of the peer.''; and then a port number of the peer.
Warning for endpoints with changing IPs:
The WireGuard kernel side cannot perform DNS resolution.
Thus DNS resolution is done once by the <literal>wg</literal> userspace
utility, when setting up WireGuard. Consequently, if the IP address
behind the name changes, WireGuard will not notice.
This is especially common for dynamic-DNS setups, but also applies to
any other DNS-based setup.
If you do not use IP endpoints, you likely want to set
<option>networking.wireguard.dynamicEndpointRefreshSeconds</option>
to refresh the IPs periodically.
'';
};
dynamicEndpointRefreshSeconds = mkOption {
default = 0;
example = 5;
type = with types; int;
description = ''
Periodically re-execute the <literal>wg</literal> utility every
this many seconds in order to let WireGuard notice DNS / hostname
changes.
Setting this to <literal>0</literal> disables periodic reexecution.
'';
}; };
persistentKeepalive = mkOption { persistentKeepalive = mkOption {
@ -259,12 +284,18 @@ let
''; '';
}; };
generatePeerUnit = { interfaceName, interfaceCfg, peer }: peerUnitServiceName = interfaceName: publicKey: dynamicRefreshEnabled:
let let
keyToUnitName = replaceChars keyToUnitName = replaceChars
[ "/" "-" " " "+" "=" ] [ "/" "-" " " "+" "=" ]
[ "-" "\\x2d" "\\x20" "\\x2b" "\\x3d" ]; [ "-" "\\x2d" "\\x20" "\\x2b" "\\x3d" ];
unitName = keyToUnitName peer.publicKey; unitName = keyToUnitName publicKey;
refreshSuffix = optionalString dynamicRefreshEnabled "-refresh";
in
"wireguard-${interfaceName}-peer-${unitName}${refreshSuffix}";
generatePeerUnit = { interfaceName, interfaceCfg, peer }:
let
psk = psk =
if peer.presharedKey != null if peer.presharedKey != null
then pkgs.writeText "wg-psk" peer.presharedKey then pkgs.writeText "wg-psk" peer.presharedKey
@ -273,7 +304,12 @@ let
dst = interfaceCfg.interfaceNamespace; dst = interfaceCfg.interfaceNamespace;
ip = nsWrap "ip" src dst; ip = nsWrap "ip" src dst;
wg = nsWrap "wg" src dst; wg = nsWrap "wg" src dst;
in nameValuePair "wireguard-${interfaceName}-peer-${unitName}" dynamicRefreshEnabled = peer.dynamicEndpointRefreshSeconds != 0;
# We generate a different name (a `-refresh` suffix) when `dynamicEndpointRefreshSeconds`
# to avoid that the same service switches `Type` (`oneshot` vs `simple`),
# with the intent to make scripting more obvious.
serviceName = peerUnitServiceName interfaceName peer.publicKey dynamicRefreshEnabled;
in nameValuePair serviceName
{ {
description = "WireGuard Peer - ${interfaceName} - ${peer.publicKey}"; description = "WireGuard Peer - ${interfaceName} - ${peer.publicKey}";
requires = [ "wireguard-${interfaceName}.service" ]; requires = [ "wireguard-${interfaceName}.service" ];
@ -283,36 +319,59 @@ let
environment.WG_ENDPOINT_RESOLUTION_RETRIES = "infinity"; environment.WG_ENDPOINT_RESOLUTION_RETRIES = "infinity";
path = with pkgs; [ iproute2 wireguard-tools ]; path = with pkgs; [ iproute2 wireguard-tools ];
serviceConfig = { serviceConfig =
Type = "oneshot"; if !dynamicRefreshEnabled
RemainAfterExit = true; then
}; {
Type = "oneshot";
RemainAfterExit = true;
}
else
{
Type = "simple"; # re-executes 'wg' indefinitely
# Note that `Type = "oneshot"` services with `RemainAfterExit = true`
# cannot be used with systemd timers (see `man systemd.timer`),
# which is why `simple` with a loop is the best choice here.
# It also makes starting and stopping easiest.
};
script = let script = let
wg_setup = "${wg} set ${interfaceName} peer ${peer.publicKey}" + wg_setup = concatStringsSep " " (
optionalString (psk != null) " preshared-key ${psk}" + [ ''${wg} set ${interfaceName} peer "${peer.publicKey}"'' ]
optionalString (peer.endpoint != null) " endpoint ${peer.endpoint}" + ++ optional (psk != null) ''preshared-key "${psk}"''
optionalString (peer.persistentKeepalive != null) " persistent-keepalive ${toString peer.persistentKeepalive}" + ++ optional (peer.endpoint != null) ''endpoint "${peer.endpoint}"''
optionalString (peer.allowedIPs != []) " allowed-ips ${concatStringsSep "," peer.allowedIPs}"; ++ optional (peer.persistentKeepalive != null) ''persistent-keepalive "${toString peer.persistentKeepalive}"''
++ optional (peer.allowedIPs != []) ''allowed-ips "${concatStringsSep "," peer.allowedIPs}"''
);
route_setup = route_setup =
optionalString interfaceCfg.allowedIPsAsRoutes optionalString interfaceCfg.allowedIPsAsRoutes
(concatMapStringsSep "\n" (concatMapStringsSep "\n"
(allowedIP: (allowedIP:
"${ip} route replace ${allowedIP} dev ${interfaceName} table ${interfaceCfg.table}" ''${ip} route replace "${allowedIP}" dev "${interfaceName}" table "${interfaceCfg.table}"''
) peer.allowedIPs); ) peer.allowedIPs);
in '' in ''
${wg_setup} ${wg_setup}
${route_setup} ${route_setup}
${optionalString (peer.dynamicEndpointRefreshSeconds != 0) ''
# Re-execute 'wg' periodically to notice DNS / hostname changes.
# Note this will not time out on transient DNS failures such as DNS names
# because we have set 'WG_ENDPOINT_RESOLUTION_RETRIES=infinity'.
# Also note that 'wg' limits its maximum retry delay to 20 seconds as of writing.
while ${wg_setup}; do
sleep "${toString peer.dynamicEndpointRefreshSeconds}";
done
''}
''; '';
postStop = let postStop = let
route_destroy = optionalString interfaceCfg.allowedIPsAsRoutes route_destroy = optionalString interfaceCfg.allowedIPsAsRoutes
(concatMapStringsSep "\n" (concatMapStringsSep "\n"
(allowedIP: (allowedIP:
"${ip} route delete ${allowedIP} dev ${interfaceName} table ${interfaceCfg.table}" ''${ip} route delete "${allowedIP}" dev "${interfaceName}" table "${interfaceCfg.table}"''
) peer.allowedIPs); ) peer.allowedIPs);
in '' in ''
${wg} set ${interfaceName} peer ${peer.publicKey} remove ${wg} set "${interfaceName}" peer "${peer.publicKey}" remove
${route_destroy} ${route_destroy}
''; '';
}; };
@ -348,23 +407,25 @@ let
${values.preSetup} ${values.preSetup}
${ipPreMove} link add dev ${name} type wireguard ${ipPreMove} link add dev "${name}" type wireguard
${optionalString (values.interfaceNamespace != null && values.interfaceNamespace != values.socketNamespace) "${ipPreMove} link set ${name} netns ${ns}"} ${optionalString (values.interfaceNamespace != null && values.interfaceNamespace != values.socketNamespace) ''${ipPreMove} link set "${name}" netns "${ns}"''}
${concatMapStringsSep "\n" (ip: ${concatMapStringsSep "\n" (ip:
"${ipPostMove} address add ${ip} dev ${name}" ''${ipPostMove} address add "${ip}" dev "${name}"''
) values.ips} ) values.ips}
${wg} set ${name} private-key ${privKey} ${ ${concatStringsSep " " (
optionalString (values.listenPort != null) " listen-port ${toString values.listenPort}"} [ ''${wg} set "${name}" private-key "${privKey}"'' ]
++ optional (values.listenPort != null) ''listen-port "${toString values.listenPort}"''
)}
${ipPostMove} link set up dev ${name} ${ipPostMove} link set up dev "${name}"
${values.postSetup} ${values.postSetup}
''; '';
postStop = '' postStop = ''
${ipPostMove} link del dev ${name} ${ipPostMove} link del dev "${name}"
${values.postShutdown} ${values.postShutdown}
''; '';
}; };
@ -374,7 +435,7 @@ let
nsList = filter (ns: ns != null) [ src dst ]; nsList = filter (ns: ns != null) [ src dst ];
ns = last nsList; ns = last nsList;
in in
if (length nsList > 0 && ns != "init") then "ip netns exec ${ns} ${cmd}" else cmd; if (length nsList > 0 && ns != "init") then ''ip netns exec "${ns}" "${cmd}"'' else cmd;
in in
{ {

View file

@ -0,0 +1,25 @@
{ lib, fetchFromGitHub, buildGoModule }:
buildGoModule rec {
pname = "tsukae";
version = "unstable-2021-04-19";
src = fetchFromGitHub {
owner = "irevenko";
repo = pname;
rev = "8111dddd67e4b4f83ae4bca7d7305f6dc64e77cd";
sha256 = "sha256-1y/WYLW6/HMGmuaX2wOlQbwYn0LcgQCMb4qw8BtCgxQ=";
};
vendorSha256 = "sha256-mVhc9roT7rm9WMwck7jobjn9ykKQRgWJAqM75AmhMN0=";
runVend = true;
meta = with lib; {
description = "Show off your most used shell commands.";
homepage = "https://github.com/irevenko/tsukae";
license = licenses.mit;
mainProgram = pname;
maintainers = with maintainers; [ l3af ];
};
}

View file

@ -440,10 +440,10 @@
"owner": "DeterminateSystems", "owner": "DeterminateSystems",
"provider-source-address": "registry.terraform.io/DeterminateSystems/hydra", "provider-source-address": "registry.terraform.io/DeterminateSystems/hydra",
"repo": "terraform-provider-hydra", "repo": "terraform-provider-hydra",
"rev": "v0.1.0", "rev": "v0.1.1",
"sha256": "18c9j54fy1f2sfz317rlv8z7fb18bpc1a0baw1bgl72x5sgil5kv", "sha256": "093al7crxgjimy4nnxvb1xy9p7yc0c7gf2rgvql7y3y3n8bz5q1b",
"vendorSha256": null, "vendorSha256": null,
"version": "0.1.0" "version": "0.1.1"
}, },
"ibm": { "ibm": {
"owner": "IBM-Cloud", "owner": "IBM-Cloud",

View file

@ -2,7 +2,7 @@
"name": "element-desktop", "name": "element-desktop",
"productName": "Element", "productName": "Element",
"main": "src/electron-main.js", "main": "src/electron-main.js",
"version": "1.7.28", "version": "1.7.29",
"description": "A feature-rich client for Matrix.org", "description": "A feature-rich client for Matrix.org",
"author": "Element", "author": "Element",
"repository": { "repository": {

View file

@ -8,12 +8,12 @@
let let
executableName = "element-desktop"; executableName = "element-desktop";
version = "1.7.28"; version = "1.7.29";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "vector-im"; owner = "vector-im";
repo = "element-desktop"; repo = "element-desktop";
rev = "v${version}"; rev = "v${version}";
sha256 = "0p88gw1y37q35qqf94w3qlb84s2shm41n1pw5fgx0c0ymlzpl636"; sha256 = "sha256-nCtgVVOdjZ/OK8gMInBbNeuJadchDYUO2UQxEmcOm4s=";
}; };
in mkYarnPackage rec { in mkYarnPackage rec {
name = "element-desktop-${version}"; name = "element-desktop-${version}";

View file

@ -12,11 +12,11 @@ let
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "element-web"; pname = "element-web";
version = "1.7.28"; version = "1.7.29";
src = fetchurl { src = fetchurl {
url = "https://github.com/vector-im/element-web/releases/download/v${version}/element-v${version}.tar.gz"; url = "https://github.com/vector-im/element-web/releases/download/v${version}/element-v${version}.tar.gz";
sha256 = "1adlpwq37yzmd3fq1pzbi476p4kr5hn5b5kwyd6cr5by0gsgkgyk"; sha256 = "sha256-wFC0B9v0V3JK9sLKH7GviVO/JEjePOJ06PwRq/MVqDE=";
}; };
installPhase = '' installPhase = ''

View file

@ -1,4 +1,13 @@
{ lib, python3Packages, fetchFromGitHub, git, installShellFiles }: { lib
, fetchFromGitHub
, installShellFiles
, python3Packages
, asciidoc
, docbook_xsl
, git
, perl
, xmlto
}:
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "stgit"; pname = "stgit";
@ -11,16 +20,41 @@ python3Packages.buildPythonApplication rec {
sha256 = "sha256-gfPf1yRmx1Mn1TyCBWmjQJBgXLlZrDcew32C9o6uNYk="; sha256 = "sha256-gfPf1yRmx1Mn1TyCBWmjQJBgXLlZrDcew32C9o6uNYk=";
}; };
nativeBuildInputs = [ installShellFiles ]; nativeBuildInputs = [ installShellFiles asciidoc xmlto docbook_xsl ];
checkInputs = [ git ]; format = "other";
postInstall = '' checkInputs = [ git perl ];
installShellCompletion $out/share/stgit/completion/stg.fish
installShellCompletion --name stg $out/share/stgit/completion/stgit.bash postPatch = ''
installShellCompletion --name _stg $out/share/stgit/completion/stgit.zsh for f in Documentation/*.xsl; do
substituteInPlace $f \
--replace http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl \
${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl \
--replace http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl \
${docbook_xsl}/xml/xsl/docbook/html/docbook.xsl
done
''; '';
makeFlags = [
"prefix=${placeholder "out"}"
"MAN_BASE_URL=${placeholder "out"}/share/man"
"XMLTO_EXTRA=--skip-validation"
];
buildFlags = [ "all" "doc" ];
checkTarget = "test";
checkFlags = [ "PERL_PATH=${perl}/bin/perl" ];
installTargets = [ "install" "install-doc" ];
postInstall = ''
installShellCompletion --cmd stg \
--fish $out/share/stgit/completion/stg.fish \
--bash $out/share/stgit/completion/stgit.bash \
--zsh $out/share/stgit/completion/stgit.zsh
'';
meta = with lib; { meta = with lib; {
description = "A patch manager implemented on top of Git"; description = "A patch manager implemented on top of Git";
homepage = "https://stacked-git.github.io/"; homepage = "https://stacked-git.github.io/";

View file

@ -417,6 +417,11 @@
"https://pypi.io/packages/source/" "https://pypi.io/packages/source/"
]; ];
# Python Test-PyPI mirror
testpypi = [
"https://test.pypi.io/packages/source/"
];
# Mozilla projects. # Mozilla projects.
mozilla = [ mozilla = [
"http://download.cdn.mozilla.net/pub/mozilla.org/" "http://download.cdn.mozilla.net/pub/mozilla.org/"

View file

@ -1,7 +1,7 @@
{ lib, stdenv, fetchFromGitLab, glib, gettext, substituteAll, gnome-menus }: { lib, stdenv, fetchFromGitLab, glib, gettext, substituteAll, gnome-menus }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-shell-arcmenu"; pname = "gnome-shell-extension-arcmenu";
version = "10"; version = "10";
src = fetchFromGitLab { src = fetchFromGitLab {

View file

@ -19,7 +19,7 @@ let
}: }:
stdenv.mkDerivation { stdenv.mkDerivation {
inherit pname; pname = "gnome-shell-extension-${pname}";
version = builtins.toString version; version = builtins.toString version;
src = fetchzip { src = fetchzip {
url = "https://extensions.gnome.org/extension-data/${ url = "https://extensions.gnome.org/extension-data/${
@ -47,8 +47,11 @@ let
license = lib.licenses.gpl2Plus; # https://wiki.gnome.org/Projects/GnomeShell/Extensions/Review#Licensing license = lib.licenses.gpl2Plus; # https://wiki.gnome.org/Projects/GnomeShell/Extensions/Review#Licensing
maintainers = with lib.maintainers; [ piegames ]; maintainers = with lib.maintainers; [ piegames ];
}; };
# Store the extension's UUID, because we might need it at some places passthru = {
passthru.extensionUuid = uuid; extensionPortalSlug = pname;
# Store the extension's UUID, because we might need it at some places
extensionUuid = uuid;
};
}; };
in in
lib.makeOverridable buildGnomeExtension lib.makeOverridable buildGnomeExtension

View file

@ -5,7 +5,7 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-shell-dash-to-dock"; pname = "gnome-shell-extension-dash-to-dock";
version = "69"; version = "69";
src = fetchFromGitHub { src = fetchFromGitHub {

View file

@ -1,7 +1,7 @@
{ lib, stdenv, fetchFromGitHub, glib, gettext }: { lib, stdenv, fetchFromGitHub, glib, gettext }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-shell-dash-to-panel"; pname = "gnome-shell-extension-dash-to-panel";
version = "40"; version = "40";
src = fetchFromGitHub { src = fetchFromGitHub {

View file

@ -48,7 +48,7 @@ let
)) ))
# Map all extensions to their pname, with potential overwrites # Map all extensions to their pname, with potential overwrites
(map (extension: (map (extension:
lib.nameValuePair (extensionRenames.${extension.extensionUuid} or extension.pname) extension lib.nameValuePair (extensionRenames.${extension.extensionUuid} or extension.extensionPortalSlug) extension
)) ))
builtins.listToAttrs builtins.listToAttrs
]; ];

View file

@ -1,7 +1,7 @@
{ lib, stdenv, fetchFromGitHub, glib, gettext }: { lib, stdenv, fetchFromGitHub, glib, gettext }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-shell-emoji-selector"; pname = "gnome-shell-extension-emoji-selector";
version = "19"; version = "19";
src = fetchFromGitHub { src = fetchFromGitHub {

View file

@ -1,7 +1,7 @@
{ lib, stdenv, fetchFromGitHub, glib }: { lib, stdenv, fetchFromGitHub, glib }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-shell-freon"; pname = "gnome-shell-extension-freon";
version = "40"; version = "40";
uuid = "freon@UshakovVasilii_Github.yahoo.com"; uuid = "freon@UshakovVasilii_Github.yahoo.com";

View file

@ -18,7 +18,7 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-shell-gsconnect"; pname = "gnome-shell-extension-gsconnect";
version = "46"; version = "46";
outputs = [ "out" "installedTests" ]; outputs = [ "out" "installedTests" ];

View file

@ -1,7 +1,7 @@
{ lib, stdenv, fetchFromGitHub, glib }: { lib, stdenv, fetchFromGitHub, glib }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-shell-impatience"; pname = "gnome-shell-extension-impatience";
version = "unstable-2019-09-23"; version = "unstable-2019-09-23";
src = fetchFromGitHub { src = fetchFromGitHub {

View file

@ -3,7 +3,7 @@
, fetchFromGitHub }: , fetchFromGitHub }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "noannoyance"; pname = "gnome-shell-extension-noannoyance";
version = "unstable-2021-01-17"; version = "unstable-2021-01-17";
src = fetchFromGitHub { src = fetchFromGitHub {

View file

@ -1,7 +1,7 @@
{ lib, stdenv, substituteAll, fetchFromGitHub, glib, glib-networking, libgtop, gnome }: { lib, stdenv, substituteAll, fetchFromGitHub, glib, glib-networking, libgtop, gnome }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-shell-system-monitor"; pname = "gnome-shell-extension-system-monitor";
version = "unstable-2021-05-04"; version = "unstable-2021-05-04";
src = fetchFromGitHub { src = fetchFromGitHub {

View file

@ -77,7 +77,6 @@ let
elixir_ls = callPackage ./elixir_ls.nix { inherit elixir fetchMixDeps mixRelease; }; elixir_ls = callPackage ./elixir_ls.nix { inherit elixir fetchMixDeps mixRelease; };
lfe = lfe_1_3; lfe = lfe_1_3;
lfe_1_2 = lib'.callLFE ../interpreters/lfe/1.2.nix { inherit erlang buildRebar3 buildHex; };
lfe_1_3 = lib'.callLFE ../interpreters/lfe/1.3.nix { inherit erlang buildRebar3 buildHex; }; lfe_1_3 = lib'.callLFE ../interpreters/lfe/1.3.nix { inherit erlang buildRebar3 buildHex; };
# Non hex packages. Examples how to build Rebar/Mix packages with and # Non hex packages. Examples how to build Rebar/Mix packages with and
@ -85,9 +84,6 @@ let
hex = callPackage ./hex { }; hex = callPackage ./hex { };
webdriver = callPackage ./webdriver { }; webdriver = callPackage ./webdriver { };
relxExe = callPackage ../tools/erlang/relx-exe { }; relxExe = callPackage ../tools/erlang/relx-exe { };
# An example of Erlang/C++ package.
cuter = callPackage ../tools/erlang/cuter { };
}; };
in in
makeExtensible packages makeExtensible packages

View file

@ -14,7 +14,7 @@ mixRelease rec {
fetchSubmodules = true; fetchSubmodules = true;
}; };
mixDeps = fetchMixDeps { mixFodDeps = fetchMixDeps {
pname = "mix-deps-${pname}"; pname = "mix-deps-${pname}";
inherit src version; inherit src version;
sha256 = "0r9x223imq4j9pn9niskyaybvk7jmq8dxcyzk7kwfsi128qig1a1"; sha256 = "0r9x223imq4j9pn9niskyaybvk7jmq8dxcyzk7kwfsi128qig1a1";

View file

@ -8,15 +8,23 @@
, enableDebugInfo ? false , enableDebugInfo ? false
, mixEnv ? "prod" , mixEnv ? "prod"
, compileFlags ? [ ] , compileFlags ? [ ]
, mixDeps ? null # mix fixed output derivation dependencies
, mixFodDeps ? null
# mix dependencies generated by mix2nix
# this assumes each dependency is built by buildMix or buildRebar3
# each dependency needs to have a setup hook to add the lib path to $ERL_LIBS
# this is how mix will find dependencies
, mixNixDeps ? { }
, ... , ...
}@attrs: }@attrs:
let let
overridable = builtins.removeAttrs attrs [ "compileFlags" ]; # remove non standard attributes that cannot be coerced to strings
overridable = builtins.removeAttrs attrs [ "compileFlags" "mixNixDeps" ];
in in
assert mixNixDeps != { } -> mixFodDeps == null;
stdenv.mkDerivation (overridable // { stdenv.mkDerivation (overridable // {
nativeBuildInputs = nativeBuildInputs ++ [ erlang hex elixir makeWrapper git ]; nativeBuildInputs = nativeBuildInputs ++ [ erlang hex elixir makeWrapper git ];
buildInputs = builtins.attrValues mixNixDeps;
MIX_ENV = mixEnv; MIX_ENV = mixEnv;
MIX_DEBUG = if enableDebugInfo then 1 else 0; MIX_DEBUG = if enableDebugInfo then 1 else 0;
@ -29,17 +37,17 @@ stdenv.mkDerivation (overridable // {
postUnpack = '' postUnpack = ''
export HEX_HOME="$TEMPDIR/hex" export HEX_HOME="$TEMPDIR/hex"
export MIX_HOME="$TEMPDIR/mix" export MIX_HOME="$TEMPDIR/mix"
# compilation of the dependencies will require
# that the dependency path is writable
# thus a copy to the TEMPDIR is inevitable here
export MIX_DEPS_PATH="$TEMPDIR/deps"
# Rebar # Rebar
export REBAR_GLOBAL_CONFIG_DIR="$TEMPDIR/rebar3" export REBAR_GLOBAL_CONFIG_DIR="$TEMPDIR/rebar3"
export REBAR_CACHE_DIR="$TEMPDIR/rebar3.cache" export REBAR_CACHE_DIR="$TEMPDIR/rebar3.cache"
${lib.optionalString (mixDeps != null) '' ${lib.optionalString (mixFodDeps != null) ''
cp --no-preserve=mode -R "${mixDeps}" "$MIX_DEPS_PATH" # compilation of the dependencies will require
# that the dependency path is writable
# thus a copy to the TEMPDIR is inevitable here
export MIX_DEPS_PATH="$TEMPDIR/deps"
cp --no-preserve=mode -R "${mixFodDeps}" "$MIX_DEPS_PATH"
'' ''
} }

View file

@ -38,16 +38,6 @@ stdenv.mkDerivation rec {
postPatch = '' postPatch = ''
patchShebangs . contrib patchShebangs . contrib
for i in backtrace cmdlineargs; do
mv test/$i.jl{,.off}
touch test/$i.jl
done
rm stdlib/Sockets/test/runtests.jl && touch stdlib/Sockets/test/runtests.jl
rm stdlib/Distributed/test/runtests.jl && touch stdlib/Distributed/test/runtests.jl
# LibGit2 fails with a weird error, so we skip it as well now
rm stdlib/LibGit2/test/runtests.jl && touch stdlib/LibGit2/test/runtests.jl
sed -e 's/Invalid Content-Type:/invalid Content-Type:/g' -i ./stdlib/LibGit2/test/libgit2.jl
sed -e 's/Failed to resolve /failed to resolve /g' -i ./stdlib/LibGit2/test/libgit2.jl
''; '';
dontUseCmakeConfigure = true; dontUseCmakeConfigure = true;
@ -112,11 +102,6 @@ stdenv.mkDerivation rec {
openspecfun pcre2 lapack openspecfun pcre2 lapack
]; ];
# Julia's tests require read/write access to $HOME
preCheck = ''
export HOME="$NIX_BUILD_TOP"
'';
preBuild = '' preBuild = ''
sed -e '/^install:/s@[^ ]*/doc/[^ ]*@@' -i Makefile sed -e '/^install:/s@[^ ]*/doc/[^ ]*@@' -i Makefile
sed -e '/[$](DESTDIR)[$](docdir)/d' -i Makefile sed -e '/[$](DESTDIR)[$](docdir)/d' -i Makefile
@ -125,6 +110,13 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
# Julia's tests require read/write access to $HOME
preCheck = ''
export HOME="$NIX_BUILD_TOP"
'';
doCheck = true;
checkTarget = "test";
postInstall = '' postInstall = ''
# Symlink shared libraries from LD_LIBRARY_PATH into lib/julia, # Symlink shared libraries from LD_LIBRARY_PATH into lib/julia,
# as using a wrapper with LD_LIBRARY_PATH causes segmentation # as using a wrapper with LD_LIBRARY_PATH causes segmentation
@ -148,6 +140,8 @@ stdenv.mkDerivation rec {
license = lib.licenses.mit; license = lib.licenses.mit;
maintainers = with lib.maintainers; [ raskin rob garrison ]; maintainers = with lib.maintainers; [ raskin rob garrison ];
platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" "aarch64-linux" ]; platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" "aarch64-linux" ];
broken = stdenv.isi686; # Unfortunately, this derivation does not pass Julia's test suite. See
# https://github.com/NixOS/nixpkgs/pull/121114.
broken = true;
}; };
} }

View file

@ -18,7 +18,7 @@
, config , config
, glib , glib
, libxml2 , libxml2
, ffmpeg_3 , ffmpeg
, libxslt , libxslt
, libGL , libGL
, freetype , freetype
@ -168,7 +168,7 @@ let result = stdenv.mkDerivation rec {
* libXt is only needed on amd64 * libXt is only needed on amd64
*/ */
libraries = libraries =
[stdenv.cc.libc glib libxml2 ffmpeg_3 libxslt libGL xorg.libXxf86vm alsaLib fontconfig freetype pango gtk2 cairo gdk-pixbuf atk] ++ [stdenv.cc.libc glib libxml2 ffmpeg libxslt libGL xorg.libXxf86vm alsaLib fontconfig freetype pango gtk2 cairo gdk-pixbuf atk] ++
lib.optionals swingSupport [xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXp xorg.libXt xorg.libXrender stdenv.cc.cc]; lib.optionals swingSupport [xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXp xorg.libXt xorg.libXrender stdenv.cc.cc];
rpath = lib.strings.makeLibraryPath libraries; rpath = lib.strings.makeLibraryPath libraries;

View file

@ -1,34 +0,0 @@
{ mkDerivation, fetchpatch }:
let
rmAndPwdPatch = fetchpatch {
url = "https://github.com/erlang/otp/commit/98b8650d22e94a5ff839170833f691294f6276d0.patch";
sha256 = "0zjs7as83prgq4d5gaw2cmnajnsprdk8cjl5kklknx0pc2b3hfg5";
};
envAndCpPatch = fetchpatch {
url = "https://github.com/erlang/otp/commit/9f9841eb7327c9fe73e84e197fd2965a97b639cf.patch";
sha256 = "00fx5wc88ki3z71z5q4xzi9h3whhjw1zblpn09w995ygn07m9qhm";
};
makeOrderingPatch = fetchpatch {
url = "https://github.com/erlang/otp/commit/2f1a37f1011ff9d129bc35a6efa0ab937a2aa0e9.patch";
sha256 = "0xfa6hzxh9d7qllkyidcgh57xrrx11w65y7s1hyg52alm06l6b9n";
};
makeParallelInstallPatch = fetchpatch {
url ="https://github.com/erlang/otp/commit/de8fe86f67591dd992bae33f7451523dab36e5bd.patch";
sha256 = "1cj9fjhdng6yllajjm3gkk04ag9bwyb3n70hrb5nk6c292v8a45c";
};
in mkDerivation {
version = "18.3.4.11";
sha256 = "190xbv77v5x2g8xkzdg9bpwa1ylkc18d03ag2a0frcwcv76x53k1";
patches = [
rmAndPwdPatch
envAndCpPatch
makeOrderingPatch
makeParallelInstallPatch
];
}

View file

@ -1,19 +0,0 @@
{ mkDerivation, fetchpatch }:
mkDerivation {
version = "19.3.6.13";
sha256 = "1zbg54p7pdr8bjyrxvi7vs41vgamqa8lsynnm6ac6845q0xwpwid";
patches = [
# macOS 10.13 crypto fix from OTP-20.1.2
(fetchpatch {
name = "darwin-crypto.patch";
url = "https://github.com/erlang/otp/commit/882c90f72ba4e298aa5a7796661c28053c540a96.patch";
sha256 = "1gggzpm8ssamz6975z7px0g8qq5i4jqw81j846ikg49c5cxvi0hi";
})
];
prePatch = ''
substituteInPlace configure.in --replace '`sw_vers -productVersion`' "''${MACOSX_DEPLOYMENT_TARGET:-10.12}"
'';
}

View file

@ -1,10 +0,0 @@
{ mkDerivation }:
mkDerivation {
version = "20.3.8.26";
sha256 = "062405s59hkdkmw2dryq0qc1k03jsncj7yqisgj35x9sqpzm4w7a";
prePatch = ''
substituteInPlace configure.in --replace '`sw_vers -productVersion`' "''${MACOSX_DEPLOYMENT_TARGET:-10.12}"
'';
}

View file

@ -6,12 +6,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "adafruit-platformdetect"; pname = "adafruit-platformdetect";
version = "3.13.1"; version = "3.13.2";
src = fetchPypi { src = fetchPypi {
pname = "Adafruit-PlatformDetect"; pname = "Adafruit-PlatformDetect";
inherit version; inherit version;
sha256 = "sha256-SUK2EpOHCFWm4zV+yRtzz81B0GMcwRsVnTOh2msSsSk="; sha256 = "sha256-ke2BDpMOTcYq37Eb8DX+gIztqHKstsTmjZL8Uw5C0/Q=";
}; };
nativeBuildInputs = [ setuptools-scm ]; nativeBuildInputs = [ setuptools-scm ];

View file

@ -3,7 +3,7 @@
writeScript, common-updater-scripts, coreutils, git, gnused, nix, rebar3-nix }: writeScript, common-updater-scripts, coreutils, git, gnused, nix, rebar3-nix }:
let let
version = "3.16.0"; version = "3.16.1";
owner = "erlang"; owner = "erlang";
deps = import ./rebar-deps.nix { inherit fetchFromGitHub fetchHex; }; deps = import ./rebar-deps.nix { inherit fetchFromGitHub fetchHex; };
rebar3 = stdenv.mkDerivation rec { rebar3 = stdenv.mkDerivation rec {
@ -16,7 +16,7 @@ let
inherit owner; inherit owner;
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1yqvm37l5rn5dyg4sc2hv47930s2524qrdpnjwy3zqa27r7k5n36"; sha256 = "0dhwlx7zykf9y3znk2k8fxrq5j43jy3c3gd76k74q34p1xbajgzr";
}; };
buildInputs = [ erlang ]; buildInputs = [ erlang ];

View file

@ -1,46 +0,0 @@
{ lib, stdenv, autoreconfHook, which, writeText, makeWrapper, fetchFromGitHub, erlang
, z3, python }:
stdenv.mkDerivation rec {
pname = "cuter";
version = "0.1";
src = fetchFromGitHub {
owner = "aggelgian";
repo = "cuter";
rev = "v${version}";
sha256 = "1ax1pj6ji4w2mg3p0nh2lzmg3n9mgfxk4cf07pll51yrcfpfrnfv";
};
setupHook = writeText "setupHook.sh" ''
addToSearchPath ERL_LIBS "$1/lib/erlang/lib/"
'';
nativeBuildInputs = [ autoreconfHook makeWrapper which ];
buildInputs = [ python python.pkgs.setuptools z3.python erlang ];
buildFlags = [ "PWD=$(out)/lib/erlang/lib/cuter-${version}" "cuter_target" ];
configurePhase = ''
autoconf
./configure --prefix $out
'';
installPhase = ''
mkdir -p "$out/lib/erlang/lib/cuter-${version}"
mkdir -p "$out/bin"
cp -r * "$out/lib/erlang/lib/cuter-${version}"
cp cuter "$out/bin/cuter"
wrapProgram $out/bin/cuter \
--prefix PATH : "${python}/bin" \
--suffix PYTHONPATH : "${z3}/${python.sitePackages}" \
--suffix ERL_LIBS : "$out/lib/erlang/lib"
'';
meta = {
description = "A concolic testing tool for the Erlang functional programming language";
license = lib.licenses.gpl3;
homepage = "https://github.com/aggelgian/cuter";
maintainers = with lib.maintainers; [ ericbmerritt ];
platforms = with lib.platforms; unix;
};
}

View file

@ -1,22 +0,0 @@
From 29c0b393283395c69ecdd747e960301e95c93bcf Mon Sep 17 00:00:00 2001
From: Felix Rath <felixm.rath@gmail.com>
Date: Sat, 15 May 2021 13:07:38 +0200
Subject: [PATCH] add missing <stdexcept> import
`std::logic_error` is used in this file, which resides in `<stdexcept>`, but was not imported before. This caused the build to fail, see, e.g., https://hydra.nixos.org/build/141997371/log.
---
src/algo/crypt/lcg.cc | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/algo/crypt/lcg.cc b/src/algo/crypt/lcg.cc
index 6c2a7945..66630a08 100644
--- a/src/algo/crypt/lcg.cc
+++ b/src/algo/crypt/lcg.cc
@@ -17,6 +17,7 @@
#include "algo/crypt/lcg.h"
#include <functional>
+#include <stdexcept>
using namespace au;
using namespace au::algo::crypt;

View file

@ -1,9 +1,9 @@
{ lib, stdenv, fetchFromGitHub, cmake, makeWrapper, boost, libpng, libjpeg, zlib { lib, stdenv, fetchFromGitHub, cmake, makeWrapper, boost, libpng, libiconv
, openssl, libwebp, catch }: , libjpeg, zlib, openssl, libwebp, catch }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "arc_unpacker-unstable"; pname = "arc_unpacker";
version = "2019-01-28"; version = "unstable-2021-05-17";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "vn-tools"; owner = "vn-tools";
@ -11,19 +11,13 @@ stdenv.mkDerivation rec {
# Since the latest release (0.11) doesn't build, we've opened an upstream # Since the latest release (0.11) doesn't build, we've opened an upstream
# issue in https://github.com/vn-tools/arc_unpacker/issues/187 to ask if a # issue in https://github.com/vn-tools/arc_unpacker/issues/187 to ask if a
# a new release is upcoming # a new release is upcoming
rev = "b9843a13e2b67a618020fc12918aa8d7697ddfd5"; rev = "9c2781fcf3ead7641e873b65899f6abeeabb2fc8";
sha256 = "0wpl30569cip3im40p3n22s11x0172a3axnzwmax62aqlf8kdy14"; sha256 = "1xxrc9nww0rla3yh10z6glv05ax4rynwwbd0cdvkp7gyqzrv97xp";
}; };
nativeBuildInputs = [ cmake makeWrapper catch ]; nativeBuildInputs = [ cmake makeWrapper catch ];
buildInputs = [ boost libpng libjpeg zlib openssl libwebp ]; buildInputs = [ boost libpng libjpeg zlib openssl libwebp ]
++ lib.optionals stdenv.isDarwin [ libiconv ];
patches = [
# Add a missing `<stdexcept>` import that caused the build to fail.
# Failure: https://hydra.nixos.org/build/141997371/log
# Also submitted as an upstream PR: https://github.com/vn-tools/arc_unpacker/pull/194
./add-missing-import.patch
];
postPatch = '' postPatch = ''
cp ${catch}/include/catch/catch.hpp tests/test_support/catch.h cp ${catch}/include/catch/catch.hpp tests/test_support/catch.h
@ -51,12 +45,14 @@ stdenv.mkDerivation rec {
runHook postInstall runHook postInstall
''; '';
doCheck = true; # A few tests fail on aarch64
doCheck = !stdenv.isAarch64;
meta = with lib; { meta = with lib; {
description = "A tool to extract files from visual novel archives"; description = "A tool to extract files from visual novel archives";
homepage = "https://github.com/vn-tools/arc_unpacker"; homepage = "https://github.com/vn-tools/arc_unpacker";
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
maintainers = with maintainers; [ midchildan ]; maintainers = with maintainers; [ midchildan ];
platforms = platforms.all;
}; };
} }

View file

@ -1,22 +1,34 @@
{ lib, fetchFromGitHub, rustPlatform, libsodium, libseccomp, sqlite, pkg-config { lib
, fetchFromGitHub
, rustPlatform
, libsodium
, libseccomp
, sqlite
, pkg-config
}: }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "sn0int"; pname = "sn0int";
version = "0.20.1"; version = "0.21.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "kpcyrd"; owner = "kpcyrd";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-vnSpItch9RDUyYxERKRwYPmRLwRG9gAI7iIY+7iRs1w="; sha256 = "sha256-LjNOaqYGlhF0U+YxoLLmmXgxPa8f+t9BSm+qO23waaI=";
}; };
cargoSha256 = "sha256-qgOZxuzAeDgT93TccfnVTj3OQzalHfude0ETTVMM2Pk="; cargoSha256 = "sha256-ruK+qDIqrltNcErBnrcHdPfVKmwPwiPfq42A/el206c=";
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [
pkg-config
];
buildInputs = [ libsodium libseccomp sqlite ]; buildInputs = [
libsodium
libseccomp
sqlite
];
# One of the dependencies (chrootable-https) tries to read "/etc/resolv.conf" # One of the dependencies (chrootable-https) tries to read "/etc/resolv.conf"
# in "checkPhase", hence fails in sandbox of "nix". # in "checkPhase", hence fails in sandbox of "nix".

View file

@ -12038,7 +12038,7 @@ in
beam_nox = callPackage ./beam-packages.nix { wxSupport = false; }; beam_nox = callPackage ./beam-packages.nix { wxSupport = false; };
inherit (beam.interpreters) inherit (beam.interpreters)
erlang erlangR24 erlangR23 erlangR22 erlangR21 erlangR20 erlangR19 erlangR18 erlang erlangR24 erlangR23 erlangR22 erlangR21
erlang_odbc erlang_javac erlang_odbc_javac erlang_basho_R16B02 erlang_odbc erlang_javac erlang_odbc_javac erlang_basho_R16B02
elixir elixir_1_12 elixir_1_11 elixir_1_10 elixir_1_9 elixir_1_8 elixir_1_7 elixir elixir_1_12 elixir_1_11 elixir_1_10 elixir_1_9 elixir_1_8 elixir_1_7
elixir_ls; elixir_ls;
@ -12051,8 +12051,6 @@ in
fetchHex beamPackages fetchHex beamPackages
relxExe; relxExe;
inherit (beam.packages.erlangR19) cuter lfe_1_2;
inherit (beam.packages.erlangR21) lfe lfe_1_3; inherit (beam.packages.erlangR21) lfe lfe_1_3;
groovy = callPackage ../development/interpreters/groovy { }; groovy = callPackage ../development/interpreters/groovy { };
@ -19875,7 +19873,7 @@ in
xwayland = callPackage ../servers/x11/xorg/xwayland.nix { }; xwayland = callPackage ../servers/x11/xorg/xwayland.nix { };
yaws = callPackage ../servers/http/yaws { yaws = callPackage ../servers/http/yaws {
erlang = erlangR18; erlang = erlangR21;
}; };
youtrack = callPackage ../servers/jetbrains/youtrack.nix { }; youtrack = callPackage ../servers/jetbrains/youtrack.nix { };
@ -31503,6 +31501,8 @@ in
python = python3; python = python3;
}; };
tsukae = callPackage ../applications/misc/tsukae { };
tsung = callPackage ../applications/networking/tsung {}; tsung = callPackage ../applications/networking/tsung {};
bcompare = libsForQt5.callPackage ../applications/version-management/bcompare {}; bcompare = libsForQt5.callPackage ../applications/version-management/bcompare {};

View file

@ -1,4 +1,4 @@
{ callPackage, wxGTK30, openssl_1_0_2, buildPackages, wxSupport ? true }: { callPackage, wxGTK30, buildPackages, wxSupport ? true }:
rec { rec {
lib = callPackage ../development/beam-modules/lib.nix { }; lib = callPackage ../development/beam-modules/lib.nix { };
@ -72,47 +72,6 @@ rec {
odbcSupport = true; odbcSupport = true;
}; };
# R20
erlangR20 = lib.callErlang ../development/interpreters/erlang/R20.nix {
wxGTK = wxGTK30;
autoconf = buildPackages.autoconf269;
inherit wxSupport;
};
erlangR20_odbc = erlangR20.override { odbcSupport = true; };
erlangR20_javac = erlangR20.override { javacSupport = true; };
erlangR20_odbc_javac = erlangR20.override {
javacSupport = true;
odbcSupport = true;
};
# R19
erlangR19 = lib.callErlang ../development/interpreters/erlang/R19.nix {
wxGTK = wxGTK30;
openssl = openssl_1_0_2;
autoconf = buildPackages.autoconf269;
inherit wxSupport;
};
erlangR19_odbc = erlangR19.override { odbcSupport = true; };
erlangR19_javac = erlangR19.override { javacSupport = true; };
erlangR19_odbc_javac = erlangR19.override {
javacSupport = true;
odbcSupport = true;
};
# R18
erlangR18 = lib.callErlang ../development/interpreters/erlang/R18.nix {
wxGTK = wxGTK30;
openssl = openssl_1_0_2;
autoconf = buildPackages.autoconf269;
inherit wxSupport;
};
erlangR18_odbc = erlangR18.override { odbcSupport = true; };
erlangR18_javac = erlangR18.override { javacSupport = true; };
erlangR18_odbc_javac = erlangR18.override {
javacSupport = true;
odbcSupport = true;
};
# Basho fork, using custom builder. # Basho fork, using custom builder.
erlang_basho_R16B02 = erlang_basho_R16B02 =
lib.callErlang ../development/interpreters/erlang/R16B02-basho.nix { lib.callErlang ../development/interpreters/erlang/R16B02-basho.nix {
@ -128,7 +87,7 @@ rec {
inherit (packages.erlang) inherit (packages.erlang)
elixir elixir_1_12 elixir_1_11 elixir_1_10 elixir_1_9 elixir_1_8 elixir_1_7 elixir_ls; elixir elixir_1_12 elixir_1_11 elixir_1_10 elixir_1_9 elixir_1_8 elixir_1_7 elixir_ls;
inherit (packages.erlang) lfe lfe_1_2 lfe_1_3; inherit (packages.erlang) lfe lfe_1_3;
}; };
# Helper function to generate package set with a specific Erlang version. # Helper function to generate package set with a specific Erlang version.
@ -145,8 +104,5 @@ rec {
erlangR23 = packagesWith interpreters.erlangR23; erlangR23 = packagesWith interpreters.erlangR23;
erlangR22 = packagesWith interpreters.erlangR22; erlangR22 = packagesWith interpreters.erlangR22;
erlangR21 = packagesWith interpreters.erlangR21; erlangR21 = packagesWith interpreters.erlangR21;
erlangR20 = packagesWith interpreters.erlangR20;
erlangR19 = packagesWith interpreters.erlangR19;
erlangR18 = packagesWith interpreters.erlangR18;
}; };
} }