aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMoritz Lenz <moritz@faui2k3.org>2012-08-20 22:33:40 +0200
committerMoritz Lenz <moritz@faui2k3.org>2012-08-20 22:55:45 +0200
commit089584d3577b72ed3fb405a32f35469ca7b939ab (patch)
tree8ec9f7275da179be636d3ad8334724c2ce24f807
parentc4afc586ed35a5da9e7b0d2966a7972db0c47f2e (diff)
adapt shebang line on installing
-rw-r--r--skel/tools/build/Makefile.in7
-rw-r--r--skel/tools/build/bin-install.pl28
2 files changed, 30 insertions, 5 deletions
diff --git a/skel/tools/build/Makefile.in b/skel/tools/build/Makefile.in
index 92d157f..a4de729 100644
--- a/skel/tools/build/Makefile.in
+++ b/skel/tools/build/Makefile.in
@@ -97,12 +97,9 @@ rakudo-install: rakudo
modules-install: rakudo
@echo "== Installing 'ufo'"
- $(CP) modules/ufo/bin/ufo $(DESTDIR)$(PARROT_BIN_DIR)/ufo
- $(CHMOD) 755 $(DESTDIR)$(PARROT_BIN_DIR)/ufo
$(PERL) tools/build/module-install.pl $(DESTDIR)$(PARROT_BIN_DIR)/$(PERL6_EXE) $(DESTDIR)$(PERL6_LANG_DIR)/lib $(MODULES)
- @echo "Installing 'panda'"
- $(CP) modules/panda/bin/panda $(DESTDIR)$(PARROT_BIN_DIR)/panda
- $(CHMOD) 755 $(DESTDIR)$(PARROT_BIN_DIR)/panda
+ @echo "== Installing binaries"
+ $(PERL) tools/build/bin-install.pl $(DESTDIR)$(PARROT_BIN_DIR)/$(PERL6_EXE) $(DESTDIR)$(PARROT_BIN_DIR) modules/ufo/bin/ufo modules/panda/bin/panda
install: rakudo-install modules-install
diff --git a/skel/tools/build/bin-install.pl b/skel/tools/build/bin-install.pl
new file mode 100644
index 0000000..1c71cea
--- /dev/null
+++ b/skel/tools/build/bin-install.pl
@@ -0,0 +1,28 @@
+#! perl
+
+use strict;
+use warnings;
+use File::Spec;
+
+my ($p6bin, $dest, @files) = @ARGV;
+die "Usage: $0 <perl6_binary> <destination_path> <source_files>"
+ unless $p6bin && $dest;
+
+for my $filename (@files) {
+ open my $IN, '<', $filename
+ or die "Cannot read file '$filename' for installing it: $!";
+ my $basename = (File::Spec->splitpath($filename))[2];
+ open my $OUT, '>', "$dest/$basename"
+ or die "Cannot write file '$dest/$basename' for installing it: $!";
+ while (<$IN>) {
+ if ($. == 1 && /^#!/) {
+ print { $OUT } "#!$p6bin\n";
+ }
+ else {
+ print { $OUT } $_;
+ }
+ }
+ close $OUT or die "Error while closing file '$dest/$basename': $!";
+ close $IN;
+ chmod 0755, "$dest/$basename";
+}