﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	difficulty
1792	Some eggs install into system /share and /bin (even when CHICKEN_INSTALL_REPOSITORY is set); this fails when the directory is RO	Norman Gray		"I'm using Nixpkgs (hence the paths below), but the same would be true in another case when the system /share is for whatever reason not expected to be writable by chicken-install.

Since .../share is expected to be read-only in this context, I've defined a separate repository for eggs to be installed in:

    CHICKEN_REPOSITORY_PATH=$HOME/.chicken-install:/nix/store/1sy3rv81crwlviknmqnfs1cwz3bbqr1g-chicken-5.2.0/lib/chicken/11
    CHICKEN_INSTALL_REPOSITORY=$HOME/.chicken-install
    CHICKEN_INCLUDE_PATH=/nix/store/na72pj8gy1gyqd0llz6myvk8dzd4q5i0-compiler-rt-libc-7.1.0/share:/nix/store/1sy3rv81crwlviknmqnfs1cwz3bbqr1g-chicken-5.2.0/share

That works OK for several eggs, but srfi-29 fails:
{{{
      installing srfi-29
    mkdir: cannot create directory ‘/nix/store/1sy3rv81crwlviknmqnfs1cwz3bbqr1g-chicken-5.2.0/share/chicken/srfi-29-bundles’: Permission denied
}}}
and sure enough, $HOME/.cache/chicken-install/srfi-29/srfi-29.install.sh includes
{{{
    mkdir -p ${DESTDIR}'/nix/store/1sy3rv81crwlviknmqnfs1cwz3bbqr1g-chicken-5.2.0/share/chicken'
    mkdir -p ${DESTDIR}'/nix/store/1sy3rv81crwlviknmqnfs1cwz3bbqr1g-chicken-5.2.0/share/chicken/srfi-29-bundles'
    install -m 644 '/Users/norman/.cache/chicken-install/srfi-29/srfi-29-bundles/srfi-29' ${DESTDIR}'/nix/store/1sy3rv81crwlviknmqnfs1cwz3bbqr1g-chicken-5.2.0/share/chicken/srfi-29-bundles'
}}}
That is, it seems to unconditionally want to install in the system share directory.

The same is true of some other eggs (I'm not sure this is an exhaustive list: Kon Lovett on-list suggested that these, like srfi-29, specify a 'data files’ component to the extension, which chicken-install places in '(chicken-home)’):

sqlite3: tried to install stuff into system /share

spock and manual-labor: tried to install stuff into system /bin and /share

In case anyone isn't aware NixOS, and Nixpkgs as a package system for other OSs, is predicated on the idea that the system directories are owned entirely by the Nix system, so that .../share/FOO is out of bounds.  I'm using Nixpkgs 2.3.16 on macOS 11.6, though I don't think either of those versions is relevant to the issue).
"	defect	new	major	someday	unknown	5.2.0				
