summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-mathematics/isabelle/isabelle-2015.ebuild')
-rw-r--r--sci-mathematics/isabelle/isabelle-2015.ebuild301
1 files changed, 0 insertions, 301 deletions
diff --git a/sci-mathematics/isabelle/isabelle-2015.ebuild b/sci-mathematics/isabelle/isabelle-2015.ebuild
deleted file mode 100644
index 2d0f9d9b10a8..000000000000
--- a/sci-mathematics/isabelle/isabelle-2015.ebuild
+++ /dev/null
@@ -1,301 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="5"
-
-inherit eutils check-reqs java-pkg-2 multilib versionator
-
-MY_PN="Isabelle"
-MY_PV=$(replace_all_version_separators '-')
-MY_P="${MY_PN}${MY_PV}"
-
-# csdp is used in the compile of HOL_ex in
-# Library/Sum_of_Squares/sos_wrapper.ML where it execs $ISABELLE_CSDP
-CSDP_PV="6.x"
-CSDP_PN="csdp"
-CSDP_P="${CSDP_PN}-${CSDP_PV}"
-CSDP_IC_PN="${CSDP_PN}-isabelle-component"
-CSDP_IC_P="${CSDP_IC_PN}-${CSDP_PV}"
-
-# exec_process is used in the compile of HOL-Mirabelle-ex, Codegen, etc.
-EXEC_PROCESS_PV="1.0.3"
-EXEC_PROCESS_PN="exec_process"
-EXEC_PROCESS_P="${EXEC_PROCESS_PN}-${EXEC_PROCESS_PV}"
-EXEC_PROCESS_IC_PN="${EXEC_PROCESS_PN}-isabelle-component"
-EXEC_PROCESS_IC_P="${EXEC_PROCESS_IC_PN}-${EXEC_PROCESS_PV}"
-
-JEDIT_PV="20150228"
-JEDIT_PN="jedit_build"
-JEDIT_P="${JEDIT_PN}-${JEDIT_PV}"
-JEDIT_IC_PN="${JEDIT_PN}-isabelle-component"
-JEDIT_IC_P="${JEDIT_IC_PN}-${JEDIT_PV}"
-
-JFREECHART_PV="1.0.14-1"
-JFREECHART_PN="jfreechart"
-JFREECHART_P="${JFREECHART_PN}-${JFREECHART_PV}"
-JFREECHART_IC_PN="${JFREECHART_PN}-isabelle-component"
-JFREECHART_IC_P="${JFREECHART_IC_PN}-${JFREECHART_PV}"
-
-POLYML_PV="5.5.2-3"
-POLYML_PN="polyml"
-POLYML_P="${POLYML_PN}-${POLYML_PV}"
-POLYML_IC_PN="${POLYML_PN}-isabelle-component"
-POLYML_IC_P="${POLYML_IC_PN}-${POLYML_PV}"
-
-XZ_JAVA_PV="1.5"
-XZ_JAVA_PN="xz-java"
-XZ_JAVA_P="${XZ_JAVA_PN}-${XZ_JAVA_PV}"
-XZ_JAVA_IC_PN="${XZ_JAVA_PN}-isabelle-component"
-XZ_JAVA_IC_P="${XZ_JAVA_IC_PN}-${XZ_JAVA_PV}"
-
-SS="2.11"
-
-DESCRIPTION="Isabelle is a generic proof assistant"
-HOMEPAGE="http://www.cl.cam.ac.uk/research/hvg/Isabelle/index.html"
-SRC_URI="http://isabelle.in.tum.de/dist/${MY_P}.tar.gz
- http://dev.gentoo.org/~gienah/snapshots/${CSDP_IC_P}.tar.gz
- http://dev.gentoo.org/~gienah/snapshots/${EXEC_PROCESS_IC_P}.tar.gz
- http://isabelle.in.tum.de/components/${JEDIT_P}.tar.gz -> ${JEDIT_IC_P}.tar.gz
- http://isabelle.in.tum.de/dist/contrib/${JFREECHART_P}.tar.gz -> ${JFREECHART_IC_P}.tar.gz
- http://dev.gentoo.org/~gienah/snapshots/${POLYML_IC_P}.tar.gz
- http://dev.gentoo.org/~gienah/snapshots/${XZ_JAVA_IC_P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc graphbrowsing ledit readline proofgeneral"
-
-#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-java/jcommon-1.0.18:1.0
- >=dev-java/jfreechart-1.0.14:1.0
- >=dev-java/itext-2.1.5:0
- dev-java/xz-java:0
- >=dev-lang/ghc-7.6.3
- >=dev-lang/polyml-5.5.2:=[-portable]
- >=dev-lang/perl-5.8.8-r2
- dev-lang/swi-prolog
- sci-libs/coinor-csdp
- =virtual/jdk-1.7*
- doc? (
- virtual/latex-base
- dev-tex/rail
- )
- >=dev-lang/scala-2.11.6:${SS}
- ledit? (
- app-misc/ledit
- )
- readline? (
- app-misc/rlwrap
- )"
-
-RDEPEND="dev-perl/libwww-perl
- sci-mathematics/sha1-polyml
- >=virtual/jre-1.7
- proofgeneral? (
- >=app-emacs/proofgeneral-4.1
- )
- ${DEPEND}"
-
-S="${WORKDIR}"/Isabelle${MY_PV}
-CSDP_S="${WORKDIR}/${CSDP_P}"
-EXEC_PROCESS_S="${WORKDIR}/${EXEC_PROCESS_P}"
-JEDIT_S="${WORKDIR}/${JEDIT_P}"
-JFREECHART_S="${WORKDIR}/${JFREECHART_P}"
-XZ_JAVA_S="${WORKDIR}/${XZ_JAVA_P}"
-TARGETDIR="/usr/share/Isabelle"${MY_PV}
-LIBDIR="/usr/"$(get_libdir)"/Isabelle"${MY_PV}
-
-# Notes on QA warnings: * Class files not found via DEPEND in package.env
-# Stuff with $ in the name appear to be spurious:
-# isabelle/Markup_Tree$$anonfun$results$1$1.class
-# scala/tools/nsc/backend/jvm/GenJVM$BytecodeGenerator$$anonfun$computeLocalVarsIndex$1.class
-# It wants javafx, I am unsure how to fix this. I test isabelle with the Sun JDK:
-# javafx/application/Platform.class javafx
-# Presumably the user can provide the jEdit plugins if they are necessary:
-# marker/MarkerSetsPlugin.class http://plugins.jedit.org/plugins/?MarkerSets
-# projectviewer/gui/OptionPaneBase.class http://plugins.jedit.org/plugins/?ProjectViewer
-
-LIBRARY_PKGS="itext,jcommon-1.0,jfreechart-1.0,scala-${SS},xz-java"
-
-CHECKREQS_MEMORY="8192M"
-CHECKREQS_DISK_BUILD="35G"
-CHECKREQS_DISK_USR="17G"
-
-src_unpack() {
- unpack "${MY_P}.tar.gz"
- cd "${S}/contrib" || die
- unpack ${CSDP_IC_P}.tar.gz
- unpack ${EXEC_PROCESS_IC_P}.tar.gz
- unpack ${JEDIT_IC_P}.tar.gz
- unpack ${JFREECHART_IC_P}.tar.gz
- unpack ${POLYML_IC_P}.tar.gz
- unpack ${XZ_JAVA_IC_P}.tar.gz
-}
-
-pkg_setup() {
- java-pkg-2_pkg_setup
- check-reqs_pkg_setup
-}
-
-src_prepare() {
- java-pkg-2_src_prepare
- java-pkg_getjars ${LIBRARY_PKGS}
- epatch "${FILESDIR}/${PN}-2013-gentoo-settings.patch"
- epatch "${FILESDIR}/${PN}-2015-classpath.patch"
- epatch "${FILESDIR}/${PN}-2015-jfreechart-classpath.patch"
- polymlver=$(poly -v | cut -d' ' -f2)
- polymlarch=$(poly -v | cut -d' ' -f9 | cut -d'-' -f1)
- sed -e "s@5.5.0@${polymlver}@g" \
- -i "${S}/etc/settings" \
- || die "Could not configure polyml version in etc/settings"
- sed -e "s@ML_HOME=\"/@ML_HOME=\"${ROOT}@" \
- -i "${S}/etc/settings" \
- || die "Could not configure polyml ML_HOME in etc/settings"
- sed -e "s@x86_64@${polymlarch}@g" \
- -i "${S}/etc/settings" \
- || die "Could not configure polyml arch in etc/settings"
- sed -e "s@PROOFGENERAL_HOME=\"/@PROOFGENERAL_HOME=\"${ROOT}@" \
- -i "${S}/etc/settings" \
- || die "Could not configure PROOFGENERAL_HOME in etc/settings"
- sed -e "s@/usr/lib64/Isabelle${MY_PV}@${LIBDIR}@g" \
- -i "${S}/etc/settings" \
- || die "Could not configure Isabelle lib directory in etc/settings"
- epatch "${FILESDIR}/${PN}-2012-graphbrowser.patch"
- epatch "${FILESDIR}/${PN}-2012-libsha1.patch"
- # this example fails to compile with swi-prolog 6.5.2, so patch it so that
- # Isabelle will build, then reverse the patch so that the user can see the
- # original code.
- epatch "${FILESDIR}/${PN}-2013.2-HOL-Predicate_Compile_Examples.patch"
- cat <<- EOF >> "${S}/etc/settings"
-
- ISABELLE_GHC="${ROOT}usr/bin/ghc"
- ISABELLE_OCAML="${ROOT}usr/bin/ocaml"
- ISABELLE_SWIPL="${ROOT}usr/bin/swipl"
- ISABELLE_JDK_HOME="\$(java-config --jdk-home)"
- SCALA_HOME="${ROOT}usr/share/scala-${SS}"
- SHA1_HOME="/usr/$(get_libdir)/sha1-polyml"
- EOF
- cat <<- EOF >> "${S}/etc/components"
- #bundled components
- contrib/${CSDP_P}
- contrib/${EXEC_PROCESS_P}
- contrib/${JEDIT_P}
- contrib/${JFREECHART_P}
- contrib/${POLYML_P}
- contrib/${XZ_JAVA_P}
- EOF
- if use ledit && ! use readline; then
- epatch "${FILESDIR}/${PN}-2012-reverse-line-editor-order.patch"
- fi
- rm -f "${S}/contrib/jfreechart-1.0.14-1/lib/jcommon-1.0.18.jar" \
- "${S}/contrib/jfreechart-1.0.14-1/lib/jfreechart-1.0.14.jar" \
- "${S}/contrib/jfreechart-1.0.14-1/lib/iText-2.1.5.jar" \
- || die "Could not rm bundled jar files supplied by Gentoo"
-}
-
-src_compile() {
- einfo "Building Isabelle. This may take some time."
- pushd contrib/${EXEC_PROCESS_P} || die "Could not cd to contrib/${EXEC_PROCESS_P}"
- $(tc-getCC) ${CFLAGS} ${LDFLAGS} -o ${EXEC_PROCESS_PN} ${EXEC_PROCESS_PN}.c \
- || die "Could not build ${EXEC_PROCESS_PN}"
- popd
- 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
- ./bin/isabelle jedit -b -f || die "pide build failed"
- pushd "${S}"/src/Pure || die "Could not change directory to src/Pure"
- ../../bin/isabelle env ./build-jars -f || die "build-jars failed"
- popd
- ./bin/isabelle build -a -b -s -v || die "isabelle build failed"
- epatch --reverse "${FILESDIR}/${PN}-2013.2-HOL-Predicate_Compile_Examples.patch"
-}
-
-src_install() {
- insinto ${TARGETDIR}
- doins -r src
- doins -r lib
- doins -r contrib
- doins ROOTS
-
- docompress -x /usr/share/doc/${PF}
- dodoc -r doc
- if use doc; then
- dosym /usr/share/doc/${PF}/doc "${TARGETDIR}/doc"
- # The build of sci-mathematics/haskabelle with use doc requires
- # sci-mathematics/isabelle[doc?]. The haskabelle doc build requires
- # the src/Doc directory stuff in the isabelle package.
- doins -r src/Doc
- for i in $(find ./src/Doc -type f -executable -print)
- do
- exeinto $(dirname "${TARGETDIR}/${i}")
- doexe ${i}
- done
- fi
-
- for i in $(find ./{bin,lib,src/HOL,src/Pure,src/Tools} -type f -executable -print)
- do
- exeinto $(dirname "${TARGETDIR}/${i}")
- doexe ${i}
- done
-
- insinto /etc/isabelle
- doins -r etc/*
- dosym /etc/isabelle "${TARGETDIR}/etc"
-
- dosym "${LIBDIR}/heaps" "${TARGETDIR}/heaps"
- insinto ${LIBDIR}
- doins -r heaps
-
- ./bin/isabelle install -d ${TARGETDIR} "${ED}usr/bin" \
- || die "isabelle install failed"
- newicon lib/icons/"${PN}.xpm" "${PN}.xpm"
- newicon lib/icons/"${PN}-mini.xpm" "${PN}-mini.xpm"
- dodoc ANNOUNCE CONTRIBUTORS COPYRIGHT NEWS README
-
- java-pkg_regjar \
- $(find . -type f -name \*.jar -print | sed -e "s@^\.@${ED}${TARGETDIR}@g")
-}
-
-pkg_postinst() {
- # If any of the directories in /etc/isabelle/components do not exist, then
- # even isabelle getenv ISABELLE_HOME fails. Hence it is necessary to
- # to delete any non-existing directories. If an old Isabelle version was
- # installed with component ebuilds like sci-mathematics/e, then the
- # Isabelle version is upgraded, then the contrib directories will not
- # exist initially, it is necessary to delete them from /etc/isabelle/components.
- # Then these components are rebuilt (creating these directories) using the
- # EAPI=5 subslot depends.
- for i in $(egrep '^[^#].*$' "${ROOT}etc/isabelle/components")
- do
- if [ ! -d /usr/share/${MY_P}/${i} ]; then
- sed -e "\@${i}@d" -i "${ROOT}etc/isabelle/components"
- fi
- done
- if use ledit && use readline; then
- elog "Both readline and ledit use flags specified. The default setting"
- elog "if both are installed is to use readline (rlwrap), this can be"
- elog "modfied by editing the ISABELLE_LINE_EDITOR setting in"
- elog "${ROOT}/etc/isabelle/settings"
- fi
- elog "Please ensure you have a pdf viewer installed, for example:"
- elog "As root: emerge app-text/zathura-pdf-poppler"
- elog "Please configure your preferred pdf viewer, something like:"
- elog "As normal user: xdg-mime default zathura.desktop application/pdf"
- elog "Or alternatively by editing the PDF_VIEWER variable in the system"
- elog "settings file ${ROOT}etc/isabelle/settings and/or the user"
- elog "settings file \$HOME/.isabelle/${MY_P}/etc/settings"
- elog "To improve sledgehammer performance, consider installing:"
- elog "USE=isabelle emerge sci-mathematics/e sci-mathematics/spass"
- elog "For nitpick it is necessary to install:"
- elog "emerge sci-mathematics/kodkodi"
-}