!VRULIdgoKmKPzJZzjj:nixos.org

Nix Hackers

891 Members
For people hacking on the Nix package manager itself189 Servers

Load older messages


SenderMessageTime
20 Feb 2025
@Ericson2314:matrix.orgJohn EricsonIMO a <....> is undeused23:06:07
@emilazy:matrix.orgemilyyes, I just forget whether "system headers" can use non-system includes to include other system headers without issues or not23:06:22
@Ericson2314:matrix.orgJohn Ericsonfrom the perspective of owns own project, it is weird, but headers are not for that perspective!23:06:28
@Ericson2314:matrix.orgJohn Ericson emily: Robert Hensing (roberth) OK it should work now 23:15:59
@roberthensing:matrix.orgroberthmeson is compiling, clangd is happy 🎉23:30:37
21 Feb 2025
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)
In reply to @emilazy:matrix.org
(don't quote me on this though)

I don’t think that’s how it works. ”…” and <…> only affect default search path preferences https://gcc.gnu.org/onlinedocs/cpp/Search-Path.html. I our case this distinction does not make a difference.

To disable warnings you have to include directories via -isystem and not via -I.

For reference, Cmake does that with SYSTEM flag in target_include_directories:

https://cmake.org/cmake/help/latest/command/target_include_directories.html

Some discussions about meson’s handling of system includes: https://github.com/mesonbuild/meson/issues/963

https://github.com/mesonbuild/meson/pull/5953

Barring some unforeseen differences around search path preferences/order shenanigans it really doesn’t matter semantically.

I think in general the de-facto rule/convention is to refer to one’s own headers with quotes to highlight to the reader that it’s part of the same project and not an external library.

06:00:51
@alexandi:matrix.orgalexandi joined the room.06:52:57
@normalcea:matrix.orgjasi 🏳️‍⚧️ joined the room.16:37:46
22 Feb 2025
@selachimorpha:matrix.org@selachimorpha:matrix.org changed their display name from selachimorpha to cogitoblood.01:36:18
@selachimorpha:matrix.org@selachimorpha:matrix.org left the room.01:39:48
24 Feb 2025
@ubalot:matrix.orgubalot left the room.07:40:55
@zm94zgv2:private.coffeeZm94ZGV2 changed their profile picture.13:15:52
@emilazy:matrix.orgemily is it known/expected that pkgsStatic.nixVersions.nix_2_26, pkgsCross.*.nixVersions.nix_2_26, etc., all cause a throw? this seems like another regression of importing the flake packaging into Nixpkgs 17:44:12
@Ericson2314:matrix.orgJohn Ericson CC Robert Hensing (roberth) ^ 18:23:07
@Ericson2314:matrix.orgJohn EricsonI don't think so?18:23:10
@Ericson2314:matrix.orgJohn Ericsonthanks for pointing out18:23:16
@emilazy:matrix.orgemily

another question:

# boost is a public dependency, but not a pkg-config dependency unfortunately, so we
# put in `deps_other`.

why? Boost has .pc files (in Nixpkgs at least), and this breaks e.g. Rust pkg_config parsing the dependencies out of the .pc files

18:32:40
@emilazy:matrix.orgemily *

another question:

# boost is a public dependency, but not a pkg-config dependency unfortunately, so we
# put in `deps_other`.

why? Boost has .pc files (in Nixpkgs at least), and this breaks e.g. Rust pkg_config parsing the dependencies out of the Nix .pc files

18:32:44
@emilazy:matrix.orgemily (fwiw, nixVersions.latest is also not 2.26, although I had been assuming that was intentional while the packaging bakes) 18:34:59
@Ericson2314:matrix.orgJohn Ericson @emilazy:matrix.org: oh awesome! 18:35:35
@Ericson2314:matrix.orgJohn EricsonMaybe the PC file was new?18:35:50
@emilazy:matrix.orgemilyNixpkgs bumped its Boost a couple times recently, so that may have been a factor18:36:05
@emilazy:matrix.orgemily (in particular, it breaks it for pkgsStatic, because the resulting .pc file has e.g. Libs: -L${libdir} -lnixstore -pthread /nix/store/2hbky50x3hzky0drn4ay87xj77frq27c-boost-static-x86_64-unknown-linux-musl-1.81.0/lib/libboost_container.a and the pkg_config crate just discards the absolute path, seemingly) 18:36:34
@emilazy:matrix.orgemily (that's probably a ~bug-ish on the Rust end, but I think parsing useful semantic information out of .pc files is really hard in general, so it would work better if it's -lboost_container with a Requires/Requires.private) 18:37:00
@Ericson2314:matrix.orgJohn EricsonAlso, if we could make progress on breaking up boost then there are some hacks we can remove18:37:07
@emilazy:matrix.orgemily (which I think Meson would arrange automatically if Boost was consumed via .pc) 18:37:07
@Ericson2314:matrix.orgJohn EricsonI am very pro pc-file-or-best, don't mind there being a Rust bug ;)18:37:24
@Ericson2314:matrix.orgJohn Ericson * I am very pro pc-file-or-best, don't mind there being a Rust bug :)18:37:26
@emilazy:matrix.orgemily I'm happy to review Nixpkgs changes to break up Boost. it should probably just be a bunch of boost-* packages in pkgs/by-name, with a buildBoostComponent builder for each, and a shared src. 18:37:48
@emilazy:matrix.orgemilyI believe the libraries can basically be built independently and other distros do this.18:38:02

Show newer messages


Back to Room ListRoom Version: 6