diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/cap_mkdb.nix b/pkgs/os-specific/bsd/openbsd/pkgs/cap_mkdb.nix new file mode 100644 index 000000000000..9fc457d1645a --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/cap_mkdb.nix @@ -0,0 +1,5 @@ +{ mkDerivation }: +mkDerivation { + path = "usr.bin/cap_mkdb"; + meta.mainProgram = "cap_mkdb"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/cat.nix b/pkgs/os-specific/bsd/openbsd/pkgs/cat.nix new file mode 100644 index 000000000000..da33a76ebcbd --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/cat.nix @@ -0,0 +1,4 @@ +{ mkDerivation }: +mkDerivation { + path = "bin/cat"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/chmod/no-sbin.patch b/pkgs/os-specific/bsd/openbsd/pkgs/chmod/no-sbin.patch new file mode 100644 index 000000000000..df982c99d80e --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/chmod/no-sbin.patch @@ -0,0 +1,24 @@ +diff --git a/bin/chmod/Makefile b/bin/chmod/Makefile +index 82854bae3a3..39813dc8882 100644 +--- a/bin/chmod/Makefile ++++ b/bin/chmod/Makefile +@@ -3,17 +3,8 @@ + PROG= chmod + MAN= chmod.1 chgrp.1 chown.8 chflags.1 + LINKS= ${BINDIR}/chmod ${BINDIR}/chgrp \ +- ${BINDIR}/chmod /sbin/chown +- +-# XXX compatibility +-afterinstall: +- (cd ${DESTDIR}/usr/sbin && \ +- ln -sf ../../sbin/chown . && \ +- ln -sf ../../bin/chgrp . && \ +- chown -h ${BINOWN}:${BINGRP} chown chgrp) +- (cd ${DESTDIR}/usr/bin && \ +- ln -sf ../../bin/chmod chflags && \ +- chown -h ${BINOWN}:${BINGRP} chflags) ++ ${BINDIR}/chmod ${BINDIR}/chown \ ++ ${BINDIR}/chmod ${BINDIR}/chflags + + + .include diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/chmod/package.nix b/pkgs/os-specific/bsd/openbsd/pkgs/chmod/package.nix new file mode 100644 index 000000000000..79a75ecc1d94 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/chmod/package.nix @@ -0,0 +1,6 @@ +{ mkDerivation }: +mkDerivation { + path = "bin/chmod"; + + patches = [ ./no-sbin.patch ]; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/cmp.nix b/pkgs/os-specific/bsd/openbsd/pkgs/cmp.nix new file mode 100644 index 000000000000..7664d9e2e6c9 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/cmp.nix @@ -0,0 +1,4 @@ +{ mkDerivation }: +mkDerivation { + path = "usr.bin/cmp"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/cp.nix b/pkgs/os-specific/bsd/openbsd/pkgs/cp.nix new file mode 100644 index 000000000000..97bea47f2159 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/cp.nix @@ -0,0 +1,4 @@ +{ mkDerivation }: +mkDerivation { + path = "bin/cp"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/date.nix b/pkgs/os-specific/bsd/openbsd/pkgs/date.nix new file mode 100644 index 000000000000..a72871eaa2c5 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/date.nix @@ -0,0 +1,4 @@ +{ mkDerivation }: +mkDerivation { + path = "bin/date"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/dd.nix b/pkgs/os-specific/bsd/openbsd/pkgs/dd.nix new file mode 100644 index 000000000000..48c26288a7f0 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/dd.nix @@ -0,0 +1,4 @@ +{ mkDerivation }: +mkDerivation { + path = "bin/dd"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/dev_mkdb.nix b/pkgs/os-specific/bsd/openbsd/pkgs/dev_mkdb.nix new file mode 100644 index 000000000000..ac400e511106 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/dev_mkdb.nix @@ -0,0 +1,4 @@ +{ mkDerivation }: +mkDerivation { + path = "usr.sbin/dev_mkdb"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/df.nix b/pkgs/os-specific/bsd/openbsd/pkgs/df.nix new file mode 100644 index 000000000000..5563e13408b1 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/df.nix @@ -0,0 +1,4 @@ +{ mkDerivation }: +mkDerivation { + path = "bin/df"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/dhcpleasectl.nix b/pkgs/os-specific/bsd/openbsd/pkgs/dhcpleasectl.nix new file mode 100644 index 000000000000..dff762ab7580 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/dhcpleasectl.nix @@ -0,0 +1,7 @@ +{ mkDerivation }: +mkDerivation { + path = "usr.sbin/dhcpleasectl"; + + extraPaths = [ "sbin/dhcpleased" ]; + +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/dhcpleased.nix b/pkgs/os-specific/bsd/openbsd/pkgs/dhcpleased.nix new file mode 100644 index 000000000000..5431e89c6c2a --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/dhcpleased.nix @@ -0,0 +1,15 @@ +{ + mkDerivation, + libevent, + byacc, +}: +mkDerivation { + path = "sbin/dhcpleased"; + + postPatch = '' + sed -i 's/DPADD/#DPADD/' $BSDSRCDIR/sbin/dhcpleased/Makefile + ''; + + buildInputs = [ libevent ]; + extraNativeBuildInputs = [ byacc ]; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/dmesg.nix b/pkgs/os-specific/bsd/openbsd/pkgs/dmesg.nix new file mode 100644 index 000000000000..d4f9430c8b31 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/dmesg.nix @@ -0,0 +1,10 @@ +{ mkDerivation, libkvm }: +mkDerivation { + path = "sbin/dmesg"; + + buildInputs = [ libkvm ]; + + postPatch = '' + sed -i /DPADD/d $BSDSRCDIR/sbin/dmesg/Makefile + ''; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/domainname.nix b/pkgs/os-specific/bsd/openbsd/pkgs/domainname.nix new file mode 100644 index 000000000000..e486133050e5 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/domainname.nix @@ -0,0 +1,4 @@ +{ mkDerivation }: +mkDerivation { + path = "bin/domainname"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/echo.nix b/pkgs/os-specific/bsd/openbsd/pkgs/echo.nix new file mode 100644 index 000000000000..438a7b552db3 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/echo.nix @@ -0,0 +1,4 @@ +{ mkDerivation }: +mkDerivation { + path = "bin/echo"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/ed.nix b/pkgs/os-specific/bsd/openbsd/pkgs/ed.nix new file mode 100644 index 000000000000..d897b5f8f122 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/ed.nix @@ -0,0 +1,4 @@ +{ mkDerivation }: +mkDerivation { + path = "bin/ed"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/expr.nix b/pkgs/os-specific/bsd/openbsd/pkgs/expr.nix new file mode 100644 index 000000000000..e79efb0da57e --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/expr.nix @@ -0,0 +1,4 @@ +{ mkDerivation }: +mkDerivation { + path = "bin/expr"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/getent.nix b/pkgs/os-specific/bsd/openbsd/pkgs/getent.nix new file mode 100644 index 000000000000..4d812f506b4d --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/getent.nix @@ -0,0 +1 @@ +{ mkDerivation }: mkDerivation { path = "usr.bin/getent"; } diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/getty.nix b/pkgs/os-specific/bsd/openbsd/pkgs/getty.nix new file mode 100644 index 000000000000..d01aad009558 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/getty.nix @@ -0,0 +1,21 @@ +{ + mkDerivation, + login, +}: +mkDerivation { + path = "libexec/getty"; + extraPaths = [ "etc/gettytab" ]; + + postPatch = '' + substituteInPlace $BSDSRCDIR/libexec/getty/pathnames.h \ + --replace-fail "/usr/libexec/getty" "$out/bin/getty" \ + --replace-fail "/usr/bin/login" "${login}/bin/login" + ''; + + postInstall = '' + mkdir -p $out/etc + cp $BSDSRCDIR/etc/gettytab $out/etc/gettytab + ''; + + meta.mainProgram = "getty"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/hostname.nix b/pkgs/os-specific/bsd/openbsd/pkgs/hostname.nix new file mode 100644 index 000000000000..d6433e4fc600 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/hostname.nix @@ -0,0 +1,4 @@ +{ mkDerivation }: +mkDerivation { + path = "bin/hostname"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/id.nix b/pkgs/os-specific/bsd/openbsd/pkgs/id.nix new file mode 100644 index 000000000000..97addccf8329 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/id.nix @@ -0,0 +1,6 @@ +{ + mkDerivation, +}: +mkDerivation { + path = "usr.bin/id"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/ifconfig.nix b/pkgs/os-specific/bsd/openbsd/pkgs/ifconfig.nix new file mode 100644 index 000000000000..b47c28b9c165 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/ifconfig.nix @@ -0,0 +1,4 @@ +{ mkDerivation }: +mkDerivation { + path = "sbin/ifconfig"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/kdump.nix b/pkgs/os-specific/bsd/openbsd/pkgs/kdump.nix new file mode 100644 index 000000000000..6248db492ceb --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/kdump.nix @@ -0,0 +1,8 @@ +{ mkDerivation }: +mkDerivation { + path = "usr.bin/kdump"; + extraPaths = [ + "sys" + "usr.bin/ktrace" + ]; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/kill.nix b/pkgs/os-specific/bsd/openbsd/pkgs/kill.nix new file mode 100644 index 000000000000..62fe71e879e9 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/kill.nix @@ -0,0 +1,4 @@ +{ mkDerivation }: +mkDerivation { + path = "bin/kill"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/ktrace.nix b/pkgs/os-specific/bsd/openbsd/pkgs/ktrace.nix new file mode 100644 index 000000000000..88258006e262 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/ktrace.nix @@ -0,0 +1,4 @@ +{ mkDerivation }: +mkDerivation { + path = "usr.bin/ktrace"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/kvm_mkdb.nix b/pkgs/os-specific/bsd/openbsd/pkgs/kvm_mkdb.nix new file mode 100644 index 000000000000..c8c279f1f6a9 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/kvm_mkdb.nix @@ -0,0 +1,4 @@ +{ mkDerivation }: +mkDerivation { + path = "usr.sbin/kvm_mkdb"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/libc.nix b/pkgs/os-specific/bsd/openbsd/pkgs/libc.nix index db49e28ec7e3..7bb0516729d0 100644 --- a/pkgs/os-specific/bsd/openbsd/pkgs/libc.nix +++ b/pkgs/os-specific/bsd/openbsd/pkgs/libc.nix @@ -7,6 +7,7 @@ libm, librpcsvc, libutil, + libexecinfo, rtld, version, }: @@ -36,6 +37,7 @@ symlinkJoin rec { librthread librpcsvc libutil + libexecinfo ] ++ (lib.optional (!stdenvNoLibc.hostPlatform.isStatic) rtld) ); diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/libcurses.nix b/pkgs/os-specific/bsd/openbsd/pkgs/libcurses.nix new file mode 100644 index 000000000000..11185d75261a --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/libcurses.nix @@ -0,0 +1,13 @@ +{ + lib, + mkDerivation, + buildPackages, +}: +mkDerivation { + path = "lib/libcurses"; + + makeFlags = [ + "AWK=${lib.getBin buildPackages.gawk}/bin/awk" + "HOSTCC=${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc" + ]; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/libevent.nix b/pkgs/os-specific/bsd/openbsd/pkgs/libevent.nix new file mode 100644 index 000000000000..9c98075f529c --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/libevent.nix @@ -0,0 +1,7 @@ +{ mkDerivation }: +mkDerivation { + path = "lib/libevent"; + preInstall = '' + mkdir -p $out/include + ''; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/libexecinfo.nix b/pkgs/os-specific/bsd/openbsd/pkgs/libexecinfo.nix new file mode 100644 index 000000000000..245615cc8d87 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/libexecinfo.nix @@ -0,0 +1,22 @@ +{ + lib, + mkDerivation, +}: + +mkDerivation { + path = "gnu/lib/libexecinfo"; + extraPaths = [ + "gnu/llvm/libunwind" + "gnu/llvm/libcxx" + "gnu/lib/libcxx" + ]; + + libcMinimal = true; + + outputs = [ + "out" + "man" + ]; + + meta.platforms = lib.platforms.openbsd; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/libkvm.nix b/pkgs/os-specific/bsd/openbsd/pkgs/libkvm.nix new file mode 100644 index 000000000000..3fe8a1b2fdd2 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/libkvm.nix @@ -0,0 +1,6 @@ +{ + mkDerivation, +}: +mkDerivation { + path = "lib/libkvm"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/ln.nix b/pkgs/os-specific/bsd/openbsd/pkgs/ln.nix new file mode 100644 index 000000000000..e4479146da63 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/ln.nix @@ -0,0 +1,4 @@ +{ mkDerivation }: +mkDerivation { + path = "bin/ln"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/login.nix b/pkgs/os-specific/bsd/openbsd/pkgs/login.nix new file mode 100644 index 000000000000..79204735387b --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/login.nix @@ -0,0 +1,12 @@ +{ + mkDerivation, + libutil, +}: +mkDerivation { + path = "usr.bin/login"; + buildInputs = [ + libutil + ]; + + meta.mainProgram = "login"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/login_passwd.nix b/pkgs/os-specific/bsd/openbsd/pkgs/login_passwd.nix new file mode 100644 index 000000000000..20a37e33a4ab --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/login_passwd.nix @@ -0,0 +1,10 @@ +{ + mkDerivation, +}: +mkDerivation { + path = "libexec/login_passwd"; + + postPatch = '' + sed -i 's/4555/0555/' $BSDSRCDIR/libexec/login_passwd/Makefile + ''; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/ls.nix b/pkgs/os-specific/bsd/openbsd/pkgs/ls.nix new file mode 100644 index 000000000000..814064ceaddf --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/ls.nix @@ -0,0 +1,4 @@ +{ mkDerivation }: +mkDerivation { + path = "bin/ls"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/md5.nix b/pkgs/os-specific/bsd/openbsd/pkgs/md5.nix new file mode 100644 index 000000000000..784f150c2622 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/md5.nix @@ -0,0 +1,4 @@ +{ mkDerivation }: +mkDerivation { + path = "bin/md5"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/mkdir.nix b/pkgs/os-specific/bsd/openbsd/pkgs/mkdir.nix new file mode 100644 index 000000000000..3f17118a3d81 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/mkdir.nix @@ -0,0 +1,4 @@ +{ mkDerivation }: +mkDerivation { + path = "bin/mkdir"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/mount/package.nix b/pkgs/os-specific/bsd/openbsd/pkgs/mount/package.nix new file mode 100644 index 000000000000..1fd2d02bf899 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/mount/package.nix @@ -0,0 +1,9 @@ +{ + mkDerivation, +}: + +mkDerivation { + path = "sbin/mount"; + meta.mainProgram = "mount"; + patches = [ ./search-path.patch ]; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/mount/search-path.patch b/pkgs/os-specific/bsd/openbsd/pkgs/mount/search-path.patch new file mode 100644 index 000000000000..f764ef3f67c5 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/mount/search-path.patch @@ -0,0 +1,39 @@ +diff --git a/sbin/mount/mount.c b/sbin/mount/mount.c +index eaff190b572..4bce21559f6 100644 +--- a/sbin/mount/mount.c ++++ b/sbin/mount/mount.c +@@ -338,12 +338,6 @@ mountfs(const char *vfstype, const char *spec, const char *name, + { + char *cp; + +- /* List of directories containing mount_xxx subcommands. */ +- static const char *edirs[] = { +- _PATH_SBIN, +- _PATH_USRSBIN, +- NULL +- }; + const char **argv, **edir; + struct statfs sf; + pid_t pid; +@@ -427,15 +421,12 @@ mountfs(const char *vfstype, const char *spec, const char *name, + return (1); + case 0: /* Child. */ + /* Go find an executable. */ +- edir = edirs; +- do { +- (void)snprintf(execname, +- sizeof(execname), "%s/mount_%s", *edir, vfstype); +- argv[0] = execname; +- execv(execname, (char * const *)argv); +- if (errno != ENOENT) +- warn("exec %s for %s", execname, name); +- } while (*++edir != NULL); ++ (void)snprintf(execname, ++ sizeof(execname), "mount_%s", vfstype); ++ argv[0] = execname; ++ execvp(execname, (char * const *)argv); ++ if (errno != ENOENT) ++ warn("exec %s for %s", execname, name); + + if (errno == ENOENT) + warn("no mount helper program found for %s", vfstype); diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/mount_ffs/package.nix b/pkgs/os-specific/bsd/openbsd/pkgs/mount_ffs/package.nix new file mode 100644 index 000000000000..ca00207f3efd --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/mount_ffs/package.nix @@ -0,0 +1,8 @@ +{ + mkDerivation, +}: + +mkDerivation { + path = "sbin/mount_ffs"; + extraPaths = [ "sbin/mount" ]; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/mount_tmpfs/package.nix b/pkgs/os-specific/bsd/openbsd/pkgs/mount_tmpfs/package.nix new file mode 100644 index 000000000000..641efd6df4ed --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/mount_tmpfs/package.nix @@ -0,0 +1,8 @@ +{ + mkDerivation, +}: + +mkDerivation { + path = "sbin/mount_tmpfs"; + extraPaths = [ "sbin/mount" ]; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/mt.nix b/pkgs/os-specific/bsd/openbsd/pkgs/mt.nix new file mode 100644 index 000000000000..e9be285a4636 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/mt.nix @@ -0,0 +1,4 @@ +{ mkDerivation }: +mkDerivation { + path = "bin/mt"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/mtree/package.nix b/pkgs/os-specific/bsd/openbsd/pkgs/mtree/package.nix new file mode 100644 index 000000000000..733518920c6e --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/mtree/package.nix @@ -0,0 +1,6 @@ +{ + mkDerivation, +}: +mkDerivation { + path = "usr.sbin/mtree"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/mv.nix b/pkgs/os-specific/bsd/openbsd/pkgs/mv.nix new file mode 100644 index 000000000000..ffdce887d6e5 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/mv.nix @@ -0,0 +1,4 @@ +{ mkDerivation }: +mkDerivation { + path = "bin/mv"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/newsyslog.nix b/pkgs/os-specific/bsd/openbsd/pkgs/newsyslog.nix new file mode 100644 index 000000000000..177170edb8f8 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/newsyslog.nix @@ -0,0 +1,4 @@ +{ mkDerivation }: +mkDerivation { + path = "usr.bin/newsyslog"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/pfctl/package.nix b/pkgs/os-specific/bsd/openbsd/pkgs/pfctl/package.nix new file mode 100644 index 000000000000..3754218f80be --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/pfctl/package.nix @@ -0,0 +1,16 @@ +{ + mkDerivation, + byacc, +}: +mkDerivation { + path = "sbin/pfctl"; + extraPaths = [ + "sys/net" + ]; + + extraNativeBuildInputs = [ + byacc + ]; + + meta.mainProgram = "pfctl"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/pkill.nix b/pkgs/os-specific/bsd/openbsd/pkgs/pkill.nix new file mode 100644 index 000000000000..b217de6a7b00 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/pkill.nix @@ -0,0 +1,15 @@ +{ + mkDerivation, + libkvm, +}: +mkDerivation { + path = "usr.bin/pkill"; + + buildInputs = [ + libkvm + ]; + + postPatch = '' + sed -i /DPADD/d $BSDSRCDIR/usr.bin/pkill/Makefile + ''; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/ps.nix b/pkgs/os-specific/bsd/openbsd/pkgs/ps.nix new file mode 100644 index 000000000000..402d86b723eb --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/ps.nix @@ -0,0 +1,9 @@ +{ mkDerivation, libkvm }: +mkDerivation { + path = "bin/ps"; + + buildInputs = [ libkvm ]; + postPatch = '' + sed -i /DPADD/d $BSDSRCDIR/bin/ps/Makefile + ''; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/pwd.nix b/pkgs/os-specific/bsd/openbsd/pkgs/pwd.nix new file mode 100644 index 000000000000..aeafbb9b2f2b --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/pwd.nix @@ -0,0 +1,4 @@ +{ mkDerivation }: +mkDerivation { + path = "bin/pwd"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/pwd_mkdb.nix b/pkgs/os-specific/bsd/openbsd/pkgs/pwd_mkdb.nix new file mode 100644 index 000000000000..5329e58e4747 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/pwd_mkdb.nix @@ -0,0 +1,4 @@ +{ mkDerivation, ... }: +mkDerivation { + path = "usr.sbin/pwd_mkdb"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/rm.nix b/pkgs/os-specific/bsd/openbsd/pkgs/rm.nix new file mode 100644 index 000000000000..f96d361368d4 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/rm.nix @@ -0,0 +1,4 @@ +{ mkDerivation }: +mkDerivation { + path = "bin/rm"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/rmdir.nix b/pkgs/os-specific/bsd/openbsd/pkgs/rmdir.nix new file mode 100644 index 000000000000..c716c585a579 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/rmdir.nix @@ -0,0 +1,4 @@ +{ mkDerivation }: +mkDerivation { + path = "bin/rmdir"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/route.nix b/pkgs/os-specific/bsd/openbsd/pkgs/route.nix new file mode 100644 index 000000000000..dcf6b66c50e1 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/route.nix @@ -0,0 +1,4 @@ +{ mkDerivation }: +mkDerivation { + path = "sbin/route"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/sed.nix b/pkgs/os-specific/bsd/openbsd/pkgs/sed.nix new file mode 100644 index 000000000000..e26700688fad --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/sed.nix @@ -0,0 +1,4 @@ +{ mkDerivation }: +mkDerivation { + path = "usr.bin/sed"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/shutdown.nix b/pkgs/os-specific/bsd/openbsd/pkgs/shutdown.nix new file mode 100644 index 000000000000..15c602455866 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/shutdown.nix @@ -0,0 +1,8 @@ +{ mkDerivation }: +mkDerivation { + path = "sbin/shutdown"; + + preBuild = '' + sed -i 's/4550/0550/' Makefile + ''; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/slaacctl.nix b/pkgs/os-specific/bsd/openbsd/pkgs/slaacctl.nix new file mode 100644 index 000000000000..89f7d8c3328d --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/slaacctl.nix @@ -0,0 +1,7 @@ +{ mkDerivation }: +mkDerivation { + path = "usr.sbin/slaacctl"; + + extraPaths = [ "sbin/slaacd" ]; + +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/slaacd.nix b/pkgs/os-specific/bsd/openbsd/pkgs/slaacd.nix new file mode 100644 index 000000000000..aa74b40de9e2 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/slaacd.nix @@ -0,0 +1,15 @@ +{ + mkDerivation, + libevent, + byacc, +}: +mkDerivation { + path = "sbin/slaacd"; + + postPatch = '' + sed -i 's/DPADD/#DPADD/' $BSDSRCDIR/sbin/slaacd/Makefile + ''; + + buildInputs = [ libevent ]; + extraNativeBuildInputs = [ byacc ]; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/sleep.nix b/pkgs/os-specific/bsd/openbsd/pkgs/sleep.nix new file mode 100644 index 000000000000..fcfc313e15a4 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/sleep.nix @@ -0,0 +1,4 @@ +{ mkDerivation }: +mkDerivation { + path = "bin/sleep"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/stty.nix b/pkgs/os-specific/bsd/openbsd/pkgs/stty.nix new file mode 100644 index 000000000000..79d5132043a7 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/stty.nix @@ -0,0 +1,4 @@ +{ mkDerivation }: +mkDerivation { + path = "bin/stty"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/su.nix b/pkgs/os-specific/bsd/openbsd/pkgs/su.nix new file mode 100644 index 000000000000..d25db35d3e51 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/su.nix @@ -0,0 +1,12 @@ +{ + mkDerivation, +}: +mkDerivation { + path = "usr.bin/su"; + + postPatch = '' + sed -i /BINMODE/d $BSDSRCDIR/usr.bin/su/Makefile + ''; + + meta.mainProgram = "su"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/swapctl.nix b/pkgs/os-specific/bsd/openbsd/pkgs/swapctl.nix new file mode 100644 index 000000000000..7474c9bf1780 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/swapctl.nix @@ -0,0 +1,4 @@ +{ mkDerivation }: +mkDerivation { + path = "sbin/swapctl"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/sync.nix b/pkgs/os-specific/bsd/openbsd/pkgs/sync.nix new file mode 100644 index 000000000000..20ce42be239d --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/sync.nix @@ -0,0 +1,4 @@ +{ mkDerivation }: +mkDerivation { + path = "bin/sync"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/sysctl/no-perms.patch b/pkgs/os-specific/bsd/openbsd/pkgs/sysctl/no-perms.patch new file mode 100644 index 000000000000..f89d9f2f3eef --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/sysctl/no-perms.patch @@ -0,0 +1,13 @@ +diff --git a/sbin/sysctl/Makefile b/sbin/sysctl/Makefile +index 6454e1dc888..53ddf3f3038 100644 +--- a/sbin/sysctl/Makefile ++++ b/sbin/sysctl/Makefile +@@ -5,8 +5,4 @@ MAN= sysctl.8 + + CPPFLAGS+= -D_LIBKVM + +-afterinstall: +- ln -sf ../../sbin/sysctl ${DESTDIR}/usr/sbin +- chown -h ${BINOWN}:${BINGRP} ${DESTDIR}/usr/sbin/sysctl +- + .include diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/sysctl/package.nix b/pkgs/os-specific/bsd/openbsd/pkgs/sysctl/package.nix new file mode 100644 index 000000000000..b351a477f35b --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/sysctl/package.nix @@ -0,0 +1,8 @@ +{ + mkDerivation, +}: +mkDerivation { + path = "sbin/sysctl"; + patches = [ ./no-perms.patch ]; + meta.mainProgram = "sysctl"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/syslogd.nix b/pkgs/os-specific/bsd/openbsd/pkgs/syslogd.nix new file mode 100644 index 000000000000..340b08adba33 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/syslogd.nix @@ -0,0 +1,17 @@ +{ + mkDerivation, + libressl, + libevent, +}: +mkDerivation { + path = "usr.sbin/syslogd"; + + buildInputs = [ + libressl + libevent + ]; + + postPatch = '' + sed -i /DPADD/d $BSDSRCDIR/usr.sbin/syslogd/Makefile + ''; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/test.nix b/pkgs/os-specific/bsd/openbsd/pkgs/test.nix new file mode 100644 index 000000000000..d8d7baae1ad2 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/test.nix @@ -0,0 +1,4 @@ +{ mkDerivation }: +mkDerivation { + path = "bin/test"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/top.nix b/pkgs/os-specific/bsd/openbsd/pkgs/top.nix new file mode 100644 index 000000000000..3cd374fd6161 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/top.nix @@ -0,0 +1,6 @@ +{ mkDerivation, libcurses }: +mkDerivation { + path = "usr.bin/top"; + + buildInputs = [ libcurses ]; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/ttyflags/package.nix b/pkgs/os-specific/bsd/openbsd/pkgs/ttyflags/package.nix new file mode 100644 index 000000000000..da0099b6bceb --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/ttyflags/package.nix @@ -0,0 +1,6 @@ +{ + mkDerivation, +}: +mkDerivation { + path = "sbin/ttyflags"; +} diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/vmstat.nix b/pkgs/os-specific/bsd/openbsd/pkgs/vmstat.nix new file mode 100644 index 000000000000..bc654ad650e6 --- /dev/null +++ b/pkgs/os-specific/bsd/openbsd/pkgs/vmstat.nix @@ -0,0 +1,9 @@ +{ mkDerivation, libkvm }: +mkDerivation { + path = "usr.bin/vmstat"; + + buildInputs = [ libkvm ]; + postPatch = '' + sed -i /DPADD/d $BSDSRCDIR/usr.bin/vmstat/Makefile + ''; +} diff --git a/pkgs/top-level/unixtools.nix b/pkgs/top-level/unixtools.nix index 93bb34bba20d..32ca64052369 100644 --- a/pkgs/top-level/unixtools.nix +++ b/pkgs/top-level/unixtools.nix @@ -88,6 +88,7 @@ let else pkgs.netbsd.getent; darwin = pkgs.netbsd.getent; freebsd = pkgs.freebsd.getent; + openbsd = pkgs.openbsd.getent; }; getopt = { linux = pkgs.util-linux; @@ -110,11 +111,13 @@ let linux = pkgs.nettools; darwin = pkgs.darwin.shell_cmds; freebsd = pkgs.freebsd.bin; + openbsd = pkgs.openbsd.hostname; }; ifconfig = { linux = pkgs.nettools; darwin = pkgs.darwin.network_cmds; freebsd = pkgs.freebsd.ifconfig; + openbsd = pkgs.openbsd.ifconfig; }; killall = { linux = pkgs.psmisc; @@ -141,6 +144,7 @@ let linux = pkgs.util-linux; darwin = pkgs.darwin.diskdev_cmds; freebsd = freebsd.mount; + openbsd = pkgs.openbsd.mount; # technically just targeting the darwin version; binlore already # ids the util-linux copy as 'cannot' # no obvious exec in manpage args; I think binlore flags 'can' @@ -163,6 +167,7 @@ let linux = pkgs.procps; darwin = pkgs.darwin.ps; freebsd = pkgs.freebsd.bin; + openbsd = pkgs.openbsd.ps; # technically just targeting procps ps (which ids as can) # but I don't see obvious exec in args; have yet to look # for underlying cause in source @@ -178,6 +183,7 @@ let linux = pkgs.nettools; darwin = pkgs.darwin.network_cmds; freebsd = pkgs.freebsd.route; + openbsd = pkgs.openbsd.route; }; script = { linux = pkgs.util-linux; @@ -187,11 +193,13 @@ let linux = pkgs.procps; darwin = pkgs.darwin.system_cmds; freebsd = pkgs.freebsd.sysctl; + openbsd = pkgs.openbsd.sysctl; }; top = { linux = pkgs.procps; darwin = pkgs.darwin.top; freebsd = pkgs.freebsd.top; + openbsd = pkgs.openbsd.top; # technically just targeting procps top; haven't needed this in # any scripts so far, but overriding it for consistency with ps # override above and in procps. (procps also overrides 'free', @@ -218,6 +226,7 @@ let # Darwin/FreeBSD. Unfortunately no other implementations exist currently! darwin = pkgs.callPackage ../os-specific/linux/procps-ng {}; freebsd = pkgs.callPackage ../os-specific/linux/procps-ng {}; + openbsd = pkgs.callPackage ../os-specific/linux/procps-ng {}; }; write = { linux = pkgs.util-linux;