diff options
Diffstat (limited to 'perl')
-rw-r--r-- | perl/Makefile.am | 38 | ||||
-rw-r--r-- | perl/lib/Nix/Config.pm.in | 2 | ||||
-rw-r--r-- | perl/lib/Nix/GeneratePatches.pm | 2 | ||||
-rw-r--r-- | perl/lib/Nix/Store.xs | 4 | ||||
-rw-r--r-- | perl/local.mk | 40 |
5 files changed, 46 insertions, 40 deletions
diff --git a/perl/Makefile.am b/perl/Makefile.am deleted file mode 100644 index b8e60bc2dc2b..000000000000 --- a/perl/Makefile.am +++ /dev/null @@ -1,38 +0,0 @@ -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 lib/Nix/Utils.pm lib/Nix/Crypto.pm - -all: $(PERL_MODULES:.in=) - -install-exec-local: $(PERL_MODULES:.in=) install-perl-xs - $(INSTALL) -d $(DESTDIR)$(perllibdir)/Nix - $(INSTALL_DATA) $(PERL_MODULES:.in=) $(DESTDIR)$(perllibdir)/Nix - -if PERL_BINDINGS -install-perl-xs: - $(INSTALL) -d $(DESTDIR)$(perllibdir)/auto/Nix/Store - ln -sfn $(pkglibdir)/libNixStore$(dynlib_suffix) $(DESTDIR)$(perllibdir)/auto/Nix/Store/Store$(dynlib_suffix) - -# Awful hackery to get libtool to build Perl XS bindings. -pkglib_LTLIBRARIES = libNixStore.la - -nodist_libNixStore_la_SOURCES = lib/Nix/Store.cc - -CLEANFILES = lib/Nix/Store.cc - -libNixStore_la_LIBADD = $(top_builddir)/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 \ - -D_FILE_OFFSET_BITS=64 - -lib/Nix/Store.cc: lib/Nix/Store.xs - $(INSTALL) -d lib/Nix - xsubpp $^ -output $@ - -else -install-perl-xs: -endif - -EXTRA_DIST = $(PERL_MODULES) lib/Nix/Store.xs - -include ../substitute.mk diff --git a/perl/lib/Nix/Config.pm.in b/perl/lib/Nix/Config.pm.in index 4f1f38ddd3a9..e07d4c08f13f 100644 --- a/perl/lib/Nix/Config.pm.in +++ b/perl/lib/Nix/Config.pm.in @@ -1,6 +1,6 @@ package Nix::Config; -$version = "@version@"; +$version = "@PACKAGE_VERSION@"; $binDir = $ENV{"NIX_BIN_DIR"} || "@bindir@"; $libexecDir = $ENV{"NIX_LIBEXEC_DIR"} || "@libexecdir@"; diff --git a/perl/lib/Nix/GeneratePatches.pm b/perl/lib/Nix/GeneratePatches.pm index f9d83c49c856..612c8a3a15ba 100644 --- a/perl/lib/Nix/GeneratePatches.pm +++ b/perl/lib/Nix/GeneratePatches.pm @@ -225,7 +225,7 @@ sub generatePatches { } my $time1 = time(); - my $res = system("ulimit -t $timeLimit; $Nix::Config::libexecDir/bsdiff $tmpDir/A $tmpDir/B $tmpDir/DIFF"); + my $res = system("ulimit -t $timeLimit; $Nix::Config::libexecDir/nix/bsdiff $tmpDir/A $tmpDir/B $tmpDir/DIFF"); my $time2 = time(); if ($res) { warn "binary diff computation aborted after ", $time2 - $time1, " seconds\n"; diff --git a/perl/lib/Nix/Store.xs b/perl/lib/Nix/Store.xs index d46af57e64f6..07ccebe62f51 100644 --- a/perl/lib/Nix/Store.xs +++ b/perl/lib/Nix/Store.xs @@ -35,6 +35,10 @@ MODULE = Nix::Store PACKAGE = Nix::Store PROTOTYPES: ENABLE +#undef dNOOP // Hack to work around "error: declaration of 'Perl___notused' has a different language linkage" error message on clang. +#define dNOOP + + void init() CODE: doInit(); diff --git a/perl/local.mk b/perl/local.mk new file mode 100644 index 000000000000..74c054e7133f --- /dev/null +++ b/perl/local.mk @@ -0,0 +1,40 @@ +nix_perl_sources := \ + $(d)/lib/Nix/Store.pm \ + $(d)/lib/Nix/Manifest.pm \ + $(d)/lib/Nix/GeneratePatches.pm \ + $(d)/lib/Nix/SSH.pm \ + $(d)/lib/Nix/CopyClosure.pm \ + $(d)/lib/Nix/Config.pm.in \ + $(d)/lib/Nix/Utils.pm \ + $(d)/lib/Nix/Crypto.pm + +nix_perl_modules := $(nix_perl_sources:.in=) + +$(foreach x, $(nix_perl_modules), $(eval $(call install-data-in, $(x), $(perllibdir)/Nix))) + +ifeq ($(perlbindings), yes) + + $(d)/lib/Nix/Store.cc: $(d)/lib/Nix/Store.xs + $(trace-gen) xsubpp $^ -output $@ + + libraries += Store + + Store_DIR := $(d)/lib/Nix + + Store_SOURCES := $(Store_DIR)/Store.cc + + Store_LIBS = libstore + + Store_CXXFLAGS = \ + -I$(shell $(perl) -e 'use Config; print $$Config{archlibexp};')/CORE \ + -D_FILE_OFFSET_BITS=64 + + Store_ALLOW_UNDEFINED = 1 + + Store_FORCE_INSTALL = 1 + + Store_INSTALL_DIR = $(perllibdir)/auto/Nix/Store + +endif + +clean-files += $(d)/lib/Nix/Config.pm $(d)/lib/Nix/Store.cc |