diff options
Diffstat (limited to 'sci-mathematics/isabelle/isabelle-2012-r1.ebuild')
-rw-r--r-- | sci-mathematics/isabelle/isabelle-2012-r1.ebuild | 320 |
1 files changed, 0 insertions, 320 deletions
diff --git a/sci-mathematics/isabelle/isabelle-2012-r1.ebuild b/sci-mathematics/isabelle/isabelle-2012-r1.ebuild deleted file mode 100644 index 087bb7e2480e..000000000000 --- a/sci-mathematics/isabelle/isabelle-2012-r1.ebuild +++ /dev/null @@ -1,320 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI="5" - -inherit eutils java-pkg-2 multilib versionator - -MY_PN="Isabelle" -MY_PV=$(replace_all_version_separators '-') -MY_P="${MY_PN}${MY_PV}" - -JEDIT_PV="20120414" -JEDIT_PN="jedit_build" -JEDIT_P="${JEDIT_PN}-${JEDIT_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 - doc? ( https://dev.gentoo.org/~gienah/snapshots/${MY_P}-doc-src.tar.gz ) - pide? ( http://www4.in.tum.de/~wenzelm/test/${JEDIT_P}.tar.gz )" - -LICENSE="BSD" -SLOT="0/${PV}" -KEYWORDS="~amd64 ~x86" -ALL_LOGICS="Pure FOL +HOL ZF CCL CTT Cube FOLP LCF Sequents" -IUSE="${ALL_LOGICS} doc graphbrowsing ledit readline pide +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="dev-perl/libwww-perl - sci-mathematics/sha1-polyml - doc? ( - virtual/latex-base - dev-tex/rail - ) - proofgeneral? ( - app-emacs/proofgeneral - ) - pide? ( - >=dev-lang/scala-2.8.2 - ) - ledit? ( - app-misc/ledit - ) - readline? ( - app-misc/rlwrap - ) - ${DEPEND}" - -S="${WORKDIR}"/Isabelle${MY_PV} -JEDIT_S="${WORKDIR}/${JEDIT_P}" -TARGETDIR="/usr/share/Isabelle"${MY_PV} -LIBDIR="/usr/"$(get_libdir)"/Isabelle"${MY_PV} - -pkg_setup() { - java-pkg-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-2_src_prepare - epatch "${FILESDIR}/${PN}-2012-gentoo-settings.patch" - # http://article.gmane.org/gmane.science.mathematics.logic.isabelle.devel/2732 - epatch "${FILESDIR}/${PN}-2012-signal-handling.patch" - # http://article.gmane.org/gmane.science.mathematics.logic.isabelle.devel/2780 - epatch "${FILESDIR}/${PN}-2012-redundant-equations-in-function-definitions-error.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@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" - 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" - SHA1_HOME="/usr/$(get_libdir)/sha1-polyml" - EOF - if use pide; then - cat <<- EOF >> "${S}/etc/settings" - ISABELLE_JEDIT_BUILD_HOME="\$ISABELLE_HOME/${JEDIT_P}" - init_component ${JEDIT_S} - EOF - fi - if use ledit && ! use readline; then - epatch "${FILESDIR}/${PN}-2012-reverse-line-editor-order.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 - if use pide; then - pushd "${S}/src/Tools/jEdit" \ - || die "Could not change directory to src/Tools/jEdit" - "${S}"/bin/isabelle jedit -b -f \ - || die "pide build failed" - popd - # The jedit_build stuff is only required to build - # Isabelle/jEdit Prover IDE (PIDE). These 2 lines need to be deleted - # from etc/settings as the jedit_build source code is not installed - sed -e '/ISABELLE_JEDIT_BUILD_HOME/d' \ - -e '/init_component/d' \ - -i "${S}/etc/settings" \ - || die "Could not delete jedit_build lines from etc/settings" - 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 - - insinto ${TARGETDIR} - doins -r src - doins -r lib - - 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 doc-src directory stuff in the isabelle package. Which is not - # provided in the Isabelle 2012 src tarball. So extract it from a - # snapshot of the isabelle repo taken soon after the Isabelle 2012 - # release. - doins -r doc-src - for i in "./doc-src/IsarRef/showsymbols" \ - "./doc-src/TutorialI/Overview/LNCS/makeDemo" \ - "./doc-src/TutorialI/isa-index" \ - "./doc-src/sedindex" - do - exeinto $(dirname "${TARGETDIR}/${i}") - doexe ${i} - done - fi - - for i in "./build" \ - "./src/Pure/mk" \ - "./src/Pure/build-jars" \ - "./src/Tools/JVM/build" \ - "./src/Tools/JVM/java_ext_dirs" \ - "./src/Tools/jEdit/lib/Tools/jedit" \ - "./src/Tools/Metis/fix_metis_license" \ - "./src/Tools/Metis/make_metis" \ - "./src/Tools/Metis/scripts/mlpp" \ - "./src/Tools/WWW_Find/lib/Tools/wwwfind" \ - "./src/Tools/Code/lib/Tools/codegen" \ - "./src/HOL/Mirabelle/lib/Tools/mirabelle" \ - "./src/HOL/Tools/Predicate_Compile/lib/scripts/swipl_version" \ - "./src/HOL/Tools/SMT/lib/scripts/remote_smt" \ - "./src/HOL/Tools/ATP/scripts/remote_atp" \ - "./src/HOL/Tools/ATP/scripts/spass" \ - "./src/HOL/Mutabelle/lib/Tools/mutabelle" \ - "./src/HOL/TPTP/TPTP_Parser/make_mlyacclib" \ - "./src/HOL/TPTP/TPTP_Parser/make_tptp_parser" \ - "./src/HOL/TPTP/lib/Tools/tptp_isabelle_demo" \ - "./src/HOL/TPTP/lib/Tools/tptp_graph" \ - "./src/HOL/TPTP/lib/Tools/tptp_isabelle_comp" \ - "./src/HOL/TPTP/lib/Tools/tptp_refute" \ - "./src/HOL/TPTP/lib/Tools/tptp_translate" \ - "./src/HOL/TPTP/lib/Tools/tptp_sledgehammer" \ - "./src/HOL/TPTP/lib/Tools/tptp_nitpick" \ - "./src/HOL/Library/Sum_of_Squares/neos_csdp_client" \ - "./src/HOL/IMP/export.sh" \ - "./lib/browser/build" \ - "./lib/Tools/tty" \ - "./lib/Tools/mkproject" \ - "./lib/Tools/keywords" \ - "./lib/Tools/browser" \ - "./lib/Tools/install" \ - "./lib/Tools/mkdir" \ - "./lib/Tools/unsymbolize" \ - "./lib/Tools/getenv" \ - "./lib/Tools/java" \ - "./lib/Tools/make" \ - "./lib/Tools/emacs" \ - "./lib/Tools/scala" \ - "./lib/Tools/print" \ - "./lib/Tools/latex" \ - "./lib/Tools/findlogics" \ - "./lib/Tools/doc" \ - "./lib/Tools/logo" \ - "./lib/Tools/usedir" \ - "./lib/Tools/yxml" \ - "./lib/Tools/version" \ - "./lib/Tools/makeall" \ - "./lib/Tools/scalac" \ - "./lib/Tools/document" \ - "./lib/Tools/env" \ - "./lib/Tools/display" \ - "./lib/Tools/dimacs2hol" \ - "./lib/scripts/keywords" \ - "./lib/scripts/unsymbolize" \ - "./lib/scripts/run-polyml" \ - "./lib/scripts/run-smlnj" \ - "./lib/scripts/feeder" \ - "./lib/scripts/yxml" \ - "./lib/scripts/polyml-version" \ - "./lib/scripts/process" - do - exeinto $(dirname "${TARGETDIR}/${i}") - doexe ${i} - done - - dodir /etc/isabelle - 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} -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}/src/Tools/JVM/java_ext_dirs.jar" \ - "${ED}${TARGETDIR}/src/Tools/jEdit/dist/jars/QuickNotepad.jar" \ - "${ED}${TARGETDIR}/src/Tools/jEdit/dist/jars/Console.jar" \ - "${ED}${TARGETDIR}/src/Tools/jEdit/dist/jars/ErrorList.jar" \ - "${ED}${TARGETDIR}/src/Tools/jEdit/dist/jars/Hyperlinks.jar" \ - "${ED}${TARGETDIR}/src/Tools/jEdit/dist/jars/SideKick.jar" \ - "${ED}${TARGETDIR}/src/Tools/jEdit/dist/jars/cobra.jar" \ - "${ED}${TARGETDIR}/src/Tools/jEdit/dist/jars/js.jar" \ - "${ED}${TARGETDIR}/src/Tools/jEdit/dist/jars/scala-compiler.jar" \ - "${ED}${TARGETDIR}/src/Tools/jEdit/dist/jars/Isabelle-jEdit.jar" \ - "${ED}${TARGETDIR}/src/Tools/jEdit/dist/jedit.jar" \ - "${ED}${TARGETDIR}/lib/classes/ext/scala-swing.jar" \ - "${ED}${TARGETDIR}/lib/classes/ext/scala-library.jar" \ - "${ED}${TARGETDIR}/lib/classes/ext/Pure.jar" \ - "${ED}${TARGETDIR}/lib/browser/GraphBrowser.jar" -} - -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/Isabelle2012/${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" -} |