Merge master into staging-next

authored by github-actions[bot] and committed by GitHub ca7a3ad2 a2e621d2

+173 -47
+26
doc/languages-frameworks/ocaml.section.md
··· 1 1 # OCaml {#sec-language-ocaml} 2 2 3 + ## User guide {#sec-language-ocaml-user-guide} 4 + 5 + OCaml libraries are available in attribute sets of the form `ocaml-ng.ocamlPackages_X_XX` where X is to be replaced with the desired compiler version. For example, ocamlgraph compiled with OCaml 4.12 can be found in `ocaml-ng.ocamlPackages_4_12.ocamlgraph`. The compiler itself is also located in this set, under the name `ocaml`. 6 + 7 + If you don't care about the exact compiler version, `ocamlPackages` is a top-level alias pointing to a recent version of OCaml. 8 + 9 + OCaml applications are usually available top-level, and not inside `ocamlPackages`. Notable exceptions are build tools that must be built with the same compiler version as the compiler you intend to use like `dune` or `ocaml-lsp`. 10 + 11 + To open a shell able to build a typical OCaml project, put the dependencies in `buildInputs` and add `ocamlPackages.ocaml` and `ocamlPackages.findlib` to `nativeBuildInputs` at least. 12 + For example: 13 + ```nix 14 + let 15 + pkgs = import <nixpkgs> {}; 16 + # choose the ocaml version you want to use 17 + ocamlPackages = pkgs.ocaml-ng.ocamlPackages_4_12; 18 + in 19 + pkgs.mkShell { 20 + # build tools 21 + nativeBuildInputs = with ocamlPackages; [ ocaml findlib dune_2 ocaml-lsp ]; 22 + # dependencies 23 + buildInputs = with ocamlPackages; [ ocamlgraph ]; 24 + } 25 + ``` 26 + 27 + ## Packaging guide {#sec-language-ocaml-packaging} 28 + 3 29 OCaml libraries should be installed in `$(out)/lib/ocaml/${ocaml.version}/site-lib/`. Such directories are automatically added to the `$OCAMLPATH` environment variable when building another package that depends on them or when opening a `nix-shell`. 4 30 5 31 Given that most of the OCaml ecosystem is now built with dune, nixpkgs includes a convenience build support function called `buildDunePackage` that will build an OCaml package using dune, OCaml and findlib and any additional dependencies provided as `buildInputs` or `propagatedBuildInputs`.
+2 -2
pkgs/applications/misc/corectrl/default.nix
··· 21 21 22 22 stdenv.mkDerivation rec{ 23 23 pname = "corectrl"; 24 - version = "1.1.4"; 24 + version = "1.2.2"; 25 25 26 26 src = fetchFromGitLab { 27 27 owner = "corectrl"; 28 28 repo = "corectrl"; 29 29 rev = "v${version}"; 30 - sha256 = "sha256-o8u9WnkK/6VZ+wlJ9I5Ti6ADjV9VXraRGpSWkDQv5JQ="; 30 + sha256 = "1zp523cgvmfjc42wx1f1jh5q3jnsnm833m2xnbbwmfrmhrzh5269"; 31 31 }; 32 32 33 33 nativeBuildInputs = [
+2 -2
pkgs/applications/networking/instant-messengers/zoom-us/default.nix
··· 28 28 }: 29 29 30 30 let 31 - version = "5.8.3.145"; 31 + version = "5.8.4.210"; 32 32 srcs = { 33 33 x86_64-linux = fetchurl { 34 34 url = "https://zoom.us/client/${version}/zoom_x86_64.pkg.tar.xz"; 35 - sha256 = "1p4agpbcpk95r04m775dr17fmlm18vxq9mb65pyfbhvsd1ypw6kr"; 35 + sha256 = "1qjr35wg1jk6a6c958s0hbgqqczq789iim77s02yqpy5kyjbnn1n"; 36 36 }; 37 37 }; 38 38
+54
pkgs/applications/science/logic/kissat/default.nix
··· 1 + { lib, stdenv, fetchFromGitHub 2 + , drat-trim, p7zip 3 + }: 4 + 5 + stdenv.mkDerivation rec { 6 + pname = "kissat"; 7 + version = "2.0.1"; 8 + 9 + src = fetchFromGitHub { 10 + owner = "arminbiere"; 11 + repo = "kissat"; 12 + # https://github.com/arminbiere/kissat/issues/18 13 + rev = "abfa45fb782fa3b7c6e2eb6b939febe74d7270b7"; 14 + sha256 = "06pbmkjxgf2idhsrd1yzvbxr2wf8l06pjb38bzbygm6n9ami89b8"; 15 + }; 16 + 17 + outputs = [ "out" "dev" "lib" ]; 18 + 19 + checkInputs = [ drat-trim p7zip ]; 20 + doCheck = true; 21 + 22 + # 'make test' assumes that /etc/passwd is not writable. 23 + patches = [ ./writable-passwd-is-ok.patch ]; 24 + 25 + # the configure script is not generated by autotools and does not accept the 26 + # arguments that the default configurePhase passes like --prefix and --libdir 27 + dontAddPrefix = true; 28 + setOutputFlags = false; 29 + 30 + installPhase = '' 31 + runHook preInstall 32 + 33 + install -Dm0755 build/kissat "$out/bin/kissat" 34 + install -Dm0644 src/kissat.h "$dev/include/kissat.h" 35 + install -Dm0644 build/libkissat.a "$lib/lib/libkissat.a" 36 + mkdir -p "$out/share/doc/kissat/" 37 + install -Dm0644 {LICEN?E,README*,VERSION} "$out/share/doc/kissat/" 38 + 39 + runHook postInstall 40 + ''; 41 + 42 + meta = with lib; { 43 + description = "A 'keep it simple and clean bare metal SAT solver' written in C"; 44 + longDescription = '' 45 + Kissat is a "keep it simple and clean bare metal SAT solver" written in C. 46 + It is a port of CaDiCaL back to C with improved data structures, 47 + better scheduling of inprocessing and optimized algorithms and implementation. 48 + ''; 49 + maintainers = with maintainers; [ shnarazk ]; 50 + platforms = platforms.unix; 51 + license = licenses.mit; 52 + homepage = "http://fmv.jku.at/kissat"; 53 + }; 54 + }
+13
pkgs/applications/science/logic/kissat/writable-passwd-is-ok.patch
··· 1 + diff --git a/test/testfile.c b/test/testfile.c 2 + index cb311d5..0726244 100644 3 + --- a/test/testfile.c 4 + +++ b/test/testfile.c 5 + @@ -92,8 +92,6 @@ do { \ 6 + WRITABLE (true, "../test/file/non-existing"); 7 + WRITABLE (false, "/kissat-test-file-writable"); 8 + WRITABLE (false, "non-existing-directory/file-in-non-existing-directory"); 9 + - if (kissat_file_exists ("/etc/passwd")) 10 + - WRITABLE (false, "/etc/passwd"); 11 + #undef WRITABLE 12 + } 13 +
+2 -7
pkgs/development/compilers/crystal/default.nix
··· 25 25 , zlib 26 26 }: 27 27 28 - # We need multiple binaries as a given binary isn't always able to build 29 - # (even slightly) older or newer versions. 30 - # - 0.26.1 can build 0.25.x and 0.26.x but not 0.27.x 31 - # - 0.27.2 can build 0.27.x but not 0.25.x, 0.26.x and 0.29.x 32 - # 33 28 # We need to keep around at least the latest version released with a stable 34 29 # NixOS 35 30 let ··· 241 236 }; 242 237 243 238 crystal_1_2 = generic { 244 - version = "1.2.1"; 245 - sha256 = "sha256-jyNmY3n+u8WoVqHY8B5H9Vr9Ix3RogCtm8irkXZ3aek="; 239 + version = "1.2.2"; 240 + sha256 = "sha256-nyOXhsutVBRdtJlJHe2dALl//BUXD1JeeQPgHU4SwiU="; 246 241 binary = crystal_1_1; 247 242 }; 248 243
+4 -13
pkgs/development/libraries/cmark/default.nix
··· 1 - { lib, stdenv, fetchFromGitHub, fetchpatch, cmake }: 1 + { lib, stdenv, fetchFromGitHub, cmake }: 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "cmark"; 5 - version = "0.30.1"; 5 + version = "0.30.2"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "jgm"; 9 9 repo = pname; 10 10 rev = version; 11 - sha256 = "sha256-UjDM2N6gCwO94F1nW3qCP9JX42MYAicAuGTKAXMy1Gg="; 11 + sha256 = "sha256-IkNybUe/XYwAvPowym3aqfVyvNdw2t/brRjhOrjVRpA="; 12 12 }; 13 13 14 - patches = [ 15 - # Fix libcmark.pc paths (should be incorporated next release) 16 - (fetchpatch { 17 - url = "https://github.com/commonmark/cmark/commit/15762d7d391483859c241cdf82b1615c6b6a5a19.patch"; 18 - sha256 = "sha256-wdyK1tQolgfiwYMAaWMQZdCSbMDCijug5ykpoDl/HwI="; 19 - }) 20 - ]; 21 - 22 14 nativeBuildInputs = [ cmake ]; 23 15 24 16 cmakeFlags = [ 25 - # https://github.com/commonmark/cmark/releases/tag/0.30.1 26 - # recommends distributions dynamically link 17 + # Link the executable with the shared library 27 18 "-DCMARK_STATIC=OFF" 28 19 ]; 29 20
+29
pkgs/development/libraries/libbde/default.nix
··· 1 + { lib 2 + , stdenv 3 + , fetchurl 4 + , fuse 5 + , ncurses 6 + , python3 7 + }: 8 + 9 + stdenv.mkDerivation rec { 10 + pname = "libbde"; 11 + version = "20210605"; 12 + 13 + src = fetchurl { 14 + url = "https://github.com/libyal/libbde/releases/download/${version}/${pname}-alpha-${version}.tar.gz"; 15 + sha256 = "0dk5h7gvp2fgg21n7k600mnayg4g4pc0lm7317k43j1q0p4hkfng"; 16 + }; 17 + 18 + buildInputs = [ fuse ncurses python3 ]; 19 + 20 + configureFlags = [ "--enable-python" ]; 21 + 22 + meta = with lib; { 23 + description = "Library to access the BitLocker Drive Encryption (BDE) format"; 24 + homepage = "https://github.com/libyal/libbde/"; 25 + license = licenses.lgpl3; 26 + maintainers = with maintainers; [ eliasp ]; 27 + platforms = platforms.all; 28 + }; 29 + }
+2 -2
pkgs/development/python-modules/colorlog/default.nix
··· 6 6 7 7 buildPythonPackage rec { 8 8 pname = "colorlog"; 9 - version = "6.5.0"; 9 + version = "6.6.0"; 10 10 11 11 src = fetchPypi { 12 12 inherit pname version; 13 - sha256 = "cf62a8e389d5660d0d22be17937b25b9abef9497ddc940197d1773aa1f604339"; 13 + sha256 = "sha256-NE9zIEAJ5Mg8W2vrALPEXccPza48gNuRngpBcdAG/eg="; 14 14 }; 15 15 16 16 checkInputs = [ pytestCheckHook ];
+7 -7
pkgs/development/tools/kafkacat/default.nix pkgs/development/tools/kcat/default.nix
··· 1 - { lib, stdenv, fetchFromGitHub, pkg-config, zlib, rdkafka, yajl, avro-c, libserdes }: 1 + { lib, stdenv, fetchFromGitHub, pkg-config, zlib, rdkafka, yajl, avro-c, libserdes, which }: 2 2 3 3 stdenv.mkDerivation rec { 4 - pname = "kafkacat"; 4 + pname = "kcat"; 5 5 6 - version = "1.6.0"; 6 + version = "1.7.0"; 7 7 8 8 src = fetchFromGitHub { 9 9 owner = "edenhill"; 10 - repo = "kafkacat"; 10 + repo = "kcat"; 11 11 rev = version; 12 - sha256 = "0z3bw00s269myfd1xqksjyznmgp74xfs09xqlq347adsgby3cmfs"; 12 + sha256 = "sha256-koDhj/RQc9fhfqjrJylhURw6tppPELhLlBGbNVJsii8="; 13 13 }; 14 14 15 - nativeBuildInputs = [ pkg-config ]; 15 + nativeBuildInputs = [ pkg-config which ]; 16 16 17 17 buildInputs = [ zlib rdkafka yajl avro-c libserdes ]; 18 18 ··· 22 22 23 23 meta = with lib; { 24 24 description = "A generic non-JVM producer and consumer for Apache Kafka"; 25 - homepage = "https://github.com/edenhill/kafkacat"; 25 + homepage = "https://github.com/edenhill/kcat"; 26 26 license = licenses.bsd2; 27 27 platforms = platforms.linux ++ platforms.darwin; 28 28 maintainers = with maintainers; [ nyarly ];
+23 -12
pkgs/games/steam/default.nix
··· 1 - { pkgs, newScope, buildFHSUserEnv }: 1 + { lib, newScope, splicePackages, steamPackagesAttr ? "steamPackages" 2 + , pkgsBuildBuild, pkgsBuildHost, pkgsBuildTarget, pkgsHostHost, pkgsTargetTarget 3 + , stdenv, buildFHSUserEnv, pkgsi686Linux 4 + }: 2 5 3 6 let 4 - callPackage = newScope self; 5 - 6 - self = rec { 7 - steamArch = if pkgs.stdenv.hostPlatform.system == "x86_64-linux" then "amd64" 8 - else if pkgs.stdenv.hostPlatform.system == "i686-linux" then "i386" 9 - else throw "Unsupported platform: ${pkgs.stdenv.hostPlatform.system}"; 7 + steamPackagesFun = self: let 8 + inherit (self) callPackage; 9 + in { 10 + steamArch = if stdenv.hostPlatform.system == "x86_64-linux" then "amd64" 11 + else if stdenv.hostPlatform.system == "i686-linux" then "i386" 12 + else throw "Unsupported platform: ${stdenv.hostPlatform.system}"; 10 13 11 14 steam-runtime = callPackage ./runtime.nix { }; 12 15 steam-runtime-wrapped = callPackage ./runtime-wrapped.nix { }; 13 16 steam = callPackage ./steam.nix { }; 14 17 steam-fonts = callPackage ./fonts.nix { }; 15 18 steam-fhsenv = callPackage ./fhsenv.nix { 16 - glxinfo-i686 = pkgs.pkgsi686Linux.glxinfo; 19 + glxinfo-i686 = pkgsi686Linux.glxinfo; 17 20 steam-runtime-wrapped-i686 = 18 - if steamArch == "amd64" 19 - then pkgs.pkgsi686Linux.steamPackages.steam-runtime-wrapped 21 + if self.steamArch == "amd64" 22 + then pkgsi686Linux.${steamPackagesAttr}.steam-runtime-wrapped 20 23 else null; 21 24 inherit buildFHSUserEnv; 22 25 }; 23 26 steamcmd = callPackage ./steamcmd.nix { }; 24 27 }; 25 - 26 - in self 28 + otherSplices = { 29 + selfBuildBuild = pkgsBuildBuild.${steamPackagesAttr}; 30 + selfBuildHost = pkgsBuildHost.${steamPackagesAttr}; 31 + selfBuildTarget = pkgsBuildTarget.${steamPackagesAttr}; 32 + selfHostHost = pkgsHostHost.${steamPackagesAttr}; 33 + selfTargetTarget = pkgsTargetTarget.${steamPackagesAttr}; 34 + }; 35 + keep = self: { }; 36 + extra = spliced0: { }; 37 + in lib.makeScopeWithSplicing splicePackages newScope otherSplices keep extra steamPackagesFun
+2
pkgs/servers/http/apache-httpd/2.4.nix
··· 81 81 inherit apr aprutil sslSupport proxySupport ldapSupport luaSupport lua5; 82 82 tests = { 83 83 acme-integration = nixosTests.acme; 84 + proxy = nixosTests.proxy; 85 + php = nixosTests.php.httpd; 84 86 }; 85 87 }; 86 88
+1
pkgs/top-level/aliases.nix
··· 379 379 joseki = apache-jena-fuseki; # added 2016-02-28 380 380 jvmci8 = throw "graalvm8 and its tools were deprecated in favor of graalvm8-ce"; # added 2021-10-15 381 381 json_glib = json-glib; # added 2018-02-25 382 + kafkacat = kcat; # added 2021-10-07 382 383 kdecoration-viewer = throw "kdecoration-viewer has been removed from nixpkgs, as there is no upstream activity"; # 2020-06-16 383 384 k9copy = throw "k9copy has been removed from nixpkgs, as there is no upstream activity"; # 2020-11-06 384 385 kibana7-oss = throw "kibana7-oss has been removed, as the distribution is no longer provided by upstream. https://github.com/NixOS/nixpkgs/pull/114456"; # added 2021-06-09
+6 -2
pkgs/top-level/all-packages.nix
··· 14715 14715 14716 14716 k2tf = callPackage ../development/tools/misc/k2tf { }; 14717 14717 14718 - kafkacat = callPackage ../development/tools/kafkacat { }; 14719 - 14720 14718 kati = callPackage ../development/tools/build-managers/kati { }; 14719 + 14720 + kcat = callPackage ../development/tools/kcat { }; 14721 14721 14722 14722 kcc = libsForQt5.callPackage ../applications/graphics/kcc { }; 14723 14723 ··· 17235 17235 17236 17236 libbass = (callPackage ../development/libraries/audio/libbass { }).bass; 17237 17237 libbass_fx = (callPackage ../development/libraries/audio/libbass { }).bass_fx; 17238 + 17239 + libbde = callPackage ../development/libraries/libbde { }; 17238 17240 17239 17241 libbencodetools = callPackage ../development/libraries/libbencodetools { }; 17240 17242 ··· 31548 31550 hologram = callPackage ../tools/security/hologram { }; 31549 31551 31550 31552 honeytrap = callPackage ../tools/security/honeytrap { }; 31553 + 31554 + kissat = callPackage ../applications/science/logic/kissat {}; 31551 31555 31552 31556 tini = callPackage ../applications/virtualization/tini {}; 31553 31557