summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nixos/tests/docker-tools.nix14
-rw-r--r--pkgs/applications/misc/tellico/default.nix67
-rw-r--r--pkgs/applications/misc/tellico/hex.patch15
-rw-r--r--pkgs/applications/science/logic/coq/default.nix1
-rw-r--r--pkgs/build-support/docker/examples.nix22
-rwxr-xr-xpkgs/build-support/docker/store-path-to-layer.sh10
-rw-r--r--pkgs/development/coq-modules/mathcomp/default.nix4
-rw-r--r--pkgs/development/libraries/curlcpp/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/piqi/default.nix17
-rw-r--r--pkgs/development/python-modules/markdown/3_1.nix34
-rw-r--r--pkgs/development/python-modules/natsort/default.nix4
-rw-r--r--pkgs/development/python-modules/soco/default.nix9
-rw-r--r--pkgs/tools/security/hashcat/default.nix12
-rw-r--r--pkgs/top-level/all-packages.nix3
-rw-r--r--pkgs/top-level/coq-packages.nix4
-rw-r--r--pkgs/top-level/ocaml-packages.nix4
-rw-r--r--pkgs/top-level/python-packages.nix5
17 files changed, 200 insertions, 27 deletions
diff --git a/nixos/tests/docker-tools.nix b/nixos/tests/docker-tools.nix
index 2375d15b381..c48e5b07976 100644
--- a/nixos/tests/docker-tools.nix
+++ b/nixos/tests/docker-tools.nix
@@ -42,6 +42,20 @@ import ./make-test-python.nix ({ pkgs, ... }: {
             "docker rmi ${examples.nix.imageName}",
         )
 
+    with subtest("The nix binary symlinks are intact"):
+        docker.succeed(
+            "docker load --input='${examples.nix}'",
+            "docker run --rm ${examples.nix.imageName} ${pkgs.bash}/bin/bash -c 'test nix == $(readlink ${pkgs.nix}/bin/nix-daemon)'",
+            "docker rmi ${examples.nix.imageName}",
+        )
+
+    with subtest("The nix binary symlinks are intact when the image is layered"):
+        docker.succeed(
+            "docker load --input='${examples.nixLayered}'",
+            "docker run --rm ${examples.nixLayered.imageName} ${pkgs.bash}/bin/bash -c 'test nix == $(readlink ${pkgs.nix}/bin/nix-daemon)'",
+            "docker rmi ${examples.nixLayered.imageName}",
+        )
+
     with subtest("The pullImage tool works"):
         docker.succeed(
             "docker load --input='${examples.nixFromDockerHub}'",
diff --git a/pkgs/applications/misc/tellico/default.nix b/pkgs/applications/misc/tellico/default.nix
new file mode 100644
index 00000000000..401f1f1d718
--- /dev/null
+++ b/pkgs/applications/misc/tellico/default.nix
@@ -0,0 +1,67 @@
+{ lib
+, fetchurl
+, mkDerivation
+, kdeApplications
+, kinit
+, kdelibs4support
+, solid
+, kxmlgui
+, karchive
+, kfilemetadata
+, khtml
+, knewstuff
+, libksane
+, cmake
+, exempi
+, extra-cmake-modules
+, libcdio
+, poppler
+, makeWrapper
+, kdoctools
+}:
+
+mkDerivation rec {
+  name = "tellico";
+  version = "3.3.0";
+
+  src = fetchurl {
+    url = "https://tellico-project.org/files/tellico-${lib.versions.majorMinor version}.tar.xz";
+    sha256 = "1digkpvzrsbv5znf1cgzs6zkmysfz6lzs12n12mrrpgkcdxc426y";
+  };
+
+  patches = [
+    ./hex.patch
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    extra-cmake-modules
+    kdoctools
+    makeWrapper
+  ];
+
+  buildInputs = [
+    kdelibs4support
+    solid
+    kxmlgui
+    karchive
+    kfilemetadata
+    khtml
+    knewstuff
+    libksane
+    cmake
+    exempi
+    extra-cmake-modules
+    libcdio
+    kdeApplications.libkcddb
+    poppler
+  ];
+
+  meta = {
+    description = "Collection management software, free and simple";
+    homepage = "https://tellico-project.org/";
+    maintainers = with lib.maintainers; [ numkem ];
+    license = with lib.licenses; [ gpl2 gpl3 ];
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/tellico/hex.patch b/pkgs/applications/misc/tellico/hex.patch
new file mode 100644
index 00000000000..999c502287e
--- /dev/null
+++ b/pkgs/applications/misc/tellico/hex.patch
@@ -0,0 +1,15 @@
+index 7ea81c7..0c19767 100644
+--- a/src/utils/iso5426converter.cpp
++++ b/src/utils/iso5426converter.cpp
+@@ -1211,7 +1211,11 @@ QChar Iso5426Converter::getCombiningChar(uint c) {
+     return 0x1EF1; // SMALL LETTER U WITH HORN AND DOT BELOW
+ 
+   default:
++#if (QT_VERSION < QT_VERSION_CHECK(5, 14, 0))
++    myDebug() << "no match for" << hex << c;
++#else
+     myDebug() << "no match for" << Qt::hex << c;
++#endif
+     return QChar();
+   }
+ }
diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix
index 39e7cbe7f3c..a10b34e0a60 100644
--- a/pkgs/applications/science/logic/coq/default.nix
+++ b/pkgs/applications/science/logic/coq/default.nix
@@ -35,6 +35,7 @@ let
    "8.11.0" = "1rfdic6mp7acx2zfwz7ziqk12g95bl9nyj68z4n20a5bcjv2pxpn";
    "8.11.1" = "0qriy9dy36dajsv5qmli8gd6v55mah02ya334nw49ky19v7518m0";
    "8.11.2" = "0f77ccyxdgbf1nrj5fa8qvrk1cyfy06fv8gj9kzfvlcgn0cf48sa";
+   "8.12+beta1" = "0jbm8am9j926s0h4fi0cjl95l37l6p7i03spcryyrd4sg5xrddr7";
   }.${version};
   coq-version = stdenv.lib.versions.majorMinor version;
   versionAtLeast = stdenv.lib.versionAtLeast coq-version;
diff --git a/pkgs/build-support/docker/examples.nix b/pkgs/build-support/docker/examples.nix
index d533e3abd03..b040d830b31 100644
--- a/pkgs/build-support/docker/examples.nix
+++ b/pkgs/build-support/docker/examples.nix
@@ -121,6 +121,7 @@ rec {
       # the image env variable NIX_PAGER.
       pkgs.coreutils
       pkgs.nix
+      pkgs.bash
     ];
     config = {
       Env = [
@@ -313,4 +314,25 @@ rec {
       )
     ];
   };
+
+  nixLayered = pkgs.dockerTools.buildLayeredImageWithNixDb {
+    name = "nix-layered";
+    tag = "latest";
+    contents = [
+      # nix-store uses cat program to display results as specified by
+      # the image env variable NIX_PAGER.
+      pkgs.coreutils
+      pkgs.nix
+      pkgs.bash
+    ];
+    config = {
+      Env = [
+        "NIX_PAGER=cat"
+        # A user is required by nix
+        # https://github.com/NixOS/nix/blob/9348f9291e5d9e4ba3c4347ea1b235640f54fd79/src/libutil/util.cc#L478
+        "USER=nobody"
+      ];
+    };
+  };
+
 }
diff --git a/pkgs/build-support/docker/store-path-to-layer.sh b/pkgs/build-support/docker/store-path-to-layer.sh
index 7437da51cc4..3a1fcd0c27a 100755
--- a/pkgs/build-support/docker/store-path-to-layer.sh
+++ b/pkgs/build-support/docker/store-path-to-layer.sh
@@ -16,7 +16,11 @@ mkdir -p "$layerPath"
 # when there are other things being added to the
 # nix store, tar could fail, saying,
 # "tar: /nix/store: file changed as we read it"
-mkdir -p nix/store
+#
+# In addition, we use `__Nix__` instead of `nix` to avoid renaming
+# relative symlink destinations like
+# /nix/store/...-nix-2.3.4/bin/nix-daemon -> nix
+mkdir -p __Nix__/store
 
 # Then we change into the /nix/store in order to
 # avoid a similar "file changed as we read it" error
@@ -35,8 +39,8 @@ tarhash=$(
       --hard-dereference --sort=name \
       --mtime="@$SOURCE_DATE_EPOCH" \
       --owner=0 --group=0 \
-      --transform 's,^nix$,/\0,' \
-      --transform 's,^nix/store$,/\0,' \
+      --transform 's,^__Nix__$,/nix,' \
+      --transform 's,^__Nix__/store$,/nix/store,' \
       --transform 's,^[^/],/nix/store/\0,rS' |
     tee "$layerPath/layer.tar" |
     tarsum
diff --git a/pkgs/development/coq-modules/mathcomp/default.nix b/pkgs/development/coq-modules/mathcomp/default.nix
index d4d5f924f52..8cf502a1943 100644
--- a/pkgs/development/coq-modules/mathcomp/default.nix
+++ b/pkgs/development/coq-modules/mathcomp/default.nix
@@ -76,8 +76,8 @@ let
     };
     # versions of coq compatible with released mathcomp versions
     coq-versions     = {
-      "1.11.0"       = flip elem [ "8.7" "8.8" "8.9" "8.10" "8.11" ];
-      "1.11+beta1"   = flip elem [ "8.7" "8.8" "8.9" "8.10" "8.11" ];
+      "1.11.0"       = flip elem [ "8.7" "8.8" "8.9" "8.10" "8.11" "8.12" ];
+      "1.11+beta1"   = flip elem [ "8.7" "8.8" "8.9" "8.10" "8.11" "8.12" ];
       "1.10.0"       = flip elem [ "8.7" "8.8" "8.9" "8.10" "8.11" ];
       "1.9.0"        = flip elem [ "8.7" "8.8" "8.9" "8.10" ];
       "1.8.0"        = flip elem [ "8.7" "8.8" "8.9" ];
diff --git a/pkgs/development/libraries/curlcpp/default.nix b/pkgs/development/libraries/curlcpp/default.nix
index 9f2710f42a4..ead4d1b76bd 100644
--- a/pkgs/development/libraries/curlcpp/default.nix
+++ b/pkgs/development/libraries/curlcpp/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     description = "Object oriented C++ wrapper for CURL";
     platforms = platforms.unix;
     license = licenses.mit;
-    maintainers = with maintainers; [ juliendehos rszibele ];
+    maintainers = with maintainers; [ rszibele ];
   };
 }
 
diff --git a/pkgs/development/ocaml-modules/piqi/default.nix b/pkgs/development/ocaml-modules/piqi/default.nix
index c492035f4f9..f3c489723b2 100644
--- a/pkgs/development/ocaml-modules/piqi/default.nix
+++ b/pkgs/development/ocaml-modules/piqi/default.nix
@@ -1,16 +1,19 @@
-{ stdenv, fetchurl, ocaml, findlib, which, ulex, easy-format, ocaml_optcomp, xmlm, base64 }:
+{ stdenv, fetchFromGitHub, ocaml, findlib, which, sedlex_2, easy-format, xmlm, base64 }:
 
 stdenv.mkDerivation rec {
-  version = "0.6.14";
+  version = "0.6.15";
   pname = "piqi";
+  name = "ocaml${ocaml.version}-${pname}-${version}";
  
-  src = fetchurl {
-    url = "https://github.com/alavrik/piqi/archive/v${version}.tar.gz";
-    sha256 = "1ssccnwqzfyf7syfq2fv4zyhwayxwd75rhq9y28mvq1w6qbww4l7";
+  src = fetchFromGitHub {
+    owner = "alavrik";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0v04hs85xv6d4ysqxyv1dik34dx49yab9shpi4x7iv19qlzl7csb";
   };
 
-  buildInputs = [ ocaml findlib which ocaml_optcomp ];
-  propagatedBuildInputs = [ulex xmlm easy-format base64];
+  buildInputs = [ ocaml findlib which ];
+  propagatedBuildInputs = [ sedlex_2 xmlm easy-format base64 ];
 
   patches = [ ./no-ocamlpath-override.patch ];
 
diff --git a/pkgs/development/python-modules/markdown/3_1.nix b/pkgs/development/python-modules/markdown/3_1.nix
new file mode 100644
index 00000000000..b07d36e22c7
--- /dev/null
+++ b/pkgs/development/python-modules/markdown/3_1.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools
+, nose
+, pyyaml
+, pythonOlder
+, importlib-metadata
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "Markdown";
+  version = "3.1.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "2e50876bcdd74517e7b71f3e7a76102050edec255b3983403f1a63e7c8a41e7a";
+  };
+
+  propagatedBuildInputs = [ 
+    setuptools 
+  ] ++ lib.optionals (pythonOlder "3.8") [
+    importlib-metadata
+  ];
+
+  checkInputs = [ nose pyyaml ];
+
+  meta = {
+    description = "A Python implementation of John Gruber's Markdown with Extension support";
+    homepage = "https://github.com/Python-Markdown/markdown";
+    license = lib.licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/natsort/default.nix b/pkgs/development/python-modules/natsort/default.nix
index 805f5dc5de4..bfe486e1a54 100644
--- a/pkgs/development/python-modules/natsort/default.nix
+++ b/pkgs/development/python-modules/natsort/default.nix
@@ -8,6 +8,7 @@
 , hypothesis
 , glibcLocales
 , pathlib ? null
+, isPy3k
 }:
 
 buildPythonPackage rec {
@@ -29,6 +30,9 @@ buildPythonPackage rec {
     sha256 = "a633464dc3a22b305df0f27abcb3e83515898aa1fd0ed2f9726c3571a27258cf";
   };
 
+  # Does not support Python 2
+  disabled = !isPy3k;
+
   # testing based on project's tox.ini
   # natsort_keygen has pytest mock issues
   checkPhase = ''
diff --git a/pkgs/development/python-modules/soco/default.nix b/pkgs/development/python-modules/soco/default.nix
index 0af09cc01ce..b56e43e1321 100644
--- a/pkgs/development/python-modules/soco/default.nix
+++ b/pkgs/development/python-modules/soco/default.nix
@@ -1,4 +1,5 @@
 { lib, buildPythonPackage, fetchPypi, xmltodict, requests
+, toml
 
 # Test dependencies
 , pytest, pytestcov, coveralls, pylint, flake8, graphviz, mock, sphinx
@@ -14,13 +15,7 @@ buildPythonPackage rec {
     sha256 = "0dgca286vhrabm4r4jj545k895z6w2c70ars06vrjhf9cpgg7qck";
   };
 
-  postPatch = ''
-    # https://github.com/SoCo/SoCo/pull/670
-    substituteInPlace requirements-dev.txt \
-      --replace "pytest-cov>=2.4.0,<2.6" "pytest-cov>=2.4.0"
-  '';
-
-  propagatedBuildInputs = [ xmltodict requests ];
+  propagatedBuildInputs = [ xmltodict requests toml ];
   checkInputs = [
     pytest pytestcov coveralls pylint flake8 graphviz mock sphinx
     sphinx_rtd_theme
diff --git a/pkgs/tools/security/hashcat/default.nix b/pkgs/tools/security/hashcat/default.nix
index c1fd84b6452..2456f9ca18f 100644
--- a/pkgs/tools/security/hashcat/default.nix
+++ b/pkgs/tools/security/hashcat/default.nix
@@ -1,12 +1,18 @@
-{ stdenv, fetchurl, makeWrapper, opencl-headers, ocl-icd, xxHash }:
+{ stdenv
+, fetchurl
+, makeWrapper
+, opencl-headers
+, ocl-icd
+, xxHash
+}:
 
 stdenv.mkDerivation rec {
   pname   = "hashcat";
-  version = "5.1.0";
+  version = "6.0.0";
 
   src = fetchurl {
     url = "https://hashcat.net/files/hashcat-${version}.tar.gz";
-    sha256 = "0f73y4cg8c7a6q7x34qvpfi4g3lw6j9bnn0a13g43aqyiskflfr8";
+    sha256 = "118jxk4xh55m1vhaz5h2j2385mp4p397m16g9hi4x2k0b8m0zrz8";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 44143befa2b..c0a2c0b49e4 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -25053,6 +25053,7 @@ in
     coqPackages_8_9  coq_8_9
     coqPackages_8_10 coq_8_10
     coqPackages_8_11 coq_8_11
+    coqPackages_8_12 coq_8_12
     coqPackages      coq
   ;
 
@@ -26300,6 +26301,8 @@ in
 
   prow = callPackage ../applications/networking/cluster/prow { };
 
+  tellico = libsForQt5.callPackage ../applications/misc/tellico { };
+
   termpdfpy = python3Packages.callPackage ../applications/misc/termpdf.py {};
 
   inherit (callPackage ../applications/networking/cluster/terraform { })
diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix
index dedef12e38b..c1015aa939f 100644
--- a/pkgs/top-level/coq-packages.nix
+++ b/pkgs/top-level/coq-packages.nix
@@ -118,6 +118,9 @@ in rec {
   coq_8_11 = callPackage ../applications/science/logic/coq {
     version = "8.11.2";
   };
+  coq_8_12 = callPackage ../applications/science/logic/coq {
+    version = "8.12+beta1";
+  };
 
   coqPackages_8_5 = mkCoqPackages coq_8_5;
   coqPackages_8_6 = mkCoqPackages coq_8_6;
@@ -126,6 +129,7 @@ in rec {
   coqPackages_8_9 = mkCoqPackages coq_8_9;
   coqPackages_8_10 = mkCoqPackages coq_8_10;
   coqPackages_8_11 = mkCoqPackages coq_8_11;
+  coqPackages_8_12 = mkCoqPackages coq_8_12;
   coqPackages = recurseIntoAttrs (lib.mapDerivationAttrset lib.dontDistribute
     coqPackages_8_9
   );
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 4be489c76eb..5ee24287dd6 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -712,9 +712,7 @@ let
 
     phylogenetics = callPackage ../development/ocaml-modules/phylogenetics { };
 
-    piqi = callPackage ../development/ocaml-modules/piqi {
-      base64 = base64_2;
-    };
+    piqi = callPackage ../development/ocaml-modules/piqi { };
 
     piqi-ocaml = callPackage ../development/ocaml-modules/piqi-ocaml { };
 
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index a09610a1922..a1c03bc204e 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -4504,7 +4504,10 @@ in {
 
   mapsplotlib = callPackage ../development/python-modules/mapsplotlib { };
 
-  markdown = callPackage ../development/python-modules/markdown { };
+  markdown = if isPy3k then
+    callPackage ../development/python-modules/markdown { }
+  else
+    callPackage ../development/python-modules/markdown/3_1.nix { };
 
   markdownsuperscript = callPackage ../development/python-modules/markdownsuperscript {};