ports/lang/julia10/files/patch-Makefile
Li-Wen Hsu af1d8e9886 Copy lang/julia to lang/julia10
This is preparing for turning lang/julia to a meta port

PR:		235872
Submitted by:	Iblis Lin <iblis@hs.ntnu.edu.tw> (maintainer)
2019-05-28 05:59:00 +00:00

122 lines
5.3 KiB
Text

--- Makefile.orig 2018-12-18 01:38:57 UTC
+++ Makefile
@@ -264,24 +264,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
@@ -328,8 +310,7 @@ JL_PRIVATE_LIBS-0 += libgfortran libgcc_s libquadmath
endif
-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
@@ -371,10 +352,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
@@ -389,8 +366,6 @@ 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
@@ -400,16 +375,6 @@ endif
-rm -f $(DESTDIR)$(datarootdir)/julia/stdlib/$(VERSDIR)/*/build-checked
# 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))
@@ -420,7 +385,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
@@ -431,22 +396,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:
-rm -fr $(BUILDROOT)/julia-*.tar.gz $(BUILDROOT)/julia*.exe $(BUILDROOT)/julia-*.7z $(BUILDROOT)/julia-$(JULIA_COMMIT)