diff --git a/doc/builders/packages/elm.section.md b/doc/builders/packages/elm.section.md
new file mode 100644
index 00000000000..53087c0e9de
--- /dev/null
+++ b/doc/builders/packages/elm.section.md
@@ -0,0 +1,11 @@
+# Elm {#sec-elm}
+
+To start a development environment do
+
+```ShellSession
+nix-shell -p elmPackages.elm elmPackages.elm-format
+```
+
+To update the Elm compiler, see nixpkgs/pkgs/development/compilers/elm/README.md.
+
+To package Elm applications, [read about elm2nix](https://github.com/hercules-ci/elm2nix#elm2nix).
diff --git a/doc/builders/packages/elm.xml b/doc/builders/packages/elm.xml
deleted file mode 100644
index a067f6c7c70..00000000000
--- a/doc/builders/packages/elm.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
- Elm
-
-
- To start a development environment do nix-shell -p elmPackages.elm elmPackages.elm-format
-
-
-
- To update Elm compiler, see nixpkgs/pkgs/development/compilers/elm/README.md.
-
-
-
- To package Elm applications, read about elm2nix.
-
-
diff --git a/doc/builders/packages/index.xml b/doc/builders/packages/index.xml
index ab335e24ff9..e4f8a1d3120 100644
--- a/doc/builders/packages/index.xml
+++ b/doc/builders/packages/index.xml
@@ -8,7 +8,7 @@
-
+
diff --git a/nixos/modules/config/no-x-libs.nix b/nixos/modules/config/no-x-libs.nix
index c3120c2bf30..14fe180d0bc 100644
--- a/nixos/modules/config/no-x-libs.nix
+++ b/nixos/modules/config/no-x-libs.nix
@@ -29,6 +29,7 @@ with lib;
nixpkgs.overlays = singleton (const (super: {
cairo = super.cairo.override { x11Support = false; };
dbus = super.dbus.override { x11Support = false; };
+ beam = super.beam_nox;
networkmanager-fortisslvpn = super.networkmanager-fortisslvpn.override { withGnome = false; };
networkmanager-iodine = super.networkmanager-iodine.override { withGnome = false; };
networkmanager-l2tp = super.networkmanager-l2tp.override { withGnome = false; };
diff --git a/pkgs/development/interpreters/erlang/generic-builder.nix b/pkgs/development/interpreters/erlang/generic-builder.nix
index 0db577ca6eb..538b4224909 100644
--- a/pkgs/development/interpreters/erlang/generic-builder.nix
+++ b/pkgs/development/interpreters/erlang/generic-builder.nix
@@ -3,11 +3,10 @@
# TODO: use jdk https://github.com/NixOS/nixpkgs/pull/89731
, openjdk8 ? null # javacSupport
, unixODBC ? null # odbcSupport
-, libGL ? null, libGLU ? null, wxGTK ? null, wxmac ? null, xorg ? null # wxSupport
+, libGL ? null, libGLU ? null, wxGTK ? null, wxmac ? null, xorg ? null
, parallelBuild ? false
-, systemd
+, systemd, wxSupport ? true
}:
-
{ baseName ? "erlang"
, version
, sha256 ? null
@@ -21,7 +20,7 @@
, javacSupport ? false, javacPackages ? [ openjdk8 ]
, odbcSupport ? false, odbcPackages ? [ unixODBC ]
, withSystemd ? stdenv.isLinux # systemd support in epmd
-, wxSupport ? true, wxPackages ? [ libGL libGLU wxGTK xorg.libX11 ]
+, wxPackages ? [ libGL libGLU wxGTK xorg.libX11 ]
, preUnpack ? "", postUnpack ? ""
, patches ? [], patchPhase ? "", prePatch ? "", postPatch ? ""
, configureFlags ? [], configurePhase ? "", preConfigure ? "", postConfigure ? ""
diff --git a/pkgs/development/interpreters/python/tests.nix b/pkgs/development/interpreters/python/tests.nix
index 61fc497024b..ff27ca8ec20 100644
--- a/pkgs/development/interpreters/python/tests.nix
+++ b/pkgs/development/interpreters/python/tests.nix
@@ -1,3 +1,10 @@
+# Tests for the Python interpreters, package sets and environments.
+#
+# Each Python interpreter has a `passthru.tests` which is the attribute set
+# returned by this function. For example, for Python 3 the tests are run with
+#
+# $ nix-build -A python3.tests
+#
{ stdenv
, python
, runCommand
@@ -7,6 +14,8 @@
}:
let
+ # Test whether the interpreter behaves in the different types of environments
+ # we aim to support.
environmentTests = let
envs = let
inherit python;
@@ -83,6 +92,7 @@ let
in lib.mapAttrs testfun envs;
+ # Integration tests involving the package set.
# All PyPy package builds are broken at the moment
integrationTests = lib.optionalAttrs (python.pythonAtLeast "3.7" && (!python.isPyPy)) rec {
# Before the addition of NIX_PYTHONPREFIX mypy was broken with typed packages
diff --git a/pkgs/development/ocaml-modules/diet/default.nix b/pkgs/development/ocaml-modules/diet/default.nix
index 0d4229c03ea..cd14d2a06af 100644
--- a/pkgs/development/ocaml-modules/diet/default.nix
+++ b/pkgs/development/ocaml-modules/diet/default.nix
@@ -4,6 +4,8 @@ buildDunePackage rec {
pname = "diet";
version = "0.4";
+ useDune2 = true;
+
src = fetchurl {
url =
"https://github.com/mirage/ocaml-diet/releases/download/v${version}/diet-v${version}.tbz";
diff --git a/pkgs/development/ocaml-modules/opam-core/default.nix b/pkgs/development/ocaml-modules/opam-core/default.nix
index 22c1ecdf703..3106fe83fd7 100644
--- a/pkgs/development/ocaml-modules/opam-core/default.nix
+++ b/pkgs/development/ocaml-modules/opam-core/default.nix
@@ -6,6 +6,8 @@ buildDunePackage rec {
inherit (opam) src version;
+ useDune2 = true;
+
nativeBuildInputs = [ unzip cppo ];
propagatedBuildInputs = [ ocamlgraph re ];
diff --git a/pkgs/development/ocaml-modules/parse-argv/default.nix b/pkgs/development/ocaml-modules/parse-argv/default.nix
index 64cc7c0c6b7..4bc409245ee 100644
--- a/pkgs/development/ocaml-modules/parse-argv/default.nix
+++ b/pkgs/development/ocaml-modules/parse-argv/default.nix
@@ -7,6 +7,8 @@ buildDunePackage rec {
pname = "parse-argv";
version = "0.2.0";
+ useDune2 = true;
+
minimumOCamlVersion = "4.03";
src = fetchurl {
diff --git a/pkgs/development/ocaml-modules/tyxml/default.nix b/pkgs/development/ocaml-modules/tyxml/default.nix
index 5d5e7dedd23..bf0e06507c9 100644
--- a/pkgs/development/ocaml-modules/tyxml/default.nix
+++ b/pkgs/development/ocaml-modules/tyxml/default.nix
@@ -4,6 +4,8 @@ buildDunePackage rec {
pname = "tyxml";
version = "4.4.0";
+ useDune2 = true;
+
src = fetchurl {
url = "https://github.com/ocsigen/tyxml/releases/download/${version}/tyxml-${version}.tbz";
sha256 = "0c150h2f4c4id73ickkdqkir3jya66m6c7f5jxlp4caw9bfr8qsi";
diff --git a/pkgs/development/perl-modules/Po4a/default.nix b/pkgs/development/perl-modules/Po4a/default.nix
index 94d83845e29..c89ec1619c1 100644
--- a/pkgs/development/perl-modules/Po4a/default.nix
+++ b/pkgs/development/perl-modules/Po4a/default.nix
@@ -3,10 +3,10 @@
buildPerlPackage rec {
pname = "po4a";
- version = "0.55";
+ version = "0.62";
src = fetchurl {
url = "https://github.com/mquinson/po4a/releases/download/v${version}/po4a-${version}.tar.gz";
- sha256 = "1qss4q5df3nsydsbggb7gg50bn0kdxq5wn8riqm9zwkiq6a4bifg";
+ sha256 = "0eb510a66f59de68cf7a205342036cc9fc08b39334b91f1456421a5f3359e68b";
};
nativeBuildInputs = [ docbook_xsl docbook_xsl_ns ModuleBuild ];
propagatedBuildInputs = [ TextWrapI18N LocaleGettext SGMLSpm UnicodeLineBreak PodParser YAMLTiny ];
diff --git a/pkgs/development/tools/ocaml/ocaml-top/default.nix b/pkgs/development/tools/ocaml/ocaml-top/default.nix
index a9b4218224e..6c70b046cab 100644
--- a/pkgs/development/tools/ocaml/ocaml-top/default.nix
+++ b/pkgs/development/tools/ocaml/ocaml-top/default.nix
@@ -4,6 +4,8 @@ with ocamlPackages; buildDunePackage rec {
pname = "ocaml-top";
version = "1.2.0-rc";
+ useDune2 = true;
+
src = fetchzip {
url = "https://github.com/OCamlPro/ocaml-top/archive/${version}.tar.gz";
sha256 = "1r290m9vvr25lgaanivz05h0kf4fd3h5j61wj4hpp669zffcyyb5";
diff --git a/pkgs/development/tools/ocaml/ocp-index/default.nix b/pkgs/development/tools/ocaml/ocp-index/default.nix
index 9c888e284fc..c03dbf75623 100644
--- a/pkgs/development/tools/ocaml/ocp-index/default.nix
+++ b/pkgs/development/tools/ocaml/ocp-index/default.nix
@@ -4,6 +4,8 @@ buildDunePackage rec {
pname = "ocp-index";
version = "1.2.1";
+ useDune2 = true;
+
src = fetchzip {
url = "https://github.com/OCamlPro/ocp-index/archive/${version}.tar.gz";
sha256 = "08r7mxdnxmhff37fw4hmrpjgckgi5kaiiiirwp4rmdl594z0h9c8";
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 1a78ccfaf88..78ba3328c20 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -11125,12 +11125,15 @@ in
};
beam = callPackage ./beam-packages.nix { };
+ beam_nox = callPackage ./beam-packages.nix { wxSupport = false; };
inherit (beam.interpreters)
erlang erlangR23 erlangR22 erlangR21 erlangR20 erlangR19 erlangR18
- erlang_odbc erlang_javac erlang_odbc_javac erlang_nox erlang_basho_R16B02
+ erlang_odbc erlang_javac erlang_odbc_javac erlang_basho_R16B02
elixir elixir_1_11 elixir_1_10 elixir_1_9 elixir_1_8 elixir_1_7;
+ erlang_nox = beam_nox.interpreters.erlang;
+
inherit (beam.packages.erlang)
rebar rebar3
fetchHex beamPackages
@@ -18375,7 +18378,7 @@ in
rabbitmq-server = callPackage ../servers/amqp/rabbitmq-server {
inherit (darwin.apple_sdk.frameworks) AppKit Carbon Cocoa;
- elixir = elixir_1_8;
+ elixir = beam_nox.interpreters.elixir_1_8;
erlang = erlang_nox;
};
diff --git a/pkgs/top-level/beam-packages.nix b/pkgs/top-level/beam-packages.nix
index fb331b85eb9..aae127fd04e 100644
--- a/pkgs/top-level/beam-packages.nix
+++ b/pkgs/top-level/beam-packages.nix
@@ -1,4 +1,4 @@
-{ callPackage, wxGTK30, openssl_1_0_2, buildPackages }:
+{ callPackage, wxGTK30, openssl_1_0_2, buildPackages, wxSupport ? true }:
rec {
lib = callPackage ../development/beam-modules/lib.nix { };
@@ -11,7 +11,6 @@ rec {
erlang_odbc = erlangR23_odbc;
erlang_javac = erlangR23_javac;
erlang_odbc_javac = erlangR23_odbc_javac;
- erlang_nox = erlangR23_nox;
# Standard Erlang versions, using the generic builder.
@@ -21,6 +20,7 @@ rec {
# Can be enabled since the bug has been fixed in https://github.com/erlang/otp/pull/2508
parallelBuild = true;
autoconf = buildPackages.autoconf269;
+ inherit wxSupport;
};
erlangR23_odbc = erlangR23.override { odbcSupport = true; };
erlangR23_javac = erlangR23.override { javacSupport = true; };
@@ -28,7 +28,6 @@ rec {
javacSupport = true;
odbcSupport = true;
};
- erlangR23_nox = erlangR23.override { wxSupport = false; };
# R22
erlangR22 = lib.callErlang ../development/interpreters/erlang/R22.nix {
@@ -36,6 +35,7 @@ rec {
# Can be enabled since the bug has been fixed in https://github.com/erlang/otp/pull/2508
parallelBuild = true;
autoconf = buildPackages.autoconf269;
+ inherit wxSupport;
};
erlangR22_odbc = erlangR22.override { odbcSupport = true; };
erlangR22_javac = erlangR22.override { javacSupport = true; };
@@ -43,12 +43,12 @@ rec {
javacSupport = true;
odbcSupport = true;
};
- erlangR22_nox = erlangR22.override { wxSupport = false; };
# R21
erlangR21 = lib.callErlang ../development/interpreters/erlang/R21.nix {
wxGTK = wxGTK30;
autoconf = buildPackages.autoconf269;
+ inherit wxSupport;
};
erlangR21_odbc = erlangR21.override { odbcSupport = true; };
erlangR21_javac = erlangR21.override { javacSupport = true; };
@@ -56,12 +56,12 @@ rec {
javacSupport = true;
odbcSupport = true;
};
- erlangR21_nox = erlangR21.override { wxSupport = false; };
# 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; };
@@ -69,13 +69,13 @@ rec {
javacSupport = true;
odbcSupport = true;
};
- erlangR20_nox = erlangR20.override { wxSupport = false; };
# 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; };
@@ -83,13 +83,13 @@ rec {
javacSupport = true;
odbcSupport = true;
};
- erlangR19_nox = erlangR19.override { wxSupport = false; };
# 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; };
@@ -97,12 +97,12 @@ rec {
javacSupport = true;
odbcSupport = true;
};
- erlangR18_nox = erlangR18.override { wxSupport = false; };
# Basho fork, using custom builder.
erlang_basho_R16B02 =
lib.callErlang ../development/interpreters/erlang/R16B02-basho.nix {
autoconf = buildPackages.autoconf269;
+ inherit wxSupport;
};
erlang_basho_R16B02_odbc =
erlang_basho_R16B02.override { odbcSupport = true; };