dev-lang/smlnj (/usr/bin/.heap) dev-lang/smlnj (/usr/bin/.run) It should use $libdir/$PN or /usr/libexec for this, certainly an /usr/bin subdirectory does not sound right.
(In reply to comment #0) > It should use $libdir/$PN or /usr/libexec for this, certainly an /usr/bin > subdirectory does not sound right. The binaries were hardcoded 32bit, $get_libdir might be wrong in the amd64 case. This fixes the directories to --- smlnj-110.71.ebuild.orig 2010-07-01 11:45:46.000000000 +0200 +++ smlnj-110.71.ebuild 2010-07-01 11:46:19.000000000 +0200 @@ -82,6 +82,11 @@ -e "/^CPP/s:gcc:$(tc-getCC):" \ -e "/^CFLAGS/{s:-O[0123s]:: ; s:=:= ${CFLAGS}:}" \ base/runtime/objs/mk.x86-linux || die + #use target file locations instead of WORKDIR + sed -i \ + -e "/@BINDIR@/s:\$BINDIR:/usr/lib/${PN}/bin:" \ + -e "/@LIBDIR@/s:\$LIBDIR:/usr/lib/${PN}/lib:" \ + config/install.sh || die } src_compile() { @@ -89,11 +94,13 @@ } src_install() { - mkdir -p "${D}"/usr - mv {bin,lib} "${D}"/usr + insinto /usr/lib/${PN} + doins -r lib || die + insopts -m755 + doins -r bin || die - for file in "${D}"/usr/bin/{*,.*}; do - [[ -f ${file} ]] && sed "2iSMLNJ_HOME=/usr" -i ${file} -# [[ -f ${file} ]] && sed "s:${WORKDIR}:/usr:" -i ${file} + local f + for f in $(find /usr/lib/smlnj/bin/ -maxdepth 1 -type f ! -name ".*") ; do + dosym ${f} /usr/bin/$(basename "${f}") || die done } to following list io smlnj # qlist smlnj /usr/bin/sml /usr/bin/ml-antlr /usr/bin/ml-build /usr/bin/heap2exec /usr/bin/ml-makedepend /usr/bin/ml-ulex /usr/bin/ml-yacc /usr/bin/ml-lex /usr/lib/smlnj/bin/sml /usr/lib/smlnj/bin/.run/run.x86-linux /usr/lib/smlnj/bin/.run/run.x86-linux.so /usr/lib/smlnj/bin/.run/run.x86-linux.a /usr/lib/smlnj/bin/.heap/ml-ulex.x86-linux /usr/lib/smlnj/bin/.heap/sml.x86-linux /usr/lib/smlnj/bin/.heap/ml-yacc.x86-linux /usr/lib/smlnj/bin/.heap/ml-antlr.x86-linux /usr/lib/smlnj/bin/.heap/ml-lex.x86-linux /usr/lib/smlnj/bin/ml-antlr /usr/lib/smlnj/bin/ml-build /usr/lib/smlnj/bin/heap2exec /usr/lib/smlnj/bin/.link-sml /usr/lib/smlnj/bin/ml-makedepend /usr/lib/smlnj/bin/ml-ulex /usr/lib/smlnj/bin/ml-yacc /usr/lib/smlnj/bin/ml-lex /usr/lib/smlnj/bin/.arch-n-opsys /usr/lib/smlnj/bin/.run-sml /usr/lib/smlnj/lib/cml/.cm/x86-unix/cml-internal.cm /usr/lib/smlnj/lib/cml/.cm/x86-unix/cml.cm /usr/lib/smlnj/lib/cml/.cm/x86-unix/core-cml.cm /usr/lib/smlnj/lib/cml/.cm/x86-unix/basis.cm /usr/lib/smlnj/lib/cml-lib/.cm/x86-unix/smlnj-lib.cm /usr/lib/smlnj/lib/cml-lib/.cm/x86-unix/trace-cml.cm /usr/lib/smlnj/lib/smlnj-tdp/.cm/x86-unix/plugins.cm /usr/lib/smlnj/lib/smlnj-tdp/.cm/x86-unix/back-trace.cm /usr/lib/smlnj/lib/smlnj-tdp/.cm/x86-unix/coverage.cm /usr/lib/smlnj/lib/SMLNJ-MLRISC/.cm/x86-unix/StagedAlloc.cm /usr/lib/smlnj/lib/SMLNJ-MLRISC/.cm/x86-unix/Visual.cm /usr/lib/smlnj/lib/SMLNJ-MLRISC/.cm/x86-unix/CCall-x86.cm /usr/lib/smlnj/lib/SMLNJ-MLRISC/.cm/x86-unix/RA.cm /usr/lib/smlnj/lib/SMLNJ-MLRISC/.cm/x86-unix/Lib.cm /usr/lib/smlnj/lib/SMLNJ-MLRISC/.cm/x86-unix/CCall-Vararg.cm /usr/lib/smlnj/lib/SMLNJ-MLRISC/.cm/x86-unix/PPC.cm /usr/lib/smlnj/lib/SMLNJ-MLRISC/.cm/x86-unix/Peephole.cm /usr/lib/smlnj/lib/SMLNJ-MLRISC/.cm/x86-unix/Graphs.cm /usr/lib/smlnj/lib/SMLNJ-MLRISC/.cm/x86-unix/MLTREE.cm /usr/lib/smlnj/lib/SMLNJ-MLRISC/.cm/x86-unix/CCall-x86-64.cm /usr/lib/smlnj/lib/SMLNJ-MLRISC/.cm/x86-unix/AMD64.cm /usr/lib/smlnj/lib/SMLNJ-MLRISC/.cm/x86-unix/ALPHA.cm /usr/lib/smlnj/lib/SMLNJ-MLRISC/.cm/x86-unix/Control.cm /usr/lib/smlnj/lib/SMLNJ-MLRISC/.cm/x86-unix/IA32-Peephole.cm /usr/lib/smlnj/lib/SMLNJ-MLRISC/.cm/x86-unix/IA32.cm /usr/lib/smlnj/lib/SMLNJ-MLRISC/.cm/x86-unix/CCall.cm /usr/lib/smlnj/lib/SMLNJ-MLRISC/.cm/x86-unix/HPPA.cm /usr/lib/smlnj/lib/SMLNJ-MLRISC/.cm/x86-unix/SPARC.cm /usr/lib/smlnj/lib/SMLNJ-MLRISC/.cm/x86-unix/AMD64-Peephole.cm /usr/lib/smlnj/lib/SMLNJ-MLRISC/.cm/x86-unix/CCall-sparc.cm /usr/lib/smlnj/lib/SMLNJ-MLRISC/.cm/x86-unix/MLRISC.cm /usr/lib/smlnj/lib/regexp-lib.cm/.cm/x86-unix/regexp-lib.cm /usr/lib/smlnj/lib/ml-lpt-lib.cm/.cm/x86-unix/ml-lpt-lib.cm /usr/lib/smlnj/lib/ml-ulex-tool.cm/.cm/x86-unix/ml-ulex-tool.cm /usr/lib/smlnj/lib/smlnj/cm/.cm/x86-unix/cm.cm /usr/lib/smlnj/lib/smlnj/cm/.cm/x86-unix/tools.cm /usr/lib/smlnj/lib/smlnj/.cm/x86-unix/cm.cm /usr/lib/smlnj/lib/smlnj/.cm/x86-unix/compiler.cm /usr/lib/smlnj/lib/smlnj/.cm/x86-unix/installer.cm /usr/lib/smlnj/lib/smlnj/.cm/x86-unix/cmb.cm /usr/lib/smlnj/lib/smlnj/.cm/x86-unix/library-install.cm /usr/lib/smlnj/lib/smlnj/cmb/.cm/x86-unix/current.cm /usr/lib/smlnj/lib/smlnj/cmb/.cm/x86-unix/x86-unix.cm /usr/lib/smlnj/lib/smlnj/cmb/.cm/x86-unix/ppc-unix.cm /usr/lib/smlnj/lib/smlnj/cmb/.cm/x86-unix/ppc-macos.cm /usr/lib/smlnj/lib/smlnj/cmb/.cm/x86-unix/alpha32-unix.cm /usr/lib/smlnj/lib/smlnj/cmb/.cm/x86-unix/x86-win32.cm /usr/lib/smlnj/lib/smlnj/cmb/.cm/x86-unix/amd64-unix.cm /usr/lib/smlnj/lib/smlnj/cmb/.cm/x86-unix/sparc-unix.cm /usr/lib/smlnj/lib/smlnj/cmb/.cm/x86-unix/hppa-unix.cm /usr/lib/smlnj/lib/smlnj/init/.cm/x86-unix/init.cmi /usr/lib/smlnj/lib/smlnj/smlnj-lib/.cm/x86-unix/pp-lib.cm /usr/lib/smlnj/lib/smlnj/smlnj-lib/.cm/x86-unix/controls-lib.cm /usr/lib/smlnj/lib/smlnj/smlnj-lib/.cm/x86-unix/smlnj-lib.cm /usr/lib/smlnj/lib/smlnj/smlnj-lib/.cm/x86-unix/html-lib.cm /usr/lib/smlnj/lib/smlnj/MLRISC/.cm/x86-unix/Visual.cm /usr/lib/smlnj/lib/smlnj/MLRISC/.cm/x86-unix/Lib.cm /usr/lib/smlnj/lib/smlnj/MLRISC/.cm/x86-unix/PPC.cm /usr/lib/smlnj/lib/smlnj/MLRISC/.cm/x86-unix/Graphs.cm /usr/lib/smlnj/lib/smlnj/MLRISC/.cm/x86-unix/MLTREE.cm /usr/lib/smlnj/lib/smlnj/MLRISC/.cm/x86-unix/AMD64.cm /usr/lib/smlnj/lib/smlnj/MLRISC/.cm/x86-unix/ALPHA.cm /usr/lib/smlnj/lib/smlnj/MLRISC/.cm/x86-unix/Control.cm /usr/lib/smlnj/lib/smlnj/MLRISC/.cm/x86-unix/IA32.cm /usr/lib/smlnj/lib/smlnj/MLRISC/.cm/x86-unix/HPPA.cm /usr/lib/smlnj/lib/smlnj/MLRISC/.cm/x86-unix/SPARC.cm /usr/lib/smlnj/lib/smlnj/MLRISC/.cm/x86-unix/MLRISC.cm /usr/lib/smlnj/lib/smlnj/basis/.cm/x86-unix/basis.cm /usr/lib/smlnj/lib/smlnj/ml-yacc/.cm/x86-unix/ml-yacc-lib.cm /usr/lib/smlnj/lib/smlnj/compiler/.cm/x86-unix/sparc.cm /usr/lib/smlnj/lib/smlnj/compiler/.cm/x86-unix/current.cm /usr/lib/smlnj/lib/smlnj/compiler/.cm/x86-unix/compiler.cm /usr/lib/smlnj/lib/smlnj/compiler/.cm/x86-unix/all.cm /usr/lib/smlnj/lib/smlnj/compiler/.cm/x86-unix/alpha32.cm /usr/lib/smlnj/lib/smlnj/compiler/.cm/x86-unix/ppc.cm /usr/lib/smlnj/lib/smlnj/compiler/.cm/x86-unix/x86.cm /usr/lib/smlnj/lib/smlnj/compiler/.cm/x86-unix/hppa.cm /usr/lib/smlnj/lib/smlnj/compiler/.cm/x86-unix/amd64.cm /usr/lib/smlnj/lib/smlnj/compiler/.cm/x86-unix/minimal-only.cm /usr/lib/smlnj/lib/smlnj/compiler/.cm/x86-unix/minimal.cm /usr/lib/smlnj/lib/smlnj/viscomp/.cm/x86-unix/core.cm /usr/lib/smlnj/lib/smlnj/viscomp/.cm/x86-unix/basics.cm /usr/lib/smlnj/lib/smlnj/viscomp/.cm/x86-unix/parser.cm /usr/lib/smlnj/lib/smlnj/viscomp/.cm/x86-unix/sparc.cm /usr/lib/smlnj/lib/smlnj/viscomp/.cm/x86-unix/execute.cm /usr/lib/smlnj/lib/smlnj/viscomp/.cm/x86-unix/alpha32.cm /usr/lib/smlnj/lib/smlnj/viscomp/.cm/x86-unix/ppc.cm /usr/lib/smlnj/lib/smlnj/viscomp/.cm/x86-unix/x86.cm /usr/lib/smlnj/lib/smlnj/viscomp/.cm/x86-unix/elaborate.cm /usr/lib/smlnj/lib/smlnj/viscomp/.cm/x86-unix/debugprof.cm /usr/lib/smlnj/lib/smlnj/viscomp/.cm/x86-unix/hppa.cm /usr/lib/smlnj/lib/smlnj/viscomp/.cm/x86-unix/amd64.cm /usr/lib/smlnj/lib/smlnj/viscomp/.cm/x86-unix/elabdata.cm /usr/lib/smlnj/lib/smlnj/installer/.cm/x86-unix/util.cm /usr/lib/smlnj/lib/smlnj/internal/.cm/x86-unix/srcpath-lib.cm /usr/lib/smlnj/lib/smlnj/internal/.cm/x86-unix/intsys.cm /usr/lib/smlnj/lib/smlnj/internal/.cm/x86-unix/cm0.cm /usr/lib/smlnj/lib/smlnj/internal/.cm/x86-unix/smlnj-version.cm /usr/lib/smlnj/lib/smlnj/internal/.cm/x86-unix/cm-sig-lib.cm /usr/lib/smlnj/lib/smlnj/internal/.cm/x86-unix/cm-lib.cm /usr/lib/smlnj/lib/SMLNJ-LIB/PP/.cm/x86-unix/pp-lib.cm /usr/lib/smlnj/lib/SMLNJ-LIB/HTML/.cm/x86-unix/html-lib.cm /usr/lib/smlnj/lib/SMLNJ-LIB/Util/.cm/x86-unix/smlnj-lib.cm /usr/lib/smlnj/lib/SMLNJ-LIB/Controls/.cm/x86-unix/controls-lib.cm /usr/lib/smlnj/lib/noweb-tool.cm/.cm/x86-unix/noweb-tool.cm /usr/lib/smlnj/lib/grm-ext.cm/.cm/x86-unix/grm-ext.cm /usr/lib/smlnj/lib/mllex-tool.cm/.cm/x86-unix/mllex-tool.cm /usr/lib/smlnj/lib/make-tool.cm/.cm/x86-unix/make-tool.cm /usr/lib/smlnj/lib/pgraph.cm/.cm/x86-unix/pgraph.cm /usr/lib/smlnj/lib/inet-lib.cm/.cm/x86-unix/inet-lib.cm /usr/lib/smlnj/lib/json-lib.cm/.cm/x86-unix/json-lib.cm /usr/lib/smlnj/lib/dir-tool.cm/.cm/x86-unix/dir-tool.cm /usr/lib/smlnj/lib/reactive-lib.cm/.cm/x86-unix/reactive-lib.cm /usr/lib/smlnj/lib/SMLNJ-ML-YACC-LIB/.cm/x86-unix/ml-yacc-lib.cm /usr/lib/smlnj/lib/pathconfig /usr/lib/smlnj/lib/lex-ext.cm/.cm/x86-unix/lex-ext.cm /usr/lib/smlnj/lib/hash-cons-lib.cm/.cm/x86-unix/hash-cons-lib.cm /usr/lib/smlnj/lib/unix-lib.cm/.cm/x86-unix/unix-lib.cm /usr/lib/smlnj/lib/nw-ext.cm/.cm/x86-unix/nw-ext.cm /usr/lib/smlnj/lib/shell-tool.cm/.cm/x86-unix/shell-tool.cm /usr/lib/smlnj/lib/ml-antlr-tool.cm/.cm/x86-unix/ml-antlr-tool.cm /usr/lib/smlnj/lib/mlyacc-tool.cm/.cm/x86-unix/mlyacc-tool.cm /usr/lib/smlnj/lib/pickle-lib.cm/.cm/x86-unix/pickle-lib.cm /usr/lib/smlnj/lib/SMLNJ-BASIS/.cm/x86-unix/basis.cm
I've now fixed this issue with a slight variation of Michael Weber's patch (thanks xmw!), but I'm leaving this bug open until an upstream solution is available.
I've had to revert the fix for this for now because of bug 438934. I don't consider this important enough to look into it too much, but if anyone else is interested, then I am still open to a solution.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b740f3f14324d405b1dddf4335e168e1ea2eee21 commit b740f3f14324d405b1dddf4335e168e1ea2eee21 Author: Mark Wright <gienah@gentoo.org> AuthorDate: 2018-03-10 23:29:58 +0000 Commit: Mark Wright <gienah@gentoo.org> CommitDate: 2018-03-10 23:30:52 +0000 dev-lang/smlnj: Bump to 110.82, fix install dirs, build on pax kernels. Bump to 110.82, fixes 487064 , thanks to Keshav Kini and OGINO Masanori for reporting. Install to the smlnj subdirectory underneath the 32 bit lib directory if it exists, or the 64 bit lib directory otherwise, and create symlinks in /usr/bin to point to the executables. Fixes 248162, thanks to flameeyes for reporting, xmv and hkbst for helping. Fix build on pax kernels, fixes 564132, thanks to Fedja Beader for reporting. Closes: https://bugs.gentoo.org/487064 Closes: https://bugs.gentoo.org/248162 Closes: https://bugs.gentoo.org/564132 Package-Manager: Portage-2.3.24, Repoman-2.3.6 dev-lang/smlnj/Manifest | 24 ++++ dev-lang/smlnj/files/smlnj-110.82-pax-p1.patch | 116 +++++++++++++++++ dev-lang/smlnj/files/smlnj-110.82-pax-p2.patch | 132 ++++++++++++++++++++ dev-lang/smlnj/files/smlnj-110.82-pax-p3.patch | 137 ++++++++++++++++++++ dev-lang/smlnj/metadata.xml | 4 + dev-lang/smlnj/smlnj-110.82.ebuild | 166 +++++++++++++++++++++++++ 6 files changed, 579 insertions(+)