about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2012-01-05T20·33+0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2012-01-05T20·33+0000
commita7366a764aa8d549a16b58e43181fe4ff7e598ab (patch)
tree9f6b1b1029fef06b5515ae1b23675811d9989dca
parentb52966e821b05e0d2e379ed6bbbf748f22453108 (diff)
* Add a -I flag to the Perl bindings to nix-build and some other
  scripts.
* Include the version and architecture in the -I flag so that there is
  at least a chance that a Nix binary built for one Perl version will
  run on another version.

-rw-r--r--configure.ac10
-rw-r--r--perl/Makefile.am6
-rwxr-xr-xscripts/copy-from-other-stores.pl.in2
-rwxr-xr-xscripts/nix-build.in2
-rwxr-xr-xscripts/nix-channel.in2
-rwxr-xr-xscripts/nix-collect-garbage.in2
-rwxr-xr-xscripts/nix-install-package.in2
7 files changed, 15 insertions, 11 deletions
diff --git a/configure.ac b/configure.ac
index 1e8665992c6b..1b6154a2d39e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -181,6 +181,14 @@ fi
 AC_MSG_RESULT(yes)
 
 
+# Figure out where to install Perl modules.
+AC_MSG_CHECKING([for the Perl installation prefix])
+perlversion=$($perl -e 'use Config; print $Config{version};')
+perlarchname=$($perl -e 'use Config; print $Config{archname};')
+AC_SUBST(perllibdir, [$\(libdir\)/perl5/site_perl/$perlversion/$perlarchname])
+AC_MSG_RESULT($perllibdir)
+
+
 NEED_PROG(cat, cat)
 NEED_PROG(tr, tr)
 AC_ARG_WITH(coreutils-bin, AC_HELP_STRING([--with-coreutils-bin=PATH],
@@ -283,7 +291,7 @@ fi
 
 
 # Check for the required Perl dependencies (DBI and DBD::SQLite).
-perlFlags="-I${libdir}/perl5/site_perl"
+perlFlags="-I$perllibdir"
 
 AC_ARG_WITH(dbi, AC_HELP_STRING([--with-dbi=PATH],
   [prefix of the Perl DBI library]),
diff --git a/perl/Makefile.am b/perl/Makefile.am
index ccb08b447b1f..12293fc050a6 100644
--- a/perl/Makefile.am
+++ b/perl/Makefile.am
@@ -1,7 +1,3 @@
-perlversion := $(shell perl -e 'use Config; print $$Config{version};')
-perlarchname := $(shell perl -e 'use Config; print $$Config{archname};')
-perllibdir = $(libdir)/perl5/site_perl/$(perlversion)/$(perlarchname)
-
 PERL_MODULES = lib/Nix/Store.pm lib/Nix/Manifest.pm lib/Nix/GeneratePatches.pm lib/Nix/SSH.pm lib/Nix/CopyClosure.pm lib/Nix/Config.pm.in
 
 # Hack required by "make check".
@@ -24,7 +20,7 @@ libNixStore_la_LIBADD = $(top_srcdir)/src/libstore/libstore.la
 
 AM_CXXFLAGS = \
   -I$(top_srcdir)/src -I$(top_srcdir)/src/libutil -I$(top_srcdir)/src/libstore \
-  -I$(shell perl -e 'use Config; print $$Config{archlibexp};')/CORE
+  -I$(shell $(perl) -e 'use Config; print $$Config{archlibexp};')/CORE
 
 lib/Nix/Store.cc: lib/Nix/Store.xs
 	xsubpp $^ -output $@
diff --git a/scripts/copy-from-other-stores.pl.in b/scripts/copy-from-other-stores.pl.in
index 10130c0893ea..b930b720725e 100755
--- a/scripts/copy-from-other-stores.pl.in
+++ b/scripts/copy-from-other-stores.pl.in
@@ -1,4 +1,4 @@
-#! @perl@ -w
+#! @perl@ -w @perlFlags@
 
 use strict;
 use File::Basename;
diff --git a/scripts/nix-build.in b/scripts/nix-build.in
index 68c24b75d440..a4615e4bdb72 100755
--- a/scripts/nix-build.in
+++ b/scripts/nix-build.in
@@ -1,4 +1,4 @@
-#! @perl@ -w -I@libexecdir@/nix
+#! @perl@ -w @perlFlags@
 
 use strict;
 use Nix::Config;
diff --git a/scripts/nix-channel.in b/scripts/nix-channel.in
index 9bfa04722647..e54d0d370659 100755
--- a/scripts/nix-channel.in
+++ b/scripts/nix-channel.in
@@ -1,4 +1,4 @@
-#! @perl@ -w
+#! @perl@ -w -I@libexecdir@/nix
 
 use strict;
 use Nix::Config;
diff --git a/scripts/nix-collect-garbage.in b/scripts/nix-collect-garbage.in
index 00e61a24b785..835213226f23 100755
--- a/scripts/nix-collect-garbage.in
+++ b/scripts/nix-collect-garbage.in
@@ -1,4 +1,4 @@
-#! @perl@ -w
+#! @perl@ -w @perlFlags@
 
 use strict;
 use Nix::Config;
diff --git a/scripts/nix-install-package.in b/scripts/nix-install-package.in
index 178b14c7468f..951c2918fa70 100755
--- a/scripts/nix-install-package.in
+++ b/scripts/nix-install-package.in
@@ -1,4 +1,4 @@
-#! @perl@ -w
+#! @perl@ -w @perlFlags@
 
 use strict;
 use File::Temp qw(tempdir);