diff options
Diffstat (limited to 'spine.nix')
| -rwxr-xr-x | spine.nix | 150 | 
1 files changed, 0 insertions, 150 deletions
| diff --git a/spine.nix b/spine.nix deleted file mode 100755 index cc45422..0000000 --- a/spine.nix +++ /dev/null @@ -1,150 +0,0 @@ -#!/usr/bin/env -S nix-build -{ pkgs ? import <nixpkgs> {}, -  stdenv ? pkgs.stdenv, -  lib ? pkgs.lib, -  ldc ? null, -  dcompiler ? pkgs.ldc, -  dub ? pkgs.dub -}: -assert dcompiler != null; -#with import ./nix/mkDub.nix { inherit pkgs; }; -with ( # mkDub.nix -  assert dcompiler != null; -  with stdenv lib; -  let -    # Filter function to remove the .dub package folder from src -    filterDub = name: type: let baseName = baseNameOf (toString name); in ! ( -      type == "directory" && baseName == ".dub" -    ); -    # Convert a GIT rev string (tag) to a simple semver version -    rev-to-version = builtins.replaceStrings ["v" "refs/tags/v"] ["" ""]; -    dep2src = dubDep: pkgs.fetchgit { inherit (dubDep.fetch) url rev sha256 fetchSubmodules; }; -    # Fetch a dependency (source only for now) -    fromDub = dubDep: mkDerivation rec { -      name = "${src.name}-${version}"; -      version = rev-to-version dubDep.fetch.rev; -      nativeBuildInputs = [ dcompiler dub ]; -      src = dep2src dubDep; -      buildPhase = '' -        runHook preBuild -        export HOME=$NIX_BUILD_TOP -        #export HOME=$PWD -        dub build -b=release -        runHook postBuild -      ''; -      # outputs = [ "lib" ]; -      # installPhase = '' -      #   runHook preInstall -      #   mkdir -p $out/bin -      #   runHook postInstall -      # ''; -    }; -    # Adds a local package directory (e.g. a git repository) to Dub -    dub-add-local = dubDep: "dub add-local ${(fromDub dubDep).src.outPath} ${rev-to-version dubDep.fetch.rev}"; -    # The target output of the Dub package -    targetOf = package: "${package.targetPath or "."}/${package.targetName or package.name}"; -    # Remove reference to build tools and library sources -    disallowedReferences = deps: [ dcompiler dub ] ++ builtins.map dep2src deps; -    removeExpr = refs: ''remove-references-to ${lib.concatMapStrings (ref: " -t ${ref}") refs}''; -  in { -    inherit fromDub; -    mkDubDerivation = lib.makeOverridable ({ -      src, -      nativeBuildInputs ? [], -      dubJSON ? src + "/dub.json", -      selections ? src + "/nix/dub.selections.nix", -      deps ? import selections, -      passthru ? {}, -      package ? lib.importJSON dubJSON, -      ... -    } @ attrs: stdenv.mkDerivation (attrs // { -      pname = package.name; -      nativeBuildInputs = [ dcompiler dub pkgs.removeReferencesTo ] ++ nativeBuildInputs; -      disallowedReferences = disallowedReferences deps; -      passthru = passthru // { -        inherit dub dcompiler pkgs; -      }; -      src = lib.cleanSourceWith { -        filter = filterDub; -        src = lib.cleanSource src; -      }; -      preFixup = '' -        find $out/bin -type f -exec ${removeExpr (disallowedReferences deps)} '{}' + || true -      ''; -      buildPhase = '' -        runHook preBuild -        export HOME=$PWD -        ${lib.concatMapStringsSep "\n" dub-add-local deps} -        for dc_ in dmd ldmd2 gdmd; do -          echo "- check for D compiler $dc_" -          dc=$(type -P $dc_ || echo "") -          if [ ! "$dc" == "" ]; then -            break -          fi -        done -        if [ "$dc" == "" ]; then -          exit "Error: could not find D compiler" -        fi -        echo "$dc_ used as D compiler to build $pname" -        dub build --compiler=$dc --build=release --combined --skip-registry=all -        runHook postBuild -      ''; -      checkPhase = '' -        runHook preCheck -        export HOME=$PWD -        ${lib.concatMapStringsSep "\n" dub-add-local deps} -        dub test --combined --skip-registry=all -        runHook postCheck -      ''; -      installPhase = '' -        runHook preInstall -        mkdir -p $out/bin -        cp -r "${targetOf package}" $out/bin -        runHook postInstall -      ''; -      meta = lib.optionalAttrs (package ? description) { -        description = package.description; -      } // attrs.meta or {}; -    } // lib.optionalAttrs (!(attrs ? version)) { -      # Use name from dub.json, unless pname and version are specified -      name = package.name; -    })); -  } -); -mkDubDerivation rec { -  name = "spine-${version}"; -  version = "0.11.3"; -  src = ./.; -  buildInputs = [ -    pkgs.sqlite -    ( -      let -        dub2nix-src = ./src/build_depends/dub2nix/.; -        dub2nix = (import dub2nix-src) { inherit pkgs; }; -      in -      with pkgs; [ -        nixFlakes -        rund -        dub -        ldc -        sqlite -        nix-prefetch-git -        validatePkgConfig -        jq -        git -      ] -    ) -  ]; -  # buildPhase = [ ]; -  installPhase = '' -    install -m755 -D spine $out/bin/spine -    echo "built $out/bin/spine" -  ''; -  meta = with pkgs.lib; { -    homepage = https://sisudoc.org; -    description = "a sisu like document parser"; -    license = licenses.agpl3Plus; -    platforms = platforms.linux; -    maintainers = [ RalphAmissah ]; -  }; -} | 
