Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
102 lines
2.1 KiB
Nix
102 lines
2.1 KiB
Nix
{
|
|
fetchFromGitHub,
|
|
git,
|
|
jdk_headless,
|
|
jre_headless,
|
|
makeWrapper,
|
|
python3,
|
|
stdenvNoCC,
|
|
lib,
|
|
testers,
|
|
}:
|
|
|
|
let
|
|
pname = "validator-nu";
|
|
version = "23.4.11-unstable-2023-12-18";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "validator";
|
|
repo = "validator";
|
|
rev = "c3a401feb6555affdc891337f5a40af238f9ac2d";
|
|
fetchSubmodules = true;
|
|
hash = "sha256-pcA3HXduzFKzoOHhor12qvzbGSSvo3k3Bpy2MvvQlCI=";
|
|
};
|
|
|
|
deps = stdenvNoCC.mkDerivation {
|
|
pname = "${pname}-deps";
|
|
inherit version src;
|
|
|
|
nativeBuildInputs = [
|
|
git
|
|
jdk_headless
|
|
python3
|
|
python3.pkgs.certifi
|
|
];
|
|
|
|
buildPhase = ''
|
|
python checker.py dldeps
|
|
'';
|
|
|
|
installPhase = ''
|
|
mkdir "$out"
|
|
mv dependencies extras "$out"
|
|
'';
|
|
|
|
outputHashMode = "recursive";
|
|
outputHash = "sha256-LPtxpUd7LAYZHJL7elgcZOTaTgHqeqquiB9hiuajA6c=";
|
|
};
|
|
|
|
in
|
|
stdenvNoCC.mkDerivation (finalAttrs: {
|
|
inherit pname version src;
|
|
|
|
nativeBuildInputs = [
|
|
git
|
|
jdk_headless
|
|
makeWrapper
|
|
python3
|
|
];
|
|
|
|
postPatch = ''
|
|
substituteInPlace build/build.py --replace-warn \
|
|
'validatorVersion = "%s.%s.%s" % (year, month, day)' \
|
|
'validatorVersion = "${finalAttrs.version}"'
|
|
'';
|
|
|
|
buildPhase = ''
|
|
ln -s '${deps}/dependencies' '${deps}/extras' .
|
|
JAVA_HOME='${jdk_headless}' python checker.py build
|
|
'';
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
mkdir -p "$out/bin" "$out/share/java"
|
|
mv build/dist/vnu.jar "$out/share/java/"
|
|
makeWrapper "${jre_headless}/bin/java" "$out/bin/vnu" \
|
|
--add-flags "-jar '$out/share/java/vnu.jar'"
|
|
|
|
runHook postInstall
|
|
'';
|
|
|
|
passthru.tests.version = testers.testVersion {
|
|
package = finalAttrs.finalPackage;
|
|
};
|
|
|
|
meta = {
|
|
description = "Helps you catch problems in your HTML/CSS/SVG";
|
|
homepage = "https://validator.github.io/validator/";
|
|
license = lib.licenses.mit;
|
|
maintainers = with lib.maintainers; [
|
|
andersk
|
|
ivan
|
|
];
|
|
mainProgram = "vnu";
|
|
platforms = lib.platforms.all;
|
|
sourceProvenance = with lib.sourceTypes; [
|
|
binaryBytecode
|
|
fromSource
|
|
];
|
|
};
|
|
})
|