diff --git a/Makefile b/Makefile index b258fdbed8623d..49efbb67d07f77 100644 --- a/Makefile +++ b/Makefile @@ -2540,6 +2540,7 @@ GIT-PERL-HEADER: $(PERL_HEADER_TEMPLATE) GIT-PERL-DEFINES Makefile sed -e 's=@@PATHSEP@@=$(pathsep)=g' \ -e "s=@@INSTLIBDIR@@=$$INSTLIBDIR=g" \ -e 's=@@PERLLIBDIR_REL@@=$(perllibdir_relative_SQ)=g' \ + -e 's=@@PERLVERSION@@=$(shell grep DEFAULT /usr/local/versioner/perl/versions | sed 's:^.*= *\([^ ]*\)$$:\1:')=g' \ -e 's=@@GITEXECDIR_REL@@=$(gitexecdir_relative_SQ)=g' \ -e 's=@@LOCALEDIR_REL@@=$(localedir_relative_SQ)=g' \ $< >$@+ && \ @@ -2571,6 +2572,8 @@ $(SCRIPT_PYTHON_GEN): GIT-CFLAGS GIT-PREFIX GIT-PYTHON-VARS $(SCRIPT_PYTHON_GEN): % : %.py $(QUIET_GEN) \ sed -e '1s|#!.*python|#!$(PYTHON_PATH_SQ)|' \ + -e 's|\(os\.getenv("GITPYTHONLIB"\)[^)]*)|\1,"@@INSTLIBDIR@@")|' \ + -e 's|"@@INSTLIBDIR@@"|os.path.realpath(os.path.dirname(sys.argv[0])) + "/../../share/git-core/python"|g' \ $< >$@+ && \ chmod +x $@+ && \ mv $@+ $@ diff --git a/perl/header_templates/runtime_prefix.template.pl b/perl/header_templates/runtime_prefix.template.pl index 9d28b3d8636c6c..b0b6b0bef1ee49 100644 --- a/perl/header_templates/runtime_prefix.template.pl +++ b/perl/header_templates/runtime_prefix.template.pl @@ -1,3 +1,28 @@ +# BEGIN XCODE RUNTIME_PREFIX generated code +BEGIN { + use File::Spec; + my $PERLVERSION = "@@PERLVERSION@@"; + if ($^V =~ m/v([0-9]+).([0-9]+)/) { + $PERLVERSION = $1.".".$2; + } + my $__prefix = File::Spec->rel2abs( __FILE__ ); + + if ($__prefix =~ m/\/libexec\/git-core\// ) { + $__prefix =~ s/\/libexec\/git-core\/.*//; + unshift @INC, $__prefix . "/share/git-core/perl"; + unshift @INC, $__prefix . "/../Library/Perl/".$PERLVERSION."/darwin-thread-multi-2level"; + } elsif ($__prefix =~ m/\/bin\// ) { + $__prefix =~ s/\/bin\/.*//; + unshift @INC, $__prefix . "/share/git-core/perl"; + unshift @INC, $__prefix . "/../Library/Perl/".$PERLVERSION."/darwin-thread-multi-2level"; + } elsif ( $__prefix =~ m/\/usr\// ) { + $__prefix =~ s/\/usr\/.*/\/usr/; + unshift @INC, $__prefix . "/share/git-core/perl"; + unshift @INC, $__prefix . "/../Library/Perl/".$PERLVERSION."/darwin-thread-multi-2level"; + } +} +# END XCODE RUNTIME_PREFIX generated code. + # BEGIN RUNTIME_PREFIX generated code. # # This finds our Git::* libraries relative to the script's runtime path. diff --git a/t/test-lib.sh b/t/test-lib.sh index 6db377f68b82c4..64f61d60b2e318 100644 --- a/t/test-lib.sh +++ b/t/test-lib.sh @@ -1513,6 +1513,9 @@ fi GITPERLLIB="$GIT_BUILD_DIR"/perl/build/lib export GITPERLLIB +PERL_VERSION=$(grep DEFAULT /usr/local/versioner/perl/versions | sed 's:^.*= *\([^ ]*\)$:\1:') +PERL5LIB="$GIT_BUILD_DIR"/perl:"$(xcode-select -p)"/Library/Perl/$PERL_VERSION +export PERL5LIB test -d "$GIT_BUILD_DIR"/templates/blt || { BAIL_OUT "You haven't built things yet, have you?" }