!pbdtvoHxUGLhcEvnlu:nixos.org

Exotic Nix Targets

328 Members
104 Servers

Load older messages


SenderMessageTime
13 Jan 2024
@samueldr:matrix.orgsamueldr(ever heard of BTRON and B-right/V?)23:19:47
@raitobezarius:matrix.orgraitobezarius(never)23:19:50
@samueldr:matrix.orgsamueldr(it's fascinating)23:19:59
@raitobezarius:matrix.orgraitobezariusI think we have this switch case23:20:09
@raitobezarius:matrix.orgraitobezarius
      libc =
        /**/ if final.isDarwin              then "libSystem"
        else if final.isMinGW               then "msvcrt"
        else if final.isWasi                then "wasilibc"
        else if final.isRedox               then "relibc"
        else if final.isMusl                then "musl"
        else if final.isUClibc              then "uclibc"
        else if final.isAndroid             then "bionic"
        else if final.isLinux /* default */ then "glibc"
        else if final.isFreeBSD             then "fblibc"
        else if final.isNetBSD              then "nblibc"
        else if final.isAvr                 then "avrlibc"
        else if final.isGhcjs               then null
        else if final.isNone                then "newlib"
        # TODO(@Ericson2314) think more about other operating systems
        else                                     "native/impure";

23:20:11
@samueldr:matrix.orgsamueldryes23:20:16
@samueldr:matrix.orgsamueldrwith carefulling in an overlay this can be overriden outside of Nixpkgs23:20:27
@raitobezarius:matrix.orgraitobezariushmm; so what is the problem with the libc precisely?23:20:47
@samueldr:matrix.orgsamueldr
libcCrossChooser =
  name:
  #if name == "3bv" then final.targetPackages.bvgsdk_libc or final.bvgsdk_libc
  if name == "3bv" then final.buildPackages.bvgsdk_libc or final.buildPackages.bvgsdk_libc
  else super.libcCrossChooser name
;
23:20:57
@raitobezarius:matrix.orgraitobezariuslike you want to be able to have a meaningful overlay of nixpkgs with your libc?23:20:58
@raitobezarius:matrix.orgraitobezariushm right the cross chooser23:21:14
@samueldr:matrix.orgsamueldr
In reply to @samueldr:matrix.org
so uh, I have a weird exotic thing I might need some hints or help, and there's enough gaps in my knowledge of cross in general that I'm not even sure where to start from (the trivial attempts failed for different reasons at different stages)
I'm not exactly sure what even makes sense here
23:21:21
@samueldr:matrix.orgsamueldroh, there's also that libc one, didn't catch on the diff23:21:45
@raitobezarius:matrix.orgraitobezariusyeah there's a whole machinery to slowly transform your thing into final packages and stdenvs23:22:10
@raitobezarius:matrix.orgraitobezariusI don't think you can overlay the lib/systems ones though23:22:23
@raitobezarius:matrix.orgraitobezariusI'm still not sure what to advise as I'm not sure what is your intent, if you don't want to bother nixpkgs with this platform… is your optimal goal to have an overlay somewhere where you can build things with it?23:22:58
@samueldr:matrix.orgsamueldrwhatever mechanism to achieve my goal (editing Nixpkgs or not) is okay23:25:01
@samueldr:matrix.orgsamueldrI want to better understand the non-trivial cross-compilation23:25:13
@samueldr:matrix.orgsamueldr a precise goal would be to have an "hello" world C program cross-compiled through as much of stdenv.mkDerivation as feasible 23:26:37
@samueldr:matrix.orgsamueldr(the GNU one most likely can't)23:26:49
14 Jan 2024
@samueldr:matrix.orgsamueldr oh, right, another thing I don't know what to do about: the quatuplet for config, since the (admiteddly old) SDK and all the few remnants of info only specify a triplet 00:24:41
@raitobezarius:matrix.orgraitobezarius(going to sleep for now but I have some ideas)03:52:06
@raitobezarius:matrix.orgraitobezarius
In reply to @samueldr:matrix.org
oh, right, another thing I don't know what to do about: the quatuplet for config, since the (admiteddly old) SDK and all the few remnants of info only specify a triplet
I think you can invent whatever you want and if you feel like it, you can even send it upstream to gnu-config
17:05:24
@raitobezarius:matrix.orgraitobezariusI think it would help a lot if you could share a repo or a branch of nixpkgs so that I can take a look at things17:05:42
@raitobezarius:matrix.orgraitobezarius first step is that I would wire up the libc properly, create a lib/systems/examples.nix for your platform/target thingie, wire the libc in there, then I would add some inspection patterns for this platform, then I would look into stdenv/cross/default.nix and add the special cc for it 17:07:27
@raitobezarius:matrix.orgraitobezarius then… I'd take it for a run with pkgsCross.<my-config-name>.hello ? 17:07:38
@raitobezarius:matrix.orgraitobezarius * then… I'd take it for a run with pkgsCross.<my-example-name>.hello ? 17:07:45
@samueldr:matrix.orgsamueldr

okay, so papercut 1:

checking target system type... Invalid configuration 'i386-unknown-btron-gnu': Kernel 'btron' not known to work with OS 'gnu'.
21:25:49
@samueldr:matrix.orgsamueldr(I'm not done)21:26:09
@samueldr:matrix.orgsamueldrso uh, "OS 'gnu'... weird"21:26:19

Show newer messages


Back to Room ListRoom Version: 6