diff options
Diffstat (limited to 'lang/julia07/files/patch-Makefile')
-rw-r--r-- | lang/julia07/files/patch-Makefile | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/lang/julia07/files/patch-Makefile b/lang/julia07/files/patch-Makefile new file mode 100644 index 000000000000..326d5d9a3ddb --- /dev/null +++ b/lang/julia07/files/patch-Makefile @@ -0,0 +1,121 @@ +--- Makefile.orig 2018-08-02 19:21:47 UTC ++++ Makefile +@@ -266,24 +266,6 @@ endif + endif + endif + +-# On FreeBSD, /lib/libgcc_s.so.1 is incompatible with Fortran; to use Fortran on FreeBSD, +-# we need to link to the libgcc_s that ships with the same GCC version used by libgfortran. +-# To work around this, we copy the GCC libraries we need, namely libgfortran, libgcc_s, +-# and libquadmath, into our build library directory, $(build_libdir). We also add them to +-# JL_PRIVATE_LIBS-0 so that they know where they need to live at install time. +-ifeq ($(OS),FreeBSD) +-define std_so +-julia-deps: | $$(build_libdir)/$(1).so +-$$(build_libdir)/$(1).so: | $$(build_libdir) +- $$(INSTALL_M) $$(GCCPATH)/$(1).so* $$(build_libdir) +-JL_PRIVATE_LIBS-0 += $(1) +-endef +- +-$(eval $(call std_so,libgfortran)) +-$(eval $(call std_so,libgcc_s)) +-$(eval $(call std_so,libquadmath)) +-endif # FreeBSD +- + ifeq ($(OS),WINNT) + define std_dll + julia-deps: | $$(build_bindir)/lib$(1).dll $$(build_depsbindir)/lib$(1).dll +@@ -316,8 +298,7 @@ define stringreplace + $(build_depsbindir)/stringreplace $$(strings -t x - $1 | grep '$2' | awk '{print $$1;}') '$3' 255 "$(call cygpath_w,$1)" + endef + +-install: $(build_depsbindir)/stringreplace $(BUILDROOT)/doc/_build/html/en/index.html +- @$(MAKE) $(QUIET_MAKE) all ++install: $(build_depsbindir)/stringreplace + @for subdir in $(bindir) $(datarootdir)/julia/stdlib/$(VERSDIR) $(docdir) $(man1dir) $(includedir)/julia $(libdir) $(private_libdir) $(sysconfdir); do \ + mkdir -p $(DESTDIR)$$subdir; \ + done +@@ -359,10 +340,6 @@ endif + fi \ + done \ + done +- for suffix in $(JL_PRIVATE_LIBS-1) ; do \ +- lib=$(build_private_libdir)/$${suffix}.$(SHLIB_EXT); \ +- $(INSTALL_M) $$lib $(DESTDIR)$(private_libdir) ; \ +- done + endif + + # Copy public headers +@@ -376,24 +353,11 @@ endif + $(INSTALL_M) $(JULIAHOME)/contrib/build_sysimg.jl $(DESTDIR)$(datarootdir)/julia/ + # Copy in all .jl sources as well + cp -R -L $(build_datarootdir)/julia $(DESTDIR)$(datarootdir)/ +- # Copy documentation +- cp -R -L $(BUILDROOT)/doc/_build/html $(DESTDIR)$(docdir)/ + # Remove various files which should not be installed + -rm -f $(DESTDIR)$(datarootdir)/julia/base/version_git.sh + -rm -f $(DESTDIR)$(datarootdir)/julia/test/Makefile + # Copy in beautiful new man page + $(INSTALL_F) $(build_man1dir)/julia.1 $(DESTDIR)$(man1dir)/ +- # Copy icon and .desktop file +- mkdir -p $(DESTDIR)$(datarootdir)/icons/hicolor/scalable/apps/ +- $(INSTALL_F) $(JULIAHOME)/contrib/julia.svg $(DESTDIR)$(datarootdir)/icons/hicolor/scalable/apps/ +- -touch -c $(DESTDIR)$(datarootdir)/icons/hicolor/ +- -gtk-update-icon-cache $(DESTDIR)$(datarootdir)/icons/hicolor/ +- mkdir -p $(DESTDIR)$(datarootdir)/applications/ +- $(INSTALL_F) $(JULIAHOME)/contrib/julia.desktop $(DESTDIR)$(datarootdir)/applications/ +- # Install appdata file +- mkdir -p $(DESTDIR)$(datarootdir)/appdata/ +- $(INSTALL_F) $(JULIAHOME)/contrib/julia.appdata.xml $(DESTDIR)$(datarootdir)/appdata/ +- + # Update RPATH entries and JL_SYSTEM_IMAGE_PATH if $(private_libdir_rel) != $(build_private_libdir_rel) + ifneq ($(private_libdir_rel),$(build_private_libdir_rel)) + ifeq ($(OS), Darwin) +@@ -403,7 +367,7 @@ ifeq ($(OS), Darwin) + done + else ifneq (,$(findstring $(OS),Linux FreeBSD)) + for j in $(JL_TARGETS) ; do \ +- patchelf --set-rpath '$$ORIGIN/$(private_libdir_rel):$$ORIGIN/$(libdir_rel)' $(DESTDIR)$(bindir)/$$j; \ ++ patchelf --set-rpath '$(GCCPATH):$$ORIGIN/$(private_libdir_rel):$$ORIGIN/$(libdir_rel)' $(DESTDIR)$(bindir)/$$j; \ + done + endif + +@@ -414,22 +378,24 @@ ifeq ($(BUNDLE_DEBUG_LIBS),1) + endif + + endif +- # On FreeBSD, remove the build's libdir from each library's RPATH +-ifeq ($(OS),FreeBSD) +- $(JULIAHOME)/contrib/fixup-rpath.sh $(build_depsbindir)/patchelf $(DESTDIR)$(libdir) $(build_libdir) +- $(JULIAHOME)/contrib/fixup-rpath.sh $(build_depsbindir)/patchelf $(DESTDIR)$(private_libdir) $(build_libdir) +- $(JULIAHOME)/contrib/fixup-rpath.sh $(build_depsbindir)/patchelf $(DESTDIR)$(bindir) $(build_libdir) +- # Set libgfortran's RPATH to ORIGIN instead of GCCPATH. It's only libgfortran that +- # needs to be fixed here, as libgcc_s and libquadmath don't have RPATHs set. If we +- # don't set libgfortran's RPATH, it won't be able to find its friends on systems +- # that don't have the exact GCC port installed used for the build. +- for lib in $(DESTDIR)$(private_libdir)/libgfortran*$(SHLIB_EXT)*; do \ +- $(build_depsbindir)/patchelf --set-rpath '$$ORIGIN' $$lib; \ +- done +-endif +- + mkdir -p $(DESTDIR)$(sysconfdir) + cp -R $(build_sysconfdir)/julia $(DESTDIR)$(sysconfdir)/ ++ ++install-docs: ++ # Copy documentation ++ cp -R -L $(BUILDROOT)/doc/_build/html $(DESTDIR)$(docdir)/ ++ ++install-desktop: ++ # Copy icon and .desktop file ++ mkdir -p $(DESTDIR)$(datarootdir)/icons/hicolor/scalable/apps/ ++ $(INSTALL_F) $(JULIAHOME)/contrib/julia.svg $(DESTDIR)$(datarootdir)/icons/hicolor/scalable/apps/ ++ -touch -c $(DESTDIR)$(datarootdir)/icons/hicolor/ ++ -gtk-update-icon-cache $(DESTDIR)$(datarootdir)/icons/hicolor/ ++ mkdir -p $(DESTDIR)$(datarootdir)/applications/ ++ $(INSTALL_F) $(JULIAHOME)/contrib/julia.desktop $(DESTDIR)$(datarootdir)/applications/ ++ # Install appdata file ++ mkdir -p $(DESTDIR)$(datarootdir)/appdata/ ++ $(INSTALL_F) $(JULIAHOME)/contrib/julia.appdata.xml $(DESTDIR)$(datarootdir)/appdata/ + + distclean dist-clean: + -rm -fr $(BUILDROOT)/julia-*.tar.gz $(BUILDROOT)/julia*.exe $(BUILDROOT)/julia-*.7z $(BUILDROOT)/julia-$(JULIA_COMMIT) |