chicken-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-hackers] Alternative egg installation directories


From: Mario Domenech Goulart
Subject: [Chicken-hackers] Alternative egg installation directories
Date: Sun, 28 May 2017 18:19:53 +0200

Hi,

While porting salmonella to C5, I noticed that we don't have a way to
install executables into an alternative "bin" directory.

If we have an egg that installs a library and an executable, and if we
set CHICKEN_INSTALL_REPOSITORY, the library will go to the directory
pointed by CHICKEN_INSTALL_REPOSITORY, but the executable will go to the
canonical "bin" directory (C_TARGET_BIN_HOME, derived from
"$(TARGET_PREFIX)/bin" by default).

I think it is not ideal because:

1. we will have an executable in the canonical "bin" directory that will
   not properly function unless we set CHICKEN_REPOSITORY_PATH to the
   directory that contains the loadable libraries that it needs.

2. there won't be a way to isolate the canonical installation directory.
   The "bin" directory will be contaminated by executables installed by
   eggs.

Attached is a patch that adds an extra environment variable
(CHICKEN_INSTALL_BINDIR) to specify an alternative directory for
executables (please don't consider applying -- it only serves to
illustrate the situation).  I don't think it is enough, though.  Maybe
eggs will want to install documentation or data files, and those should
not go to the canonical installation prefix either.  Ideally, I think we
should have variables that mimic BINDIR, VARDIR, LIBDIR, MANDIR etc. for
egg installation too.  For convenience, just like for the installation
of CHICKEN itself, we should have a PREFIX for eggs, so that we don't
have to set up all the variables.  Then we are back to something similar
to CHICKEN_PREFIX. :-)

Please, let me know your thoughts on this topic.

All the best.
Mario
-- 
http://parenteses.org/mario

Attachment: 0001-egg-stuff-respect-CHICKEN_INSTALL_BINDIR-when-instal.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]