Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 248162 - dev-lang/smlnj creates /usr/bin subdirectories
Summary: dev-lang/smlnj creates /usr/bin subdirectories
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Team for the ML programming language family
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-11-22 12:08 UTC by Diego Elio Pettenò (RETIRED)
Modified: 2018-03-10 23:31 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Diego Elio Pettenò (RETIRED) gentoo-dev 2008-11-22 12:08:14 UTC
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.
Comment 1 Michael Weber (RETIRED) gentoo-dev 2010-07-01 09:48:42 UTC
(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
Comment 2 Marijn Schouten (RETIRED) gentoo-dev 2012-10-19 10:38:42 UTC
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.
Comment 3 Marijn Schouten (RETIRED) gentoo-dev 2012-10-22 12:19:48 UTC
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.
Comment 4 Larry the Git Cow gentoo-dev 2018-03-10 23:31:25 UTC
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(+)