Unverified Commit 845fd0d8 authored by Jacek Galowicz's avatar Jacek Galowicz Committed by GitHub
Browse files

nixtamal: 1.1.4 → 1.1.5; multi-output derivation (#501660)

parents 7792c280 ed3eda7c
Loading
Loading
Loading
Loading
+29 −6
Original line number Diff line number Diff line
@@ -18,7 +18,7 @@

ocamlPackages.buildDunePackage (finalAttrs: {
  pname = "nixtamal";
  version = "1.1.4";
  version = "1.1.5";
  release_year = 2026;

  minimalOCamlVersion = "5.3";
@@ -27,7 +27,7 @@ ocamlPackages.buildDunePackage (finalAttrs: {
    url = "https://darcs.toastal.in.th/nixtamal/stable/";
    mirrors = [ "https://smeder.ee/~toastal/nixtamal.darcs" ];
    rev = finalAttrs.version;
    hash = "sha256-iLjVuNS0pgoWoXp/Yr6ovEazXqhe5bflqtuzFupxmw0=";
    hash = "sha256-viMbqPq/XyvRt7AsVk/wT1hbWlZGXqiOfp4SccqyOI8=";
  };

  nativeBuildInputs = [
@@ -80,17 +80,32 @@ ocamlPackages.buildDunePackage (finalAttrs: {

  outputs = [
    "bin"
    "data"
    "doc"
    "lib"
    "man"
    "out"
  ];

  installPhase = ''
    runHook preInstall
    dune install --prefix="$bin" --libdir="$lib/lib/ocaml/${ocamlPackages.ocaml.version}/site-lib" nixtamal
    for dep in ${ocamlPackages.ocaml} ${ocamlPackages.camomile}

    dune install \
       -j "$NIX_BUILD_CORES" \
       --cache="disabled" \
       --prefix="$out" \
       --bindir="$bin/bin" \
       --datadir="$data/share" \
       --docdir="$doc/share/doc" \
       --mandir="$man/share/man" \
       --libdir="$lib/lib/ocaml/${ocamlPackages.ocaml.version}/site-lib" \
       nixtamal

    for dep in "${ocamlPackages.ocaml}" "${ocamlPackages.camomile}"
    do
        remove-references-to -t $dep $bin/bin/nixtamal
        remove-references-to -t "$dep" "$bin/bin/nixtamal"
    done

    wrapProgram "$bin/bin/nixtamal" --prefix PATH : ${
      lib.makeBinPath [
        coreutils
@@ -100,6 +115,7 @@ ocamlPackages.buildDunePackage (finalAttrs: {
        nix-prefetch-pijul
      ]
    }

    runHook postInstall
  '';

@@ -112,6 +128,12 @@ ocamlPackages.buildDunePackage (finalAttrs: {
    license = with lib.licenses; [ gpl3Plus ];
    platforms = lib.platforms.unix;
    mainProgram = "nixtamal";
    outputsToInstall = [
      "bin"
      "data"
      "doc"
      "man"
    ];
    homepage = "https://nixtamal.toast.al";
    changelog = "https://nixtamal.toast.al/changelog/";
    description = "Fulfilling input pinning for Nix";
@@ -119,7 +141,8 @@ ocamlPackages.buildDunePackage (finalAttrs: {
      Nixtamal’s keys features

      • Automate the manual work of input pinning, allowing to lock & refresh inputs
      • Declaritive KDL manifest file over imperative CLI flags
      • Declarative KDL manifest file over imperative CLI flags
      • diff/grep-friendly lockfile
      • Host, forge, VCS-agnostic
      • Choose eval time fetchers (builtins) or build time fetchers (Nixpkgs, default) — which opens up fetching Darcs, Pijul, & Fossil
      • Supports mirrors