12 Jan 2025 |
John Ericson | in general, if you did it once before, and we can read the code, I think we can "nixify" and merge it in nixpkgs really quick | 23:41:20 |
artemis | The way I did it basically was I used gentoo's crossdev tool to build a gcc targeting illumos (took a few tweaks to the gcc config to get it to work, right). Then I bundled up a ton of .so files I ripped off a real system and dropped them into the lib folder so linking against them would work. After that I was able to crossbuild OpenSSL (needed some build system fixes) and its dependencies, maybe a few other things, and with that environment I cross compiled a rust program and copied it over and it worked | 23:43:35 |
artemis | * The way I did it basically was I used gentoo's crossdev tool to build a gcc targeting illumos (took a few tweaks to the gcc config to get it to work right). Then I bundled up a ton of .so files I ripped off a real system and dropped them into the lib folder so linking against them would work. After that I was able to crossbuild OpenSSL (needed some build system fixes) and its dependencies, maybe a few other things, and with that environment I cross compiled a rust program and copied it over and it worked | 23:44:05 |
artemis | So I have an ebuild that uses my balls of .so and puts them in the right place, and also puts the headers where they need to be | 23:44:58 |
John Ericson | ah ok | 23:45:07 |
John Ericson | what did end up doing for the linker? | 23:45:32 |
artemis | To my surprise the gnu linker just worked | 23:45:47 |
John Ericson | oh, lol | 23:45:57 |
John Ericson | that helps | 23:45:59 |
artemis | Despite the fact that people had told me only the illumos linker can link for illumos | 23:46:08 |
John Ericson | heh. Well that's a relief! | 23:46:30 |
artemis | Download illumos-gentoo-overlay.tar.gz | 23:58:23 |
artemis | John Ericson ^ | 23:58:26 |
John Ericson | great thank you! | 23:58:35 |
artemis | this has my blog post basically as it, as well as the ebuilds | 23:58:38 |
artemis | the ebuilds if you ran them as they are pull from my file server for their "sources" at https://pkg.artemis.sh/gentoo/pkg-deps/illumos/ | 23:59:00 |
artemis | https://pkg.artemis.sh/gentoo/pkg-deps/illumos/helios-system-library-bin/what-is-where.html was some notes i was taking as to which illumos packages are in which tarfiles | 23:59:49 |
artemis | * https://pkg.artemis.sh/gentoo/pkg-deps/illumos/helios-system-library-bin/what-is-where.html was some notes i was taking as to which illumos packages i shoved into which tarfiles | 23:59:59 |
13 Jan 2025 |
| edef joined the room. | 00:00:50 |
artemis | i dont know of any normal command to actually get a built illumos package as a tarfile. the way i was doing it is i have a script (not included, its part of my general utility script i use on illumos which is not public) that lists all the files, tars them up, and walks the dependency tree doing that for the package | 00:01:37 |
artemis | part of why i never released the blog post was i wanted to extract that into something public but i never did | 00:01:53 |
John Ericson | gotcha | 00:02:01 |
John Ericson | that is all fine, because we'll just use the normal nixpkgs stuff for that part | 00:02:09 |
artemis | yeah | 00:02:26 |
artemis | from that post, the gcc stuff is probably the most relevant to you | 00:02:59 |
John Ericson | for FreeBSD and OpenBSD we used Clang, but for NetBSD that never worked so we did use GCC for that | 00:03:51 |
John Ericson | slipped in the headers for libgcc as needed | 00:04:00 |
artemis | i dont remember if i used the gnu linker or lld when i cross-built the rust project in this process | 00:04:46 |
artemis | but lld is known to be able to link for illumos iirc | 00:05:03 |
John Ericson | oh sweat | 00:05:27 |