about summary refs log tree commit diff
path: root/pkgs/build-support/agda
diff options
context:
space:
mode:
authorAnderson Torres <torres.anderson.85@protonmail.com>2021-02-03 15:56:34 -0300
committerGitHub <noreply@github.com>2021-02-03 15:56:34 -0300
commit8bf1bc692c66549d6e1ab07b226424044d85491f (patch)
tree8027625a0bb48e0a37ded852e21c95640d09e19a /pkgs/build-support/agda
parenta27a2c4b1598a1b98c8c14c262cee5ffc4c9c11c (diff)
parent688ebdc77dcc73163da651ad1bfc7509266df67e (diff)
Merge pull request #110512 from neosimsim/agda-dont-install-Everything
Agda don't install Everything module
Diffstat (limited to 'pkgs/build-support/agda')
-rw-r--r--pkgs/build-support/agda/default.nix2
-rw-r--r--pkgs/build-support/agda/lib.nix10
2 files changed, 11 insertions, 1 deletions
diff --git a/pkgs/build-support/agda/default.nix b/pkgs/build-support/agda/default.nix
index 046bdd061f8cf..d610a8f9a6117 100644
--- a/pkgs/build-support/agda/default.nix
+++ b/pkgs/build-support/agda/default.nix
@@ -70,7 +70,7 @@ let
         installPhase = if installPhase != null then installPhase else ''
           runHook preInstall
           mkdir -p $out
-          find \( ${concatMapStringsSep " -or " (p: "-name '*.${p}'") (extensions ++ extraExtensions)} \) -exec cp -p --parents -t "$out" {} +
+          find -not \( -path ${everythingFile} -or -path ${lib.interfaceFile everythingFile} \) -and \( ${concatMapStringsSep " -or " (p: "-name '*.${p}'") (extensions ++ extraExtensions)} \) -exec cp -p --parents -t "$out" {} +
           runHook postInstall
         '';
       };
diff --git a/pkgs/build-support/agda/lib.nix b/pkgs/build-support/agda/lib.nix
new file mode 100644
index 0000000000000..976151a8283c6
--- /dev/null
+++ b/pkgs/build-support/agda/lib.nix
@@ -0,0 +1,10 @@
+{ lib }:
+{
+  /* Returns the Agda interface file to a given Agda file.
+  *
+  * Examples:
+  * interfaceFile "Everything.agda" == "Everything.agdai"
+  * interfaceFile "src/Everything.lagda.tex" == "src/Everything.agdai"
+  */
+  interfaceFile = agdaFile: lib.head (builtins.match ''(.*\.)l?agda(\.(md|org|rst|tex))?'' agdaFile) + "agdai";
+}