about summary refs log tree commit diff
path: root/pkgs/os-specific/bsd
AgeCommit message (Collapse)AuthorFilesLines
2021-09-22netbsd.compat: fix libs by using cctools strip as objcopyRyan Burns1-2/+6
Reverts d43df749ac4779cdb3f53146c8c1ef66b4f33e33 NetBSD makefiles strip local symbols from libs using `OBJCOPY?=objcopy`, which is missing on macOS. GNU objcopy appears to succeed but produces broken .a libs which do not link into dependers. (As this issue does not fail the netbsd.compat build, downstream netbsd.install is added to passthru.tests.) Since `OBJCOPY` is only used for stripping, we can: * skip stripping with the hacky `OBJCOPY=echo` * use cctools strip, which is invoked in the same way The latter is obviously preferable if it works. Indeed, locals are stripped, although it doesn't affect size much. Comparison: `OBJCOPY=echo`: ``` $ du -b result/lib/*.a 347784 result/lib/libnbcompat.a 357120 result/lib/libnbcompat_p.a ``` `OBJCOPY=${cctools}/bin/strip`: ``` $ du -b result/lib/*.a 347008 result/lib/libnbcompat.a 357120 result/lib/libnbcompat_p.a ```
2021-09-19netbsd.compat: fix build on darwinRyan Burns1-0/+2
The makefile requires GNU objcopy
2021-09-03netbsd: Make hard/soft float match systems settingsJohn Ericson2-13/+25
2021-09-03netbsd.compat: Fix cross compilationJohn Ericson6-20/+204
Not to netbsd, where it isn't needed, but elsewhere. A few things going on here: - Make compat use the "regular" not "host" makefile infra. This, however, makes more assumptions that the toolchain is BSD-like, and so we need to compensate for them with the likes of: - `LORDER=...` and `TSORT=...` - Move `export INSTALL_*` to install's setup hook so they don't interfere with coreutils install - Don't use `DESTDIR` for installing include files, instead set `INCSDIR`. This is more proper, but doesn't work when `INCSDIR` is set multiple times, unfortunately, as CLI defs override all other assignments. So instead set `INCSDIR0` on the CLI, and do some `INCSDIR = ${INCSDIR0}/...` in the relevant packages. - `INCSDIR` is set just in the NetBSD setup hook because FreeBSD uses `INCLUDEDIR`.
2021-09-03netbsd.compat: Don't configure twiceJohn Ericson3-1/+35
2021-07-11netbsd: Split out path merging from bsd setup hookJohn Ericson3-23/+34
I plan on doing the sources for FreeBSD differently. Indeed we might want to change this for NetBSD too eventually. In any event, the way we manage sources is not intrinsically the same across BSDs so it makes sense to pull this out.
2021-07-10netbsd: Use rsync to speed up source mergingJohn Ericson2-16/+19
The find -exec that was there before is quite slow on my machine. This is much faster.
2021-06-10Merge staging-next into staginggithub-actions[bot]1-0/+4
2021-06-09netbsd: add aliases for i486 and i586ash lea1-0/+4
2021-06-07Merge staging-next into staginggithub-actions[bot]1-0/+2
2021-06-06netbsd: disable stack protection on i686Alyssa Ross1-0/+2
Builds fail otherwise, because the linker can't find the stack protector symbols.
2021-05-31Merge staging-next into staginggithub-actions[bot]1-2/+2
2021-05-31netbsdCross.ld_elf_so: use same stage's libcAlyssa Ross1-2/+2
We need netbsdCross.ld_elf_so to be the dynamic linker in cross netbsd's bintools, but netbsdCross doesn't have a libc in stdenv. So instead, use netbsdCross.libc for netbsdCross.ld_elf_so.
2021-05-26netbsd: 9.1 -> 9.2Alyssa Ross1-61/+61
2021-05-09netbsd: 8.0 -> 9.1Alyssa Ross2-92/+121
Notes: - compat: Needs a header from common merged with it's wrapper. - librt: Needs the jemalloc sources. - libc: install libc_pic.a This was the behaviour on NetBSD 8.0, and ld.elf_so (in its current configuration) requires it. We could also have disabled PIC in ld.elf_so. - sys: fix build We use a more recent version of binutils than NetBSD 9.1 does, so we need to backport a patch from CURRENT. Co-authored-by: John Ericson <John.Ericson@Obsidian.Systems>
2021-05-06Merge remote-tracking branch 'upstream/staging-next' into stagingJohn Ericson1-1/+2
2021-05-01netbsd.libedit: fix buildAlyssa Ross1-0/+2
2021-04-30netbsd.libcurses: fix buildAlyssa Ross1-0/+1
2021-04-23Merge pull request #120283 from Ericson2314/netbsd-fewer-varsJohn Ericson1-9/+4
netbsd: Remove some env vars that are probably not needed.
2021-04-24Merge staging-next into staginggithub-actions[bot]1-7/+0
2021-04-23netbsd: Remove some env vars that are probably not needed.John Ericson1-9/+4
Tool setup hooks will set most.
2021-04-23netbsd.common: just export the sourcesAlyssa Ross1-12/+7
"common" is just a lot of shared code, not a component in and of itself. There's no Makefile, so if we try to build it Make will go up a directory and try to build all of NetBSD.
2021-04-23Merge pull request #120355 from alyssais/netbsd-libutilJohn Ericson1-1/+8
netbsd.libutil: fix build
2021-04-23netbsd.libkern: removeAlyssa Ross1-7/+0
libkern is only used as part of building the kernel. There's no reason for us to have a seperate package for it.
2021-04-23netbsd.libutil: fix buildAlyssa Ross1-1/+8
Tested by building pkgsCross.x86_64-netbsd.netbsd.libutil on x86_64-linux.
2021-04-23Merge pull request #120347 from alyssais/netbsd-librtJohn Ericson1-4/+6
netbsd.librt: fix build
2021-04-23Merge pull request #120348 from alyssais/netbsd-librpcsvcJohn Ericson1-0/+5
netbsd.librpcsvc: fix build
2021-04-23Merge pull request #120350 from alyssais/netbsd-libpthreadJohn Ericson1-0/+2
netbsd.libpthread: fix build
2021-04-23netbsd.libcrypt: fix buildAlyssa Ross1-0/+1
Tested by building pkgsCross.x86_64-netbsd.netbsd.libcrypt on x86_64-linux.
2021-04-23netbsd.libpthread: fix buildAlyssa Ross1-0/+2
Tested by building pkgsCross.x86_64-netbsd.netbsd.libpthread on x86_64-linux.
2021-04-23netbsd.librpcsvc: fix buildAlyssa Ross1-0/+5
Tested by building pkgsCross.x86_64-netbsd.netbsd.librpcsvc on x86_64-linux.
2021-04-23netbsd.librt: fix buildAlyssa Ross1-4/+6
This is another one of those packages that's just a rebuild of a certain part of libc... Tested by building pkgsCross.x86_64-netbsd.netbsd.librt on x86_64-linux. libc's postPatch was entirely fixes for librt, so move that to librt and inherit it in libc.
2021-04-23netbsd.libterminfo: add missing $makeFlagsAlyssa Ross1-2/+2
2021-04-23netbsd.libterminfo: add missing bsdSetupHook depAlyssa Ross1-1/+2
82c231d17e5 ("netbsd: Generalize builder to any-bsd setup hook") missed libterminfo when it added bsdSetupHook to every other package. (I checked it didn't miss anything else.) It also didn't change a NETBSDSRCDIR to BSDSRCDIR, but in fairness that line was added about half an hour before the setupHook change was merged in a16384e1186. Fixes: 82c231d17e5 ("netbsd: Generalize builder to any-bsd setup hook")
2021-04-23netbsd.libm: fix buildAlyssa Ross1-0/+2
Tested building pkgsCross.x86_64-netbsd.netbsd.libm from x86_64-linux. At some point we should probably set SHLIBINSTALLDIR in the setupHook, but I think I'd like to get everything working first, and then make changes that affect all the builds like that. It's easier to spot regressions when you know _everything_ worked before.
2021-04-22netbsd: Make boostrapping more orthodox and don't rely on splicingJohn Ericson2-91/+138
- No splicing makes everything less finnicky. - Normal bootstrapping matches e.g. linux where kernel headers are also `stdenvNoCC` but part of this stage.
2021-04-22netbsd.i18n_module: fix buildAlyssa Ross1-0/+1
Tested building pkgsCross.x86_64-netbsd.netbsd.i18n_module from x86_64-linux.
2021-04-22netbsd.libresolv: fix buildAlyssa Ross1-0/+1
Tested building pkgsCross.x86_64-netbsd.netbsd.libresolv from x86_64-linux.
2021-04-22Merge pull request #119916 from Ericson2314/bsd-setup-hookJohn Ericson2-74/+119
netbsd: Generalize builder to any-bsd setup hook
2021-04-22netbsd.libterminfo: fix buildAlyssa Ross1-0/+7
Tested building netbsd.libterminfo and pkgsCross.x86_64-netbsd.netbsd.libterminfo from x86_64-linux.
2021-04-22netbsd: Generalize builder to any-bsd setup hookJohn Ericson2-74/+119
Do this to get ready for other BSDs.
2021-04-22Merge pull request #120225 from alyssais/netbsd-libossaudioJohn Ericson1-3/+0
netbsd.libossaudio: fix build
2021-04-22netbsd.libossaudio: fix buildAlyssa Ross1-3/+0
The file this was trying to modify doesn't even exist. Tested by building pkgsCross.x86_64-netbsd.netbsd.libossaudio from x86_64-linux.
2021-04-22netbsd.ld_elf_so: fix buildAlyssa Ross1-0/+4
Tested building pkgsCross.x86_64-netbsd.netbsd.ld_elf_so from x86_64-linux.
2021-04-19netbsd.mkDerviation: remove pointless `attrs.src or`John Ericson1-1/+1
`attrs` overrides these defaults already.
2021-04-18netbsd.sys: actually build the kernelAlyssa Ross1-3/+26
Before, we were only building the headers, firmware, and bootloader. CONFIG could be overridden to use another pre-defined kernel, but there's no way to pass a custom kernel configuration yet. Tested booting the built kernel in a NetBSD VM.
2021-04-18netbsd.config: init at 8.0Alyssa Ross1-0/+10
Needed to build the NetBSD kernel.
2021-04-18netbsd.cksum: init at 8.0Alyssa Ross1-0/+7
We need the source directory of this package for config(1), so we might as well just package it.
2021-04-18Merge pull request #119793 from alyssais/netbsd-sysJohn Ericson2-2/+12
netbsd.sys: fix build
2021-04-18Merge staging-next into staginggithub-actions[bot]1-1/+1