summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Wright <gienah@gentoo.org>2014-01-15 08:07:11 +0000
committerMark Wright <gienah@gentoo.org>2014-01-15 08:07:11 +0000
commit4f562d34e93a1be2014fa8b7834f6200899dc2fa (patch)
treeea011d9d55045347ee46c04a260bf6613c82dfa9 /sci-mathematics
parentConditionally build unit tests (bug #498132). (diff)
downloadgentoo-2-4f562d34e93a1be2014fa8b7834f6200899dc2fa.tar.gz
gentoo-2-4f562d34e93a1be2014fa8b7834f6200899dc2fa.tar.bz2
gentoo-2-4f562d34e93a1be2014fa8b7834f6200899dc2fa.zip
Apply patch from upstream to fix twelf build with mlton-20130715. Add -fno-PIE to fix compile with mlton-20130715 on Gentoo hardened.
(Portage version: 2.2.8/cvs/Linux x86_64, signed Manifest commit with key 618E971F)
Diffstat (limited to 'sci-mathematics')
-rw-r--r--sci-mathematics/twelf/ChangeLog7
-rw-r--r--sci-mathematics/twelf/files/twelf-1.7.1-mlton-mlb.patch409
-rw-r--r--sci-mathematics/twelf/twelf-1.7.1.ebuild60
3 files changed, 446 insertions, 30 deletions
diff --git a/sci-mathematics/twelf/ChangeLog b/sci-mathematics/twelf/ChangeLog
index 81e2415c8824..506911ca0174 100644
--- a/sci-mathematics/twelf/ChangeLog
+++ b/sci-mathematics/twelf/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for sci-mathematics/twelf
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/twelf/ChangeLog,v 1.4 2014/01/06 14:26:39 jlec Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/twelf/ChangeLog,v 1.5 2014/01/15 08:07:11 gienah Exp $
+
+ 15 Jan 2014; Mark Wright <gienah@gentoo.org>
+ +files/twelf-1.7.1-mlton-mlb.patch, twelf-1.7.1.ebuild:
+ Apply patch from upstream to fix twelf build with mlton-20130715. Add -fno-PIE
+ to fix compile with mlton-20130715 on Gentoo hardened.
06 Jan 2014; Justin Lecher <jlec@gentoo.org> twelf-1.7.1.ebuild,
metadata.xml:
diff --git a/sci-mathematics/twelf/files/twelf-1.7.1-mlton-mlb.patch b/sci-mathematics/twelf/files/twelf-1.7.1-mlton-mlb.patch
new file mode 100644
index 000000000000..24d16049c0e5
--- /dev/null
+++ b/sci-mathematics/twelf/files/twelf-1.7.1-mlton-mlb.patch
@@ -0,0 +1,409 @@
+commit 35216e78de99558a39b147bf06fef85e1aabb2c6
+Author: Rob Simmons <robsimmons@gmail.com>
+Date: Mon Aug 19 11:49:04 2013 -0400
+
+ Transfer Mlton build over to mlb files, as they've been asking us to do for years and now insist on.
+
+diff --git a/Makefile b/Makefile
+index 9d7d422..2422f36 100644
+--- a/Makefile
++++ b/Makefile
+@@ -46,9 +46,9 @@ twelf-server-announce:
+ twelf-server-mlton:
+ mltonversion=`$(mlton) 2>&1 | awk 'NR==1 { print 0+$$2 }'`; \
+ if [ $$mltonversion -ge 20041109 ]; then \
+- cmfileid="twelf-server-mlton.cm"; \
++ cmfileid="twelf-server-mlton.mlb"; \
+ elif [ $$mltonversion="MLTONVERSION" ]; then \
+- cmfileid="twelf-server-mlton.cm"; \
++ cmfileid="twelf-server-mlton.mlb"; \
+ else \
+ echo; echo "Error: MLton >= 20041109 required"; echo; \
+ exit 1; \
+@@ -84,7 +84,7 @@ mlton : twelf-server-announce buildid twelf-server-mlton twelf-emacs
+
+ .PHONY: twelf-regression check
+ twelf-regression: buildid
+- $(mlton) -output bin/twelf-regression TEST/mlton-regression.cm
++ $(mlton) -output bin/twelf-regression TEST/mlton-regression.mlb
+
+ check : twelf-regression
+ $(make) -C TEST check
+diff --git a/TEST/mlton-regression.mlb b/TEST/mlton-regression.mlb
+new file mode 100644
+index 0000000..b77a9ee
+--- /dev/null
++++ b/TEST/mlton-regression.mlb
+@@ -0,0 +1,7 @@
++(* MLton version *)
++
++../build/twelf-core-mlton.mlb
++
++regression.sml
++runquiet.sml
++
+diff --git a/build/twelf-core-mlton.mlb b/build/twelf-core-mlton.mlb
+new file mode 100644
+index 0000000..26843cd
+--- /dev/null
++++ b/build/twelf-core-mlton.mlb
+@@ -0,0 +1,348 @@
++(* Common MLton version *)
++
++$(SML_LIB)/basis/basis.mlb
++$(SML_LIB)/basis/mlton.mlb
++$(SML_LIB)/basis/sml-nj.mlb
++
++../src/compat/array.sig
++../src/compat/vector.sig
++../src/compat/path.sig
++../src/compat/substring.sig
++../src/compat/text-io.sig
++../src/compat/timer.sig
++../src/compat/socket.sig
++../src/compat/compat.sig
++../src/compat/socket.sml
++../src/compat/compat.fun
++../src/compat/compat.sml
++../src/timing/timing.sml
++../src/timing/timers.sig
++../src/timing/timers.fun
++../src/timing/timers.sml
++../src/global/global.sig
++../src/global/global.sml
++../src/lambda/fgnopn.sig
++../src/lambda/fgnopntable.fun
++../src/lambda/intsyn.sig
++../src/lambda/intsyn.fun
++../src/lambda/whnf.sig
++../src/lambda/whnf.fun
++../src/lambda/conv.sig
++../src/lambda/conv.fun
++
++../src/table/table.sig
++../src/table/hash-table.sml
++../src/table/string-hash.sig
++../src/table/string-hash.sml
++../src/table/red-black-tree.fun
++../src/table/sparse-array.sig
++../src/table/sparse-array.fun
++../src/table/sparse-array2.sig
++../src/table/sparse-array2.fun
++../src/table/table.sml
++
++../src/order/order.sig
++../src/order/order.fun
++../src/order/order.sml
++
++../src/lambda/tomega.sig
++../src/lambda/tomega.fun
++../src/lambda/tomega.sml
++../src/paths/paths.sig
++../src/paths/paths.fun
++../src/paths/origins.sig
++../src/paths/origins.fun
++../src/paths/paths.sml
++../src/table/queue.sig
++../src/table/queue.sml
++../src/index/index.sig
++../src/index/index.fun
++../src/index/index-skolem.fun
++../src/index/index.sml
++../src/trail/trail.sig
++../src/trail/notrail.sml
++../src/trail/trail.sml
++../src/lambda/constraints.sig
++../src/lambda/constraints.fun
++../src/lambda/unify.sig
++../src/lambda/unify.fun
++../src/lambda/match.sig
++../src/lambda/match.fun
++../src/lambda/abstract.sig
++../src/lambda/abstract.fun
++../src/lambda/approx.sig
++../src/lambda/approx.fun
++../src/lambda/lambda.sml
++../src/names/names.sig
++../src/names/names.fun
++../src/names/names.sml
++../src/style/style.sig
++../src/style/style.fun
++../src/style/style.sml
++../src/stream/stream.sml
++../src/frontend/lexer.sig
++../src/frontend/lexer.fun
++../src/frontend/twelf.sig
++../src/formatter/formatter.sig
++../src/formatter/formatter.fun
++../src/formatter/formatter.sml
++../src/print/print-omdoc.sig
++../src/print/print-xml.sig
++../src/print/print-omdoc.fun
++../src/print/print-xml.fun
++../src/print/print-twega.sig
++../src/print/print-twega.fun
++../src/print/symbol.sig
++../src/print/symbol.fun
++../src/print/print.sig
++../src/print/print.fun
++../src/print/clause-print.sig
++../src/print/clause-print.fun
++../src/print/print.sml
++../src/typecheck/strict.sig
++../src/typecheck/strict.fun
++../src/typecheck/typecheck.sig
++../src/typecheck/typecheck.fun
++../src/typecheck/typecheck.sml
++../src/modes/modesyn.sml
++../src/modes/modetable.sig
++../src/modes/modetable.fun
++../src/modes/modedec.sig
++../src/modes/modedec.fun
++../src/modes/modecheck.sig
++../src/modes/modecheck.fun
++../src/modes/modeprint.sig
++../src/modes/modeprint.fun
++../src/modes/modes.sml
++../src/tabling/tabledsyn.sig
++../src/tabling/tabledsyn.fun
++../src/tabling/tabled.sml
++../src/subordinate/intset.sml
++../src/subordinate/subordinate.sig
++../src/subordinate/subordinate.fun
++../src/subordinate/subordinate.sml
++../src/solvers/cs-manager.sig
++../src/solvers/cs-manager.fun
++../src/domains/integers.sig
++../src/domains/integers.fun
++../src/domains/field.sig
++../src/domains/ordered-field.sig
++../src/domains/rationals.sig
++../src/domains/rationals.fun
++../src/domains/integers-mod.fun
++../src/domains/domains.sml
++../src/solvers/cs.sig
++../src/solvers/cs-eq-field.sig
++../src/solvers/cs-eq-field.fun
++../src/solvers/cs-ineq-field.fun
++../src/solvers/cs-eq-strings.fun
++../src/solvers/cs-eq-bools.fun
++../src/solvers/cs-eq-integers.sig
++../src/solvers/cs-eq-integers.fun
++../src/solvers/cs-ineq-integers.fun
++../src/solvers/cs-integers-word.fun
++../src/solvers/solvers.sml
++../src/terminate/checking.sig
++../src/terminate/checking.fun
++../src/terminate/reduces.sig
++../src/terminate/reduces.fun
++../src/terminate/terminate.sml
++../src/thm/thmsyn.sig
++../src/thm/thmsyn.fun
++../src/thm/thmprint.sig
++../src/thm/thmprint.fun
++../src/thm/thm.sig
++../src/thm/thm.fun
++../src/thm/thm.sml
++../src/table/red-black-set.sig
++../src/table/red-black-set.sml
++../src/compile/compsyn.sig
++../src/compile/compsyn.fun
++../src/compile/cprint.sig
++../src/compile/cprint.fun
++../src/compile/subtree.sig
++../src/compile/subtree.fun
++../src/compile/compile.sig
++../src/compile/compile.fun
++../src/compile/assign.sig
++../src/compile/assign.fun
++../src/compile/compile.sml
++../src/opsem/absmachine.sig
++../src/opsem/absmachine.fun
++../src/opsem/table-param.sig
++../src/opsem/table-param.fun
++../src/opsem/table-param.sml
++../src/opsem/abstract.sig
++../src/opsem/abstract.fun
++../src/opsem/sw-subtree.sig
++../src/opsem/subtree.fun
++../src/opsem/subtree-inst.fun
++../src/opsem/sw-subtree.fun
++../src/opsem/tabled.sig
++../src/opsem/tabled.fun
++../src/opsem/ptrecon.sig
++../src/opsem/ptrecon.fun
++../src/opsem/trace.sig
++../src/opsem/trace.fun
++../src/opsem/absmachine-sbt.sig
++../src/opsem/absmachine-sbt.fun
++../src/opsem/tmachine.fun
++../src/opsem/swmachine.fun
++../src/opsem/opsem.sml
++../src/m2/meta-global.sig
++../src/m2/meta-global.sml
++../src/table/ring.sig
++../src/table/ring.sml
++../src/m2/metasyn.sig
++../src/m2/metasyn.fun
++../src/m2/meta-abstract.sig
++../src/m2/meta-abstract.fun
++../src/m2/meta-print.sig
++../src/m2/meta-print.fun
++../src/m2/init.sig
++../src/m2/init.fun
++../src/m2/search.sig
++../src/m2/search.fun
++../src/m2/lemma.sig
++../src/m2/lemma.fun
++../src/m2/splitting.sig
++../src/m2/splitting.fun
++../src/m2/filling.sig
++../src/m2/filling.fun
++../src/m2/recursion.sig
++../src/m2/recursion.fun
++../src/m2/qed.sig
++../src/m2/qed.fun
++../src/compat/time-limit.sig
++../src/compat/time-limit.sml
++../src/m2/strategy.sig
++../src/m2/strategy.fun
++../src/m2/prover.sig
++../src/m2/prover.fun
++../src/m2/mpi.sig
++../src/m2/mpi.fun
++../src/m2/skolem.sig
++../src/m2/skolem.fun
++../src/m2/m2.sml
++../src/modules/modsyn.sig
++../src/modules/modsyn.fun
++../src/modules/modules.sml
++../src/heuristic/heuristic.sig
++../src/heuristic/heuristic.sum.fun
++../src/meta/global.sig
++../src/meta/funsyn.sig
++../src/meta/funsyn.fun
++../src/meta/statesyn.sig
++../src/meta/init.sig
++../src/meta/strategy.sig
++../src/meta/relfun.sig
++../src/meta/prover.fun
++../src/meta/funprint.sig
++../src/meta/print.sig
++../src/meta/print.fun
++../src/meta/filling.sig
++../src/meta/data.sig
++../src/meta/splitting.sig
++../src/meta/recursion.sig
++../src/meta/inference.sig
++../src/meta/strategy.fun
++../src/meta/statesyn.fun
++../src/meta/funtypecheck.sig
++../src/meta/uniquesearch.sig
++../src/meta/inference.fun
++../src/meta/abstract.sig
++../src/meta/splitting.fun
++../src/meta/uniquesearch.fun
++../src/meta/search.sig
++../src/meta/search.fun
++../src/meta/recursion.fun
++../src/meta/mpi.sig
++../src/meta/mpi.fun
++../src/meta/data.fun
++../src/meta/global.fun
++../src/meta/filling.fun
++../src/meta/init.fun
++../src/meta/abstract.fun
++../src/meta/funnames.sig
++../src/meta/funnames.fun
++../src/meta/funprint.fun
++../src/meta/weaken.sig
++../src/meta/weaken.fun
++../src/meta/funweaken.sig
++../src/meta/funweaken.fun
++../src/meta/funtypecheck.fun
++../src/meta/relfun.fun
++../src/meta/meta.sml
++../src/worldcheck/worldsyn.sig
++../src/worldcheck/worldsyn.fun
++../src/worldcheck/worldify.sig
++../src/worldcheck/worldify.fun
++../src/worldcheck/worldcheck.sml
++../src/unique/unique.sig
++../src/unique/unique.fun
++../src/unique/unique.sml
++../src/cover/cover.sig
++../src/cover/cover.fun
++../src/cover/total.sig
++../src/cover/total.fun
++../src/cover/cover.sml
++../src/tomega/abstract.sig
++../src/tomega/abstract.fun
++../src/tomega/tomegaprint.sig
++../src/tomega/tomegaprint.fun
++../src/tomega/typecheck.sig
++../src/tomega/typecheck.fun
++../src/tomega/opsem.sig
++../src/tomega/opsem.fun
++../src/tomega/redundant.sig
++../src/tomega/redundant.fun
++../src/tomega/converter.sig
++../src/tomega/converter.fun
++../src/tomega/coverage.sig
++../src/tomega/coverage.fun
++../src/tomega/tomega.sml
++../src/msg/msg.sml
++../src/frontend/recon-term.sig
++../src/frontend/recon-term.fun
++../src/frontend/recon-condec.sig
++../src/frontend/recon-condec.fun
++../src/frontend/recon-query.sig
++../src/frontend/recon-query.fun
++../src/frontend/recon-mode.sig
++../src/frontend/recon-mode.fun
++../src/frontend/recon-thm.sig
++../src/frontend/recon-thm.fun
++../src/frontend/recon-module.sig
++../src/frontend/recon-module.fun
++../src/frontend/parsing.sig
++../src/frontend/parsing.fun
++../src/frontend/parse-term.sig
++../src/frontend/parse-term.fun
++../src/frontend/parse-condec.sig
++../src/frontend/parse-condec.fun
++../src/frontend/parse-query.sig
++../src/frontend/parse-query.fun
++../src/frontend/parse-fixity.sig
++../src/frontend/parse-fixity.fun
++../src/frontend/parse-mode.sig
++../src/frontend/parse-mode.fun
++../src/frontend/parse-thm.sig
++../src/frontend/parse-thm.fun
++../src/frontend/parse-module.sig
++../src/frontend/parse-module.fun
++../src/frontend/parser.sig
++../src/frontend/parser.fun
++../src/frontend/solve.sig
++../src/frontend/solve.fun
++../src/frontend/fquery.sig
++../src/frontend/fquery.fun
++../src/frontend/unknownexn.sig
++../src/frontend/buildid.sml
++../src/frontend/version.sml
++../src/frontend/twelf.fun
++../src/frontend/unknownexn.fun
++../src/frontend/unknownexn-smlnj.sml
++../src/frontend/frontend.sml
++../src/server/sigint.sig
++../src/server/sigint-mlton.sml
++../src/server/server.sml
+diff --git a/build/twelf-server-mlton.mlb b/build/twelf-server-mlton.mlb
+new file mode 100644
+index 0000000..fa4332f
+--- /dev/null
++++ b/build/twelf-server-mlton.mlb
+@@ -0,0 +1,4 @@
++
++twelf-core-mlton.mlb
++twelf-server-mlton.sml
++
+
diff --git a/sci-mathematics/twelf/twelf-1.7.1.ebuild b/sci-mathematics/twelf/twelf-1.7.1.ebuild
index 827219ba8459..8e823c0417de 100644
--- a/sci-mathematics/twelf/twelf-1.7.1.ebuild
+++ b/sci-mathematics/twelf/twelf-1.7.1.ebuild
@@ -1,15 +1,15 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/twelf/twelf-1.7.1.ebuild,v 1.3 2014/01/06 14:26:39 jlec Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/twelf/twelf-1.7.1.ebuild,v 1.4 2014/01/15 08:07:10 gienah Exp $
-EAPI=5
+EAPI="5"
-inherit elisp-common eutils multilib
+inherit base elisp-common multilib
MY_PN="${PN}-src"
MY_P="${MY_PN}-${PV}"
-DESCRIPTION="Implementation of the logical framework LF"
+DESCRIPTION="Twelf is an implementation of the logical framework LF."
HOMEPAGE="http://twelf.org/"
SRC_URI="http://twelf.plparty.org/releases/${MY_P}.tar.gz"
@@ -17,59 +17,60 @@ SLOT="0/${PV}"
KEYWORDS="~amd64 ~x86"
LICENSE="BSD-2"
IUSE="doc emacs examples"
-
# tests reference non-existing directory TEST
RESTRICT="test"
-RDEPEND="
- dev-lang/mlton
- doc? ( virtual/latex-base )
- emacs? ( virtual/emacs )"
+RDEPEND="dev-lang/mlton
+ doc? (
+ virtual/latex-base
+ )
+ emacs? (
+ virtual/emacs
+ )"
DEPEND="${RDEPEND}"
S=${WORKDIR}/${PN}
SITEFILE=50${PN}-gentoo.el
-PATCHES=(
- "${FILESDIR}"/${PN}-1.7.1-doc-guide-twelf-dot-texi.patch
- "${FILESDIR}"/${PN}-1.7.1-doc-guide-Makefile.patch
- "${FILESDIR}"/${PN}-1.7.1-emacs-twelf.patch
- "${FILESDIR}"/${PN}-1.7.1-emacs-twelf-init.patch
- "${FILESDIR}"/${PN}-1.7.1-Makefile.patch
- )
+PATCHES=("${FILESDIR}/${PN}-1.7.1-doc-guide-twelf-dot-texi.patch"
+ "${FILESDIR}/${PN}-1.7.1-doc-guide-Makefile.patch"
+ "${FILESDIR}/${PN}-1.7.1-emacs-twelf.patch"
+ "${FILESDIR}/${PN}-1.7.1-emacs-twelf-init.patch"
+ "${FILESDIR}/${PN}-1.7.1-Makefile.patch"
+ "${FILESDIR}/${PN}-1.7.1-mlton-mlb.patch")
src_prepare() {
- epatch ${PATCHES[@]}
- sed \
- -e "s@/usr/bin@${ROOT}usr/bin@g" \
+ base_src_prepare
+ sed -e "s@/usr/bin@${ROOT}usr/bin@g" \
-e "s@/usr/share@${ROOT}usr/share@" \
-i "${S}"/emacs/twelf-init.el \
|| die "Could not set ROOT in ${S}/emacs/twelf-init.el"
}
src_compile() {
- emake mlton CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}"
+ emake mlton CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS} -fno-PIE"
if use emacs ; then
- pushd "${S}/emacs" > /dev/null || die "Could change directory to emacs"
+ pushd "${S}/emacs" || die "Could change directory to emacs"
elisp-compile \
auc-menu.el \
twelf-font.el \
twelf-init.el \
twelf.el \
|| die "emacs elisp compile failed"
- popd > /dev/null
+ popd
fi
if use doc; then
- pushd doc/guide > /dev/null || die
+ pushd doc/guide
emake all
- popd > /dev/null
+ popd
fi
}
ins_example_dir() {
+ dodir "/usr/share/${PN}/examples/${1}"
insinto "/usr/share/${PN}/examples/${1}"
- pushd "${S}/${1}" > /dev/null || die
+ pushd "${S}/${1}"
doins -r *
popd
}
@@ -85,7 +86,8 @@ src_install() {
ins_example_dir examples-clp
ins_example_dir examples-delphin
fi
- dobin bin/twelf-server
+ exeinto /usr/bin
+ doexe bin/twelf-server
dohtml doc/html/index.html
doinfo doc/guide/twelf.info
dodoc doc/guide/twelf.dvi doc/guide/twelf.ps doc/guide/twelf.pdf
@@ -95,9 +97,9 @@ src_install() {
pkg_postinst() {
if use emacs; then
elisp-site-regen
- elog "For twelf emacs, add this line to ~/.emacs"
- echo ""
- elog '(load (concat twelf-root "/twelf-init.el"))'
+ ewarn "For twelf emacs, add this line to ~/.emacs"
+ ewarn ""
+ ewarn '(load (concat twelf-root "/twelf-init.el"))'
fi
}