summary refs log tree commit diff
path: root/pkgs/os-specific/bsd
Commit message (Collapse)AuthorAge
* treewide: use uncurried version of makeScopeWithSplicingAdam Joseph2023-08-14
|
* treewide: noop: refer to `src.name` or similar in `sourceRoot` where ↵Jan Malakhovski2023-08-03
| | | | appropriate, part 1: trivial cases
* netbsd.compat: use strip from cctools-portRandy Eckenrode2023-07-25
| | | | | llvm-strip does not support `-X` for Mach-O, so make sure the cctools version is used.
* treewide: env.NIX_CFLAGS_COMPILE use optionalString instead of optionalArtturin2023-02-22
| | | | env values must be strings
* treewide: move NIX_CFLAGS_COMPILE to the env attrsetArtturin2023-02-22
| | | | | | | | with structuredAttrs lists will be bash arrays which cannot be exported which will be a issue with some patches and some wrappers like cc-wrapper this makes it clearer that NIX_CFLAGS_COMPILE must be a string as lists in env cause a eval failure
* treewide: use toString on list NIX_CFLAGS_COMPILEArtturin2023-02-22
| | | | | with structuredAttrs lists will be bash arrays which cannot be exported which will be a issue with some patches and some wrappers like cc-wrapper
* Merge master into staging-nextgithub-actions[bot]2023-01-23
|\
| * libiconv: use libc header on NetBSDAlyssa Ross2023-01-22
| | | | | | | | | | | | | | Let's be consistent about this. Updated netbsd.libc to have a pname attribute so it's compatible with libcIconv.
* | Merge pull request #210764 from alyssais/mtdev-freebsdJohn Ericson2023-01-18
|\ \ | | | | | | mtdev: add FreeBSD support
| * | evdev-proto: init at 6.0Alyssa Ross2023-01-15
| | | | | | | | | | | | | | | | | | | | | | | | FreeBSD implements Linux's evdev API, but doesn't come with headers for it. Instead, the Linux headers are just modified to be suitable for FreeBSD, via a port called evdev-proto. I don't want to copy the complicated sed expressions from the port into Nixpkgs, so instead we just build and install the port inside a Nix derivation.
| * | freebsd.sed: init at 13.1.0Alyssa Ross2023-01-14
| |/
* | netbsd.libpci: init at 9.2Alyssa Ross2023-01-13
| |
* | netbsd.libarch: init at 9.2Alyssa Ross2023-01-13
|/
* treewide: use splicing convenience functionsArtturin2022-12-25
|
* freebsd packages: Init at 13.1John Ericson2022-11-04
| | | | | | | | | | | | Always set `SRCTOP`, set it with abs path llvmPackages: Bump minimum version for FreeBSD llvmPackages_*, libgcc, compiler_rt: Hack in enough libs that one can compiler C freebsd.compat: Rename some things to work around cc-wrapper change 0bea4a194f7103fcedc0226a74e50657875a7c4d / #191724 in particular
* Merge branch 'master' into staging-nextJan Tojnar2022-10-19
|\ | | | | | | | | | | | | | | ; Conflicts: ; pkgs/development/tools/codespell/default.nix codespell 2.2.2 switched to pyproject & setuptools_scm: https://github.com/codespell-project/codespell/pull/2523
| * netbsd.uudecode: fix build on darwinRyan Burns2022-10-17
| | | | | | | | Requires explicit link to libresolv
* | pkgsMusl.netbsd.install: fix build (#196260)Yureka2022-10-19
| |
* | bsd: `BSD_PATH` rename to `COMPONENT_PATH`John Ericson2022-10-06
| | | | | | | | @alyssais and I agreed this is clearer.
* | netbsd.install: Use `writeShellScript`John Ericson2022-10-06
| |
* | netbsd: Adapt to BSD-common infra changes for FreeBSDJohn Ericson2022-10-06
|/ | | | | | | | | | | | | See https://github.com/NixOS/nixpkgs/pull/82131 for the rest of the changes for FreeBSD. This is PRed separately because it is a macOS moderate rebuild so we target staging. The main change is that we CD to the path we're building *after* applying patches, so we can patch other parts of the tree (from `extraPaths`) as needed. Another change is that `netbsd.install` no longer depends on `fts`, which it evidently no longer needs.
* netbsd.libc: fix buildAlyssa Ross2022-10-03
| | | | This has been broken since we made -fno-common the default.
* netbsd.compat: don't use musl's sys/cdefs.hAlyssa Ross2022-01-06
| | | | | | | When building glib statically, a Meson check would fail, because the check would interpret any warning as failure, and it would see the warning that the musl sys/cdefs.h emits about the file being deprecated.
* pkgsStatic.netbsd: fix nbtool_config.h conflictsAlyssa Ross2022-01-06
| | | | | | | | | | | | | | | In pkgsStatic, /all/ build inputs are propagated. This means that netbsd.compat was propagated, along with its setup hook, which broke static glib builds because glib defines a function with the same name as one in nbtool_config.h, and nbtool_config.h was being automatically included in every C file processed by the compiler, in any transitive dependent of netbsd.compat's setup hook. To fix this, rather than forcing nbtool_config.h to be included for _every_ C file in a derivation that depends on netbsd.compat, modify the NetBSD-specific mkDerivation to detect files that need the header, and patch it in there where appropriate. That way, only files that are part of NetBSD will be affected, not all transitive dependents.
* os-specific/netbsd: fix mandoc splicingRyan Burns2021-12-10
| | | | | | | | | This expression is not properly spliced, so we need to manually specify buildPackages so that mandoc will not be built for the host platform Fixes cross-compilation of netbsd.* packages that depend on mandoc in nativeBuildInputs, such as `getent`.
* netbsd.man: fix buildsternenseemann2021-11-15
| | | | | | | | | | | * Fails because it's missing ps2pdf. In the beginning I fixed this by providing ghostscript as a nativeBuildInput, but the PDF created for man0 doesn't appear to be installed, so we can just patch out the call to the tool. * We need to disable MKRUMP or provide sys/rump/share/man in sourceRoot, opted for the former since it's simpler at the moment, but the latter is also possible with a custom unpackPhase.
* netbsd: add missing rsync native build inputsAlyssa Ross2021-11-09
| | | | | | | | Using extraPaths in NetBSD packages now requires rsync, but the rsync dependency wasn't added to all the packages using extraPaths that override nativeBuildInputs, so they'd just fail immediately. Fixes: 75db7f8eb04 ("netbsd: Use rsync to speed up source merging")
* netbsd.compat: fix libs by using cctools strip as objcopyRyan Burns2021-09-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 ```
* netbsd.compat: fix build on darwinRyan Burns2021-09-19
| | | | The makefile requires GNU objcopy
* netbsd: Make hard/soft float match systems settingsJohn Ericson2021-09-03
|
* netbsd.compat: Fix cross compilationJohn Ericson2021-09-03
| | | | | | | | | | | | | | | | | | | | | | | | 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`.
* netbsd.compat: Don't configure twiceJohn Ericson2021-09-03
|
* netbsd: Split out path merging from bsd setup hookJohn Ericson2021-07-11
| | | | | | | | 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.
* netbsd: Use rsync to speed up source mergingJohn Ericson2021-07-10
| | | | | The find -exec that was there before is quite slow on my machine. This is much faster.
* Merge staging-next into staginggithub-actions[bot]2021-06-10
|\
| * netbsd: add aliases for i486 and i586ash lea2021-06-09
| |
* | Merge staging-next into staginggithub-actions[bot]2021-06-07
|\|
| * netbsd: disable stack protection on i686Alyssa Ross2021-06-06
| | | | | | | | | | Builds fail otherwise, because the linker can't find the stack protector symbols.
* | Merge staging-next into staginggithub-actions[bot]2021-05-31
|\|
| * netbsdCross.ld_elf_so: use same stage's libcAlyssa Ross2021-05-31
| | | | | | | | | | | | 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.
* | netbsd: 9.1 -> 9.2Alyssa Ross2021-05-26
|/
* netbsd: 8.0 -> 9.1Alyssa Ross2021-05-09
| | | | | | | | | | | | | | | | | | | | | 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>
* Merge remote-tracking branch 'upstream/staging-next' into stagingJohn Ericson2021-05-06
|\
* | netbsd.libedit: fix buildAlyssa Ross2021-05-01
| |
* | netbsd.libcurses: fix buildAlyssa Ross2021-04-30
| |
* | Merge pull request #120283 from Ericson2314/netbsd-fewer-varsJohn Ericson2021-04-23
|\ \ | | | | | | netbsd: Remove some env vars that are probably not needed.
| * | netbsd: Remove some env vars that are probably not needed.John Ericson2021-04-23
| | | | | | | | | | | | Tool setup hooks will set most.
* | | Merge staging-next into staginggithub-actions[bot]2021-04-24
|\ \ \ | | |/ | |/|
| * | netbsd.libkern: removeAlyssa Ross2021-04-23
| | | | | | | | | | | | | | | libkern is only used as part of building the kernel. There's no reason for us to have a seperate package for it.
* | | netbsd.common: just export the sourcesAlyssa Ross2021-04-23
| |/ |/| | | | | | | | | "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.