python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / development / interpreters / dhall / build-dhall-github-package.nix
blob8f9e4d835511c4bf18c507670543119c96e229ff
1 { buildDhallPackage, fetchFromGitHub, lib }:
3 # This function is used by `dhall-to-nixpkgs` when given a GitHub repository
4 lib.makePackageOverridable
5   ( { # Arguments passed through to `buildDhallPackage`
6       name
7     , dependencies ? []
8     , source ? false
10     , # The directory containing the Dhall files, if other than the root of the
11       # repository
12       directory ? ""
13     , # The file to import, relative to the above directory
14       file ? "package.dhall"
15       # Set to `true` to generate documentation for the package
16     , document ? false
18       # Arguments passed through to `fetchFromGitHub`
19     , owner
20     , repo
21     , rev
22       # Extra arguments passed through to `fetchFromGitHub`, such as the hash
23       # or `fetchSubmodules`
24     , ...
25     }@args:
27     let
28       versionedName = "${name}-${rev}";
30       src = fetchFromGitHub ({
31         name = "${versionedName}-source";
33         inherit owner repo rev;
34       } // removeAttrs args [
35         "name"
36         "dependencies"
37         "document"
38         "source"
39         "directory"
40         "file"
41         "owner"
42         "repo"
43         "rev"
44       ]);
46       prefix = lib.optionalString (directory != "") "/${directory}";
48     in
49       buildDhallPackage
50         ( { inherit dependencies source;
52             name = versionedName;
54             code = "${src}${prefix}/${file}";
55           }
56         // lib.optionalAttrs document
57           { documentationRoot = "${src}/${prefix}";
59             baseImportUrl = "https://raw.githubusercontent.com/${owner}/${repo}/${rev}${prefix}";
60           }
61         )
62   )