about summary refs log tree commit diff
path: root/pkgs/development/compilers/idris2/build-idris.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/compilers/idris2/build-idris.nix')
-rw-r--r--pkgs/development/compilers/idris2/build-idris.nix98
1 files changed, 0 insertions, 98 deletions
diff --git a/pkgs/development/compilers/idris2/build-idris.nix b/pkgs/development/compilers/idris2/build-idris.nix
deleted file mode 100644
index 1df763e4c4fd..000000000000
--- a/pkgs/development/compilers/idris2/build-idris.nix
+++ /dev/null
@@ -1,98 +0,0 @@
-{ stdenv, lib, idris2, makeWrapper
-}:
-# Usage: let
-#          pkg = idris2Packages.buildIdris {
-#            src = ...;
-#            ipkgName = "my-pkg";
-#            idrisLibraries = [ ];
-#          };
-#        in {
-#          lib = pkg.library { withSource = true; };
-#          bin = pkg.executable;
-#        }
-#
-{ src
-, ipkgName
-, version ? "unversioned"
-, idrisLibraries # Other libraries built with buildIdris
-, ... }@attrs:
-
-let
-  propagate = libs: lib.unique (lib.concatMap (nextLib: [nextLib] ++ nextLib.propagatedIdrisLibraries) libs);
-  ipkgFileName = ipkgName + ".ipkg";
-  idrName = "idris2-${idris2.version}";
-  libSuffix = "lib/${idrName}";
-  propagatedIdrisLibraries = propagate idrisLibraries;
-  libDirs =
-    (lib.makeSearchPath libSuffix propagatedIdrisLibraries) +
-    ":${idris2}/${idrName}";
-  supportDir = "${idris2}/${idrName}/lib";
-  drvAttrs = builtins.removeAttrs attrs [
-    "ipkgName"
-    "idrisLibraries"
-  ];
-
-  derivation = stdenv.mkDerivation (finalAttrs:
-    drvAttrs // {
-      pname = ipkgName;
-      inherit version;
-      src = src;
-      nativeBuildInputs = [ idris2 makeWrapper ] ++ attrs.nativeBuildInputs or [];
-      buildInputs = propagatedIdrisLibraries ++ attrs.buildInputs or [];
-
-      IDRIS2_PACKAGE_PATH = libDirs;
-
-      buildPhase = ''
-        runHook preBuild
-        idris2 --build ${ipkgFileName}
-        runHook postBuild
-      '';
-
-      passthru = {
-        inherit propagatedIdrisLibraries;
-      };
-
-      shellHook = ''
-        export IDRIS2_PACKAGE_PATH="${finalAttrs.IDRIS2_PACKAGE_PATH}"
-      '';
-    }
-  );
-
-in {
-  executable = derivation.overrideAttrs {
-    installPhase = ''
-      runHook preInstall
-      mkdir -p $out/bin
-      scheme_app="$(find ./build/exec -name '*_app')"
-      if [ "$scheme_app" = ''' ]; then
-        mv -- build/exec/* $out/bin/
-        chmod +x $out/bin/*
-        # ^ remove after Idris2 0.8.0 is released. will be superfluous:
-        # https://github.com/idris-lang/Idris2/pull/3189
-      else
-        cd build/exec/*_app
-        rm -f ./libidris2_support.so
-        for file in *.so; do
-          bin_name="''${file%.so}"
-          mv -- "$file" "$out/bin/$bin_name"
-          wrapProgram "$out/bin/$bin_name" \
-            --prefix LD_LIBRARY_PATH : ${supportDir} \
-            --prefix DYLD_LIBRARY_PATH : ${supportDir}
-        done
-      fi
-      runHook postInstall
-    '';
-  };
-
-  library = { withSource ? false }:
-    let installCmd = if withSource then "--install-with-src" else "--install";
-    in derivation.overrideAttrs {
-      installPhase = ''
-        runHook preInstall
-        mkdir -p $out/${libSuffix}
-        export IDRIS2_PREFIX=$out/lib
-        idris2 ${installCmd} ${ipkgFileName}
-        runHook postInstall
-      '';
-    };
-}