diff --git a/srcpkgs/j/template b/srcpkgs/j/template index e47e045543e..b6caf29f114 100644 --- a/srcpkgs/j/template +++ b/srcpkgs/j/template @@ -4,7 +4,7 @@ _vmaj=901 _vmin=e _vrel=${_vmaj}-release${_vmin:+-}${_vmin} version=${_vmaj}.${_vmin} -revision=2 +revision=3 archs="aarch64* x86_64*" wrksrc="jsource-j${_vrel}" makedepends="libedit-devel libgomp-devel libomp-devel" @@ -41,15 +41,24 @@ do_configure() { /jbuilder/s@unknown@${_jbuilder}@" \ jsrc/jversion.h + # Remove version directory component from "~install" and "~user" paths cp jlibrary/bin/profile.ijs jlibrary/bin/profile.ijs.new vsed -i "/^install=./s@/usr/share/j/[0-9.]\+@${_jshare}@; /^user=./s@home,userx@home,'/${_juser}'@" \ jlibrary/bin/profile.ijs.new + + # The build scripts set compiler flags based on what they detect as the + # compiler (gcc vs clang). However, their detection scheme is fragile + # and breaks when using ccache. Thus we directly tell them that we are + # using gcc. + vsed -i '/^compiler/s/=.*/=gcc/' make2/build_jconsole.sh + vsed -i '/^compiler/s/=.*/=gcc/' make2/build_libj.sh } ## # Crossbuilds do not distinguish between AVX- and non-AVX targets, so instead -# we build all applicable binaries. +# we build all applicable binaries and install a wrapper script that executes +# the correct one on the target machine. do_build() { jplatform=${_jpl} j64x=${_jsz} make2/build_jconsole.sh jplatform=${_jpl} j64x=${_jsz} make2/build_libj.sh