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.nix28
1 files changed, 17 insertions, 11 deletions
diff --git a/pkgs/os-specific/bsd/openbsd/default.nix b/pkgs/os-specific/bsd/openbsd/default.nix
index 9ccc0adaa2d..6d909e1c556 100644
--- a/pkgs/os-specific/bsd/openbsd/default.nix
+++ b/pkgs/os-specific/bsd/openbsd/default.nix
@@ -1,4 +1,4 @@
-{ fetchcvs, netBSDDerivation, compat, libcurses, libressl }:
+{ fetchcvs, netBSDDerivation, compat, libcurses, libterminfo }:
 
 let
   fetchOpenBSD = path: version: sha256: fetchcvs {
@@ -21,22 +21,28 @@ in {
     path = "usr.bin/mg";
     version = "6.3";
     sha256 = "0n3hwa81c2mcjwbmidrbvi1l25jh8hy939kqrigbv78jixpynffc";
-    buildInputs = [ compat libcurses ];
+    buildInputs = [ compat libcurses libterminfo ];
     patchPhase = ''
       NIX_CFLAGS_COMPILE+=" -I$BSDSRCDIR/sys"
+      substituteInPlace fileio.c \
+        --replace "bp->b_fi.fi_mtime.tv_sec != sb.st_mtimespec.tv_sec" "bp->b_fi.fi_mtime.tv_sec != sb.st_mtim.tv_sec" \
+        --replace "bp->b_fi.fi_mtime.tv_nsec != sb.st_mtimespec.tv_nsec" "bp->b_fi.fi_mtime.tv_nsec != sb.st_mtim.tv_nsec" \
+        --replace "bp->b_fi.fi_mtime = sb.st_mtimespec" "bp->b_fi.fi_mtime = sb.st_mtim"
+      substituteInPlace Makefile \
+        --replace "-o root -g wheel" "" \
+        --replace '-o ''${DOCOWN} -g ''${DOCGRP}' ""
+    '';
+    NIX_CFLAGS_COMPILE = [ "-DTCSASOFT=0x10" "-Dpledge(a,b)=0" ];
+    preBuild = ''
+      cc -c $BSDSRCDIR/lib/libc/stdlib/strtonum.c -o strtonum.o
+      NIX_LDFLAGS+=" strtonum.o"
     '';
     extraPaths = [
       (fetchOpenBSD "sys/sys/tree.h" "6.3" "0rimh41wn9wz5m510zk9i27z3s450qqgq2k5xn8kp3885hygbcj9")
       (fetchOpenBSD "sys/sys/_null.h" "6.3" "0l2rgg9ai4ivfl07zmbqli19vnm3lj7qkxpikqplmzrfp36qpzgr")
-    ];
-  };
-
-  nc = openBSDDerivation {
-    path = "usr.bin/nc";
-    version = "6.3";
-    sha256 = "0fmnh6ccxab0qvhmgspyd3wra1ps2516i0j6hwkvna2lcny20xvr";
-    patches = [ ./nc.patch ];
-    buildInputs = [ compat libressl ];
+      (fetchOpenBSD "sys/sys/_null.h" "6.3" "0l2rgg9ai4ivfl07zmbqli19vnm3lj7qkxpikqplmzrfp36qpzgr")
+      (fetchOpenBSD "lib/libc/stdlib/strtonum.c" "6.3" "0xn3qxvb3g76hz698sjkf85p07zrcdv2g31inp8caqw2mpk6jadv")
+     ];
   };
 
 }