summaryrefslogtreecommitdiff
path: root/build-aux/pre-inst-env.in
diff options
context:
space:
mode:
Diffstat (limited to 'build-aux/pre-inst-env.in')
-rw-r--r--build-aux/pre-inst-env.in53
1 files changed, 53 insertions, 0 deletions
diff --git a/build-aux/pre-inst-env.in b/build-aux/pre-inst-env.in
new file mode 100644
index 0000000..4b2ba86
--- /dev/null
+++ b/build-aux/pre-inst-env.in
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# scales - Generate musical scale patterns
+# Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+# Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
+#
+# This file is part of scales and was snarfed from GNU Guix.
+#
+# This program is free software: you can redistribute it and/or
+# modify it under the terms of the GNU Affero General Public License
+# as published by the Free Software Foundation, either version 3 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public
+# License along with this program. If not, see
+# <http://www.gnu.org/licenses/>.
+
+
+# Usage: ./pre-inst-env COMMAND ARG...
+#
+# Run COMMAND in a pre-installation environment. Typical use is
+# "./pre-inst-env ./scripts/scales".
+
+# By default we may end up with absolute directory names that contain '..',
+# which get into $GUILE_LOAD_PATH, leading to '..' in the module file names
+# recorded by Guile. To avoid that, make sure we get a real absolute
+# directory name. Additionally, use '-P' to get the canonical directory name
+# so that Guile's 'relative' %file-port-name-canonicalization can actually
+# work (see <http://bugs.gnu.org/17935>.)
+abs_top_srcdir="`cd "@abs_top_srcdir@" > /dev/null; pwd -P`"
+abs_top_builddir="`cd "@abs_top_builddir@" > /dev/null; pwd -P`"
+
+GUILE_LOAD_COMPILED_PATH="$abs_top_builddir${GUILE_LOAD_COMPILED_PATH:+:}$GUILE_LOAD_COMPILED_PATH"
+GUILE_LOAD_PATH="$abs_top_builddir:$abs_top_srcdir${GUILE_LOAD_PATH:+:}$GUILE_LOAD_PATH"
+export GUILE_LOAD_COMPILED_PATH GUILE_LOAD_PATH
+
+# Define $PATH so that `guix' and friends are easily found.
+
+PATH="$abs_top_builddir/scripts:$abs_top_builddir:$PATH"
+export PATH
+
+# Define $SCALES_UNINSTALLED to prevent scripts from
+# prepending @guilemoduledir@ to the Guile load paths.
+
+SCALES_UNINSTALLED=1
+export SCALES_UNINSTALLED
+
+exec "$@"