diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /sci-mathematics/isabelle/isabelle-2011.1.ebuild | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'sci-mathematics/isabelle/isabelle-2011.1.ebuild')
-rw-r--r-- | sci-mathematics/isabelle/isabelle-2011.1.ebuild | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/sci-mathematics/isabelle/isabelle-2011.1.ebuild b/sci-mathematics/isabelle/isabelle-2011.1.ebuild new file mode 100644 index 000000000000..f0e0c82faab2 --- /dev/null +++ b/sci-mathematics/isabelle/isabelle-2011.1.ebuild @@ -0,0 +1,142 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="4" + +JAVA_PKG_OPT_USE="graphbrowsing" +inherit eutils java-pkg-opt-2 multilib versionator + +MY_PN="Isabelle" +MY_PV=$(replace_all_version_separators '-') +MY_P="${MY_PN}${MY_PV}" + +DESCRIPTION="Isabelle is a generic proof assistant" +HOMEPAGE="http://www.cl.cam.ac.uk/research/hvg/isabelle/index.html" +SRC_URI="http://www.cl.cam.ac.uk/research/hvg/isabelle/dist/${MY_P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~x86 ~amd64" +ALL_LOGICS="Pure FOL +HOL ZF CCL CTT Cube FOLP LCF Sequents" +IUSE="${ALL_LOGICS} doc graphbrowsing +proofgeneral test" + +#upstream says +#bash 2.x/3.x, Poly/ML 5.x, Perl 5.x, +#for document preparation: complete LaTeX +DEPEND=">=app-shells/bash-3.0 + >=dev-lang/polyml-5.4.1[-portable] + >=dev-lang/perl-5.8.8-r2" + +RDEPEND="doc? ( + virtual/latex-base + dev-tex/rail + ) + proofgeneral? ( + app-emacs/proofgeneral + ) + ${DEPEND}" + +S="${WORKDIR}"/Isabelle${MY_PV} +TARGETDIR="/usr/share/Isabelle"${MY_PV} +LIBDIR="/usr/"$(get_libdir)"/Isabelle"${MY_PV} + +pkg_setup() { + java-pkg-opt-2_pkg_setup + if ! use proofgeneral + then + ewarn "You have deselected the Proof General interface." + ewarn "Only a text terminal will be installed." + ewarn "Emerge Isabelle with the proofgeneral USE flag enabled" + ewarn "to get the common interface, that most people want." + fi +} + +src_prepare() { + java-pkg-opt-2_src_prepare + if use proofgeneral; then + epatch "${FILESDIR}/${PN}-2011.1-proofgeneral-gentoo-path.patch" + polymlver=$(poly -v | cut -d' ' -f2) + polymlarch=$(poly -v | cut -d' ' -f9 | cut -d'-' -f1) + sed -e "s@5.4.0@${polymlver}@g" \ + -i "${S}/etc/settings" \ + || die "Could not configure polyml version in etc/settings" + sed -e "s@x86_64@${polymlarch}@g" \ + -i "${S}/etc/settings" \ + || die "Could not configure polyml arch in etc/settings" + fi + if use graphbrowsing; then + epatch "${FILESDIR}/${PN}-2011.1-graphbrowser.patch" + fi +} + +src_compile() { + LOGICS="" + for l in "${ALL_LOGICS}"; do + if has "${l/+/}"; then + LOGICS="${LOGICS} ${l/+/}" + fi + done + einfo "Building Isabelle logics ${LOGICS}. This may take some time." + ./build -b -i "${LOGICS}" || die "building logics failed" + ./bin/isabelle makeall || die "isabelle makeall failed" + if use graphbrowsing + then + rm -f "${S}/lib/browser/GraphBrowser.jar" \ + || die "failed cleaning graph browser directory" + pushd "${S}/lib/browser" \ + || die "Could not change directory to lib/browser" + ./build || die "failed building the graph browser" + popd + fi +} + +src_test() { + einfo "Running tests. A test run can take up to several hours!" + ./build -b -t || die "tests failed" +} + +src_install() { + exeinto ${TARGETDIR}/bin + doexe bin/isabelle-process bin/isabelle + + exeinto ${TARGETDIR} + doexe build + + insinto ${TARGETDIR} + doins -r src + dodoc -r doc + + dodir /etc/isabelle + insinto /etc/isabelle + doins -r etc/* + + dosym /etc/isabelle "${TARGETDIR}/etc" + dosym "${LIBDIR}/heaps" "${TARGETDIR}/heaps" + + insinto ${LIBDIR} + doins -r heaps + + # use cp to keep file attributes + cp -R lib "${ED}${TARGETDIR}" || die "install lib failed" + + bin/isabelle install -d ${TARGETDIR} -p "${ED}usr/bin" \ + || die "isabelle install failed" + newicon lib/icons/isabelle.xpm "${PN}.xpm" + dodoc ANNOUNCE CONTRIBUTORS COPYRIGHT NEWS README + + java-pkg_regjar \ + "${ED}${TARGETDIR}/lib/browser/GraphBrowser.jar" \ + "${ED}${TARGETDIR}/lib/classes/ext/Pure.jar" \ + "${ED}${TARGETDIR}/lib/classes/ext/scala-library.jar" \ + "${ED}${TARGETDIR}/lib/classes/ext/scala-swing.jar" \ + "${ED}${TARGETDIR}/lib/classes/java_ext_dirs.jar" +} + +pkg_postinst() { + elog "You will need to re-emerge Isabelle after emerging polyml." + elog "Please configure your preferred pdf viewer by editing" + elog "the PDF_VIEWER variable in the system settings file" + elog "/etc/isabelle/settings and/or the user settings file" + elog "\$HOME/.isabelle/${MY_P}/etc/settings" +} |