13 pname = "validator-nu";
14 version = "23.4.11-unstable-2023-12-18";
16 src = fetchFromGitHub {
19 rev = "c3a401feb6555affdc891337f5a40af238f9ac2d";
20 fetchSubmodules = true;
21 hash = "sha256-pcA3HXduzFKzoOHhor12qvzbGSSvo3k3Bpy2MvvQlCI=";
24 deps = stdenvNoCC.mkDerivation {
25 pname = "${pname}-deps";
28 nativeBuildInputs = [ git jdk_headless python3 python3.pkgs.certifi ];
31 python checker.py dldeps
36 mv dependencies extras "$out"
39 outputHashMode = "recursive";
40 outputHash = "sha256-LPtxpUd7LAYZHJL7elgcZOTaTgHqeqquiB9hiuajA6c=";
44 stdenvNoCC.mkDerivation (finalAttrs: {
45 inherit pname version src;
47 nativeBuildInputs = [ git jdk_headless makeWrapper python3 ];
50 substituteInPlace build/build.py --replace-warn \
51 'validatorVersion = "%s.%s.%s" % (year, month, day)' \
52 'validatorVersion = "${finalAttrs.version}"'
56 ln -s '${deps}/dependencies' '${deps}/extras' .
57 JAVA_HOME='${jdk_headless}' python checker.py build
63 mkdir -p "$out/bin" "$out/share/java"
64 mv build/dist/vnu.jar "$out/share/java/"
65 makeWrapper "${jre_headless}/bin/java" "$out/bin/vnu" \
66 --add-flags "-jar '$out/share/java/vnu.jar'"
71 passthru.tests.version = testers.testVersion {
72 package = finalAttrs.finalPackage;
76 description = "Helps you catch problems in your HTML/CSS/SVG";
77 homepage = "https://validator.github.io/validator/";
78 license = lib.licenses.mit;
79 maintainers = with lib.maintainers; [ andersk ivan ];
81 platforms = lib.platforms.all;
82 sourceProvenance = with lib.sourceTypes; [ binaryBytecode fromSource ];