about summary refs log tree commit diff
path: root/pkgs/os-specific/bsd/openbsd/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/os-specific/bsd/openbsd/default.nix')
-rw-r--r--pkgs/os-specific/bsd/openbsd/default.nix69
1 files changed, 55 insertions, 14 deletions
diff --git a/pkgs/os-specific/bsd/openbsd/default.nix b/pkgs/os-specific/bsd/openbsd/default.nix
index bfc88f097865f..4db2df57bc262 100644
--- a/pkgs/os-specific/bsd/openbsd/default.nix
+++ b/pkgs/os-specific/bsd/openbsd/default.nix
@@ -1,5 +1,7 @@
 {
   lib,
+  crossLibcStdenv,
+  stdenvNoCC,
   makeScopeWithSplicing',
   generateSplicesForMkScope,
   buildPackages,
@@ -19,32 +21,71 @@ makeScopeWithSplicing' {
       directory = ./pkgs;
     }
     // {
-      libc = self.callPackage ./pkgs/libc/package.nix {
+      version = "7.5";
+
+      stdenvLibcMinimal = crossLibcStdenv.override (old: {
+        cc = old.cc.override {
+          libc = self.libcMinimal;
+          noLibc = false;
+          bintools = old.cc.bintools.override {
+            libc = self.libcMinimal;
+            noLibc = false;
+            sharedLibraryLoader = null;
+          };
+        };
+      });
+
+      makeMinimal = buildPackages.netbsd.makeMinimal.override { inherit (self) make-rules; };
+
+      # The manual callPackages below should in principle be unnecessary, but are
+      # necessary. See note in ../netbsd/default.nix
+
+      include = self.callPackage ./pkgs/include/package.nix {
+        inherit (buildOpenbsd) makeMinimal;
+        inherit (buildPackages.netbsd) install rpcgen mtree;
+      };
+
+      csu = self.callPackage ./pkgs/csu.nix {
+        inherit (self) include;
+        inherit (buildOpenbsd) makeMinimal;
+        inherit (buildPackages.netbsd) install;
+      };
+
+      libcMinimal = self.callPackage ./pkgs/libcMinimal/package.nix {
         inherit (self) csu include;
         inherit (buildOpenbsd) makeMinimal;
         inherit (buildPackages.netbsd)
           install
           gencat
+          tsort
           rpcgen
+          ;
+      };
+
+      librpcsvc = self.callPackage ./pkgs/librpcsvc.nix {
+        inherit (buildOpenbsd) openbsdSetupHook makeMinimal lorder;
+        inherit (buildPackages.netbsd)
+          install
           tsort
+          statHook
+          rpcgen
           ;
       };
-      makeMinimal = buildPackages.netbsd.makeMinimal.override { inherit (self) make-rules; };
+
+      libutil = self.callPackage ./pkgs/libutil.nix {
+        inherit (self) libcMinimal;
+        inherit (buildOpenbsd) openbsdSetupHook makeMinimal lorder;
+        inherit (buildPackages.netbsd) install tsort statHook;
+      };
+
+      lorder = self.callPackage ./pkgs/lorder.nix { inherit (buildPackages.netbsd) install; };
+
+      make-rules = self.callPackage ./pkgs/make-rules/package.nix { };
+
       mkDerivation = self.callPackage ./pkgs/mkDerivation.nix {
-        inherit (buildPackages.netbsd) install;
+        inherit (buildPackages.netbsd) install tsort;
         inherit (buildPackages.buildPackages) rsync;
       };
-      include = self.callPackage ./pkgs/include/package.nix {
-        inherit (buildOpenbsd) makeMinimal;
-        inherit (buildPackages.netbsd) install rpcgen mtree;
-      };
-      csu = self.callPackage ./pkgs/csu.nix {
-        inherit (self) include;
-        inherit (buildOpenbsd) makeMinimal;
-        inherit (buildPackages.netbsd) install;
-      };
-      make-rules = self.callPackage ./pkgs/make-rules/package.nix { };
-      lorder = self.callPackage ./pkgs/lorder.nix { inherit (buildPackages.netbsd) install; };
     }
   );
 }