Hi, I have submitted a patch for review:
https://gerrit.libreoffice.org/3778 To pull it, you can do: git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/78/3778/1 the MacOS X cleanup is logically a part of build ... so move it to python/ExternalProject_python3.mk, where it belongs. Change-Id: Ib99a6a40182341257f79dd289eac51806be46fcf --- D python3/CustomTarget_PythonFramework.mk M python3/ExternalProject_python3.mk M python3/Module_python3.mk 3 files changed, 52 insertions(+), 59 deletions(-) diff --git a/python3/CustomTarget_PythonFramework.mk b/python3/CustomTarget_PythonFramework.mk deleted file mode 100644 index e54b5fe..0000000 --- a/python3/CustomTarget_PythonFramework.mk +++ /dev/null @@ -1,58 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -# -# This file is part of the LibreOffice project. -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# - -$(eval $(call gb_CustomTarget_CustomTarget,python3/fixscripts)) -$(eval $(call gb_CustomTarget_CustomTarget,python3/fixinstallnames)) -$(eval $(call gb_CustomTarget_CustomTarget,python3/executables)) - -python3_fw_prefix=$(call gb_UnpackedTarball_get_dir,python3)/python-inst/@__________________________________________________OOO/LibreOfficePython.framework - -# rule to allow relocating the whole framework, removing reference to buildinstallation directory -$(call gb_CustomTarget_get_target,python3/fixscripts): $(call gb_ExternalProject_get_target,python3) - $(call gb_Output_announce,python3 - remove reference to installroot from scripts,build,CUS,5) - $(COMMAND_ECHO)for file in \ - $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/bin/2to3 \ - $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/bin/2to3-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR) \ - $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/bin/idle$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR) \ - $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/bin/pydoc$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR) \ - $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/bin/python$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)-config \ - $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/bin/python$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m-config \ - $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/bin/pyvenv-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR) ; do \ - { rm "$$file" && awk '\ - BEGIN {print "#!/bin/bash\n\ -origpath=$$(pwd)\n\ -bindir=$$(cd $$(dirname \"$$0\") ; pwd)\n\ -cd \"$$origpath\"\n\ -\"$$bindir/../Resources/Python.app/Contents/MacOS/LibreOfficePython\" - $$@ <<EOF"} \ - FNR==1{next} \ - {print} \ - END {print "EOF"}' > "$$file" ; } < "$$file" ; chmod +x "$$file" ; done - touch $@ - -$(call gb_CustomTarget_get_target,python3/fixinstallnames): $(call gb_ExternalProject_get_target,python3) - $(call gb_Output_announce,python3 - fix installname,build,CUS,5) - install_name_tool -change \ - $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/LibreOfficePython \ - @executable_path/../../../../LibreOfficePython \ - $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/Resources/Python.app/Contents/MacOS/LibreOfficePython - touch $@ - -# also delete binaries that are symlinked in scp2 -$(call gb_CustomTarget_get_target,python3/executables): $(call gb_ExternalProject_get_target,python3) - $(call gb_Output_announce,python3 - fix installnames in executables,build,CUS,5) - cd $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/bin ; \ - for file in python$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR) \ - python$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m \ - pythonw$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR) ; do \ - install_name_tool -change \ - $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/LibreOfficePython \ - @executable_path/../LibreOfficePython $$file ; done - touch $@ - -# vim: set noet sw=4 ts=4: diff --git a/python3/ExternalProject_python3.mk b/python3/ExternalProject_python3.mk index a01e115..c61e506 100644 --- a/python3/ExternalProject_python3.mk +++ b/python3/ExternalProject_python3.mk @@ -18,6 +18,11 @@ $(eval $(call gb_ExternalProject_register_targets,python3,\ build \ + $(if $(filter MACOSX,$(OS)),\ + fixscripts \ + fixinstallnames \ + executables \ + ) \ )) ifeq ($(OS)$(COM),WNTMSC) @@ -103,4 +108,50 @@ endif +ifeq ($(OS),MACOSX) + +python3_fw_prefix=$(call gb_UnpackedTarball_get_dir,python3)/python-inst/@__________________________________________________OOO/LibreOfficePython.framework + +# rule to allow relocating the whole framework, removing reference to buildinstallation directory +$(call gb_ExternalProject_get_state_target,python3,fixscripts) : $(call gb_ExternalProject_get_state_target,python3,build) + $(call gb_Output_announce,python3 - remove reference to installroot from scripts,build,CUS,5) + $(COMMAND_ECHO)for file in \ + $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/bin/2to3 \ + $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/bin/2to3-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR) \ + $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/bin/idle$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR) \ + $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/bin/pydoc$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR) \ + $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/bin/python$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)-config \ + $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/bin/python$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m-config \ + $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/bin/pyvenv-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR) ; do \ + { rm "$$file" && awk '\ + BEGIN {print "#!/bin/bash\n\ +origpath=$$(pwd)\n\ +bindir=$$(cd $$(dirname \"$$0\") ; pwd)\n\ +cd \"$$origpath\"\n\ +\"$$bindir/../Resources/Python.app/Contents/MacOS/LibreOfficePython\" - $$@ <<EOF"} \ + FNR==1{next} \ + {print} \ + END {print "EOF"}' > "$$file" ; } < "$$file" ; chmod +x "$$file" ; done + touch $@ + +$(call gb_ExternalProject_get_state_target,python3,fixinstallnames) : $(call gb_ExternalProject_get_state_target,python3,build) + install_name_tool -change \ + $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/LibreOfficePython \ + @executable_path/../../../../LibreOfficePython \ + $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/Resources/Python.app/Contents/MacOS/LibreOfficePython + touch $@ + +# also delete binaries that are symlinked in scp2 +$(call gb_ExternalProject_get_state_target,python3,executables) : $(call gb_ExternalProject_get_state_target,python3,build) + cd $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/bin ; \ + for file in python$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR) \ + python$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m \ + pythonw$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR) ; do \ + install_name_tool -change \ + $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/LibreOfficePython \ + @executable_path/../LibreOfficePython $$file ; done + touch $@ + +endif + # vim: set noet sw=4 ts=4: diff --git a/python3/Module_python3.mk b/python3/Module_python3.mk index 5ab63ba..831f79e 100644 --- a/python3/Module_python3.mk +++ b/python3/Module_python3.mk @@ -15,7 +15,7 @@ $(eval $(call gb_Module_add_targets,python3,\ UnpackedTarball_python3 \ ExternalProject_python3 \ - $(if $(filter MACOSX,$(OS)),Zip_PythonFramework CustomTarget_PythonFramework,ExternalPackage_python3) \ + $(if $(filter MACOSX,$(OS)),Zip_PythonFramework,ExternalPackage_python3) \ )) endif -- To view, visit https://gerrit.libreoffice.org/3778 To unsubscribe, visit https://gerrit.libreoffice.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib99a6a40182341257f79dd289eac51806be46fcf Gerrit-PatchSet: 1 Gerrit-Project: core Gerrit-Branch: master Gerrit-Owner: David Tardon <dtar...@redhat.com> _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice