Sat Nov 18 10:13:20 EST 2017

building something

[nix-shell:~/git/rai]$ make
make -C src
make[1]: Entering directory '/home/tom/pub/git/rai/src'
gcc -g -Wall -Wno-unused-variable -I. -I..//src -I../copy -fPIC -std=gnu99  -ffast-math -O3 -I/usr/local/pd/src    -lm -o sp_host.elf sp_host.c proc.o proc_sp.o
/home/tom/.nix-profile/bin/ld: cannot find crt1.o: No such file or directory
/home/tom/.nix-profile/bin/ld: cannot find crti.o: No such file or directory
/home/tom/.nix-profile/bin/ld: cannot find -lm
/home/tom/.nix-profile/bin/ld: cannot find -lgcc_s
/home/tom/.nix-profile/bin/ld: cannot find -lc
/home/tom/.nix-profile/bin/ld: cannot find -lgcc_s
/home/tom/.nix-profile/bin/ld: cannot find crtn.o: No such file or directory
collect2: error: ld returned 1 exit status
make[1]: *** [rules.mk:115: sp_host.elf] Error 1
make[1]: Leaving directory '/home/tom/pub/git/rai/src'
make: *** [Makefile:7: all] Error 2

Also tried without "nix-shell -p", same result.
I had installed "gcc" and "binuitils" manually.

Maybe what I misunderstand here, is that it is not possible to install
a build environment in the normal environment?  Or at least, not
desirable.  At the very least, make a nix configuration file that
declares the env, then use nix-shell.

This seems to work with "nix-shell"

with import <nixpkgs>{};
stdenv.mkDerivation {
  name = "rai-current";

Next: to build rai, racket is needed.
How to bring that into the environment?

Also: use "nix-shell --pure", because I did have it installed in the
user profile.

buildInputs = [racket];

Next: needs racket packages.  This is a problem in general when deps
come from the internet using some external package manager.  Same for
emacs e.g.

Maybe rai is not the example to start with.  I got it to build
eventually, but only by:
- installing local ~/.racket packages
- making the "link"

How to install those somewhere else?

[nix-shell:~/pub/git/rai]$ raco pkg install --scope installation rsound
open-output-file: cannot open output file
  path: /nix/store/wwsjz5r70k433s6yl3knz2z50fdw8k0p-racket-6.8/share/racket/pkgs/.LOCKpkgs.rktd

What is needed is a racket with packages.