nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 stdenv,
3 lib,
4 stdenvNoCC,
5 fetchgit,
6 sourceData,
7 versionData,
8 buildFreebsd,
9 patchesRoot,
10 writeText,
11 buildPackages,
12}:
13
14self:
15
16lib.packagesFromDirectoryRecursive {
17 callPackage = self.callPackage;
18 directory = ./pkgs;
19}
20// {
21 inherit sourceData patchesRoot versionData;
22
23 # Keep the crawled portion of Nixpkgs finite.
24 buildFreebsd = lib.dontRecurseIntoAttrs buildFreebsd;
25
26 ports = fetchgit {
27 url = "https://git.FreeBSD.org/ports.git";
28 rev = "dde3b2b456c3a4bdd217d0bf3684231cc3724a0a";
29 sha256 = "BpHqJfnGOeTE7tkFJBx0Wk8ryalmf4KNTit/Coh026E=";
30 };
31
32 compatIsNeeded = !stdenvNoCC.hostPlatform.isFreeBSD;
33 compatIfNeeded = lib.optional self.compatIsNeeded self.compat;
34 freebsd-lib = import ./lib {
35 version = lib.concatStringsSep "." (
36 map toString (
37 lib.filter (x: x != null) [
38 self.versionData.major
39 self.versionData.minor
40 self.versionData.patch or null
41 ]
42 )
43 );
44 inherit lib writeText;
45 };
46
47 # The manual callPackages below should in principle be unnecessary, but are
48 # necessary. See note in ../netbsd/default.nix
49
50 compat = self.callPackage ./pkgs/compat/package.nix {
51 inherit stdenv;
52 inherit (buildFreebsd) makeMinimal;
53 };
54
55 csu = self.callPackage ./pkgs/csu.nix {
56 inherit (buildFreebsd) makeMinimal install gencat;
57 inherit (self) include;
58 };
59
60 include = self.callPackage ./pkgs/include/package.nix { inherit (buildFreebsd) rpcgen mtree; };
61
62 install = self.callPackage ./pkgs/install.nix {
63 inherit (buildFreebsd) makeMinimal;
64 inherit (self) libmd libnetbsd;
65 };
66
67 libcMinimal = self.callPackage ./pkgs/libcMinimal.nix {
68 inherit (buildFreebsd)
69 rpcgen
70 gencat
71 ;
72 inherit (buildPackages)
73 flex
74 byacc
75 ;
76 };
77
78 libc = self.callPackage ./pkgs/libc/package.nix {
79 inherit (self) libcMinimal librpcsvc libelf;
80 };
81
82 librpcsvc = self.callPackage ./pkgs/librpcsvc.nix {
83 inherit (buildFreebsd) rpcgen;
84 };
85
86 i18n = self.callPackage ./pkgs/i18n.nix { inherit (buildFreebsd) mkcsmapper mkesdb; };
87
88 libelf = self.callPackage ./pkgs/libelf.nix { inherit (buildPackages) m4; };
89
90 rtld-elf = self.callPackage ./pkgs/rtld-elf.nix {
91 inherit (buildFreebsd) rpcgen;
92 inherit (buildPackages) flex byacc;
93 };
94
95 libnetbsd = self.callPackage ./pkgs/libnetbsd/package.nix { inherit (buildFreebsd) makeMinimal; };
96
97 libmd = self.callPackage ./pkgs/libmd.nix { inherit (buildFreebsd) makeMinimal; };
98
99 mkDerivation = self.callPackage ./pkgs/mkDerivation.nix {
100 inherit stdenv;
101 inherit (buildFreebsd)
102 freebsdSetupHook
103 makeMinimal
104 install
105 tsort
106 lorder
107 ;
108 };
109
110 makeMinimal = self.callPackage ./pkgs/makeMinimal.nix { inherit (self) make; };
111
112 mtree = self.callPackage ./pkgs/mtree.nix { inherit (self) libnetbsd libmd; };
113
114 tsort = self.callPackage ./pkgs/tsort.nix { inherit (buildFreebsd) makeMinimal install; };
115}