diff options
author | David Thompson <dthompson2@worcester.edu> | 2022-07-07 21:56:17 -0400 |
---|---|---|
committer | David Thompson <dthompson2@worcester.edu> | 2022-07-07 21:56:17 -0400 |
commit | a090d0a7c9168ca6292c6cdf1b8c27c5a067c085 (patch) | |
tree | 5542cf5c17662acd570fb9f892ced59b84ca5c33 /scripts/haunt.in | |
parent | ddefe10ba133c8397ddf46c15e2614c1748ddf99 (diff) |
Automatically add Haunt's modules to Guile's load path at startup.
This fixes a longstanding usability issue where people would install
Haunt to /usr/local and then wonder why Haunt doesn't work, which was
because Guile's default load path is /usr and thus could not find the
newly installed modules in /usr/local. I received several emails
about this over the years and didn't know to deal with it. Many
thanks to Daniel Meißner for pointing out that Guix had already found
a solution to this problem because of course Guix would have this
problem solved! Ludovic is an autotools wizard.
Diffstat (limited to 'scripts/haunt.in')
-rwxr-xr-x | scripts/haunt.in | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/scripts/haunt.in b/scripts/haunt.in index 7206036..dd25efb 100755 --- a/scripts/haunt.in +++ b/scripts/haunt.in @@ -19,6 +19,15 @@ ;;; You should have received a copy of the GNU General Public License ;;; along with Haunt. If not, see <http://www.gnu.org/licenses/>. +(define-syntax-rule (push! elt v) (set! v (cons elt v))) + +;; Automatically add Haunt modules to Guile's load path so that users +;; aren't wondering why Haunt isn't working when the modules aren't +;; installed to Guile's default module locations. +(unless (getenv "HAUNT_UNINSTALLED") + (push! "@guilemoduledir@" %load-path) + (push! "@guileobjectdir@" %load-compiled-path)) + (use-modules (haunt ui)) (apply haunt-main (command-line)) |