Gentoo Archives: gentoo-commits

From: "Mark Wright (gienah)" <gienah@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in sci-mathematics/isabelle: isabelle-2013.ebuild ChangeLog
Date: Sat, 31 Aug 2013 09:24:21
Message-Id: 20130831092413.6F7B62004C@flycatcher.gentoo.org
1 gienah 13/08/31 09:24:13
2
3 Modified: ChangeLog
4 Added: isabelle-2013.ebuild
5 Log:
6 Bump isabelle to 2013, fixes bug 468344
7
8 (Portage version: 2.2.1/cvs/Linux x86_64, signed Manifest commit with key 618E971F)
9
10 Revision Changes Path
11 1.9 sci-mathematics/isabelle/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-mathematics/isabelle/ChangeLog?rev=1.9&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-mathematics/isabelle/ChangeLog?rev=1.9&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-mathematics/isabelle/ChangeLog?r1=1.8&r2=1.9
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/sci-mathematics/isabelle/ChangeLog,v
20 retrieving revision 1.8
21 retrieving revision 1.9
22 diff -u -r1.8 -r1.9
23 --- ChangeLog 3 May 2013 14:53:49 -0000 1.8
24 +++ ChangeLog 31 Aug 2013 09:24:13 -0000 1.9
25 @@ -1,6 +1,14 @@
26 # ChangeLog for sci-mathematics/isabelle
27 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/isabelle/ChangeLog,v 1.8 2013/05/03 14:53:49 jer Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/isabelle/ChangeLog,v 1.9 2013/08/31 09:24:13 gienah Exp $
30 +
31 +*isabelle-2013 (31 Aug 2013)
32 +
33 + 31 Aug 2013; Mark Wright <gienah@g.o>
34 + +files/isabelle-2013-HOL-Predicate_Compile_Examples.patch,
35 + +files/isabelle-2013-classpath.patch,
36 + +files/isabelle-2013-gentoo-settings.patch, +isabelle-2013.ebuild:
37 + Bump isabelle to 2013, fixes bug 468344
38
39 03 May 2013; Jeroen Roovers <jer@g.o> metadata.xml:
40 Fix XML.
41
42
43
44 1.1 sci-mathematics/isabelle/isabelle-2013.ebuild
45
46 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-mathematics/isabelle/isabelle-2013.ebuild?rev=1.1&view=markup
47 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-mathematics/isabelle/isabelle-2013.ebuild?rev=1.1&content-type=text/plain
48
49 Index: isabelle-2013.ebuild
50 ===================================================================
51 # Copyright 1999-2013 Gentoo Foundation
52 # Distributed under the terms of the GNU General Public License v2
53 # $Header: /var/cvsroot/gentoo-x86/sci-mathematics/isabelle/isabelle-2013.ebuild,v 1.1 2013/08/31 09:24:13 gienah Exp $
54
55 EAPI="5"
56
57 inherit eutils java-pkg-2 multilib versionator
58
59 MY_PN="Isabelle"
60 MY_PV=$(replace_all_version_separators '-')
61 MY_P="${MY_PN}${MY_PV}"
62
63 JEDIT_PV="20130104"
64 JEDIT_PN="jedit_build"
65 JEDIT_P="${JEDIT_PN}-${JEDIT_PV}"
66 JEDIT_IC_PN="${JEDIT_PN}-isabelle-component"
67 JEDIT_IC_P="${JEDIT_IC_PN}-${JEDIT_PV}"
68
69 JFREECHART_PV="1.0.14"
70 JFREECHART_PN="jfreechart"
71 JFREECHART_P="${JFREECHART_PN}-${JFREECHART_PV}"
72 JFREECHART_IC_PN="${JFREECHART_PN}-isabelle-component"
73 JFREECHART_IC_P="${JFREECHART_IC_PN}-${JFREECHART_PV}"
74
75 DESCRIPTION="Isabelle is a generic proof assistant"
76 HOMEPAGE="http://www.cl.cam.ac.uk/research/hvg/isabelle/index.html"
77 SRC_URI="http://www.cl.cam.ac.uk/research/hvg/isabelle/dist/${MY_P}.tar.gz
78 http://isabelle.in.tum.de/components/${JEDIT_P}.tar.gz -> ${JEDIT_IC_P}.tar.gz
79 http://isabelle.in.tum.de/components/${JFREECHART_P}.tar.gz -> ${JFREECHART_IC_P}.tar.gz"
80
81 LICENSE="BSD"
82 SLOT="0/${PV}"
83 KEYWORDS="~amd64 ~x86"
84 IUSE="doc graphbrowsing ledit readline proofgeneral"
85
86 #upstream says
87 #bash 2.x/3.x, Poly/ML 5.x, Perl 5.x,
88 #for document preparation: complete LaTeX
89 DEPEND=">=app-shells/bash-3.0
90 dev-java/ant-core
91 >=dev-java/jcommon-1.0.18
92 >=dev-java/jfreechart-1.0.14
93 >=dev-java/itext-2.1.5
94 dev-java/xml-xmlbeans:1
95 >=dev-lang/ghc-7.6.3
96 >=dev-lang/polyml-5.5.0:=[-portable]
97 >=dev-lang/perl-5.8.8-r2
98 dev-lang/swi-prolog
99 virtual/jdk:1.7
100 doc? (
101 virtual/latex-base
102 dev-tex/rail
103 )
104 >=dev-lang/scala-2.10.2
105 ledit? (
106 app-misc/ledit
107 )
108 readline? (
109 app-misc/rlwrap
110 )"
111
112 RDEPEND="dev-perl/libwww-perl
113 sci-mathematics/sha1-polyml
114 >=virtual/jre-1.7
115 proofgeneral? (
116 >=app-emacs/proofgeneral-4.1
117 )
118 ${DEPEND}"
119
120 S="${WORKDIR}"/Isabelle${MY_PV}
121 JEDIT_S="${WORKDIR}/${JEDIT_P}"
122 JFREECHART_S="${WORKDIR}/${JFREECHART_P}"
123 TARGETDIR="/usr/share/Isabelle"${MY_PV}
124 LIBDIR="/usr/"$(get_libdir)"/Isabelle"${MY_PV}
125
126 LIBRARY_PKGS="scala,itext,jcommon-1.0,jfreechart-1.0,xml-xmlbeans-1"
127
128 src_unpack() {
129 unpack "${MY_P}.tar.gz"
130 pushd "${S}/contrib" || die
131 unpack ${JEDIT_IC_P}.tar.gz
132 unpack ${JFREECHART_IC_P}.tar.gz
133 }
134
135 pkg_setup() {
136 java-pkg-2_pkg_setup
137 }
138
139 src_prepare() {
140 java-pkg-2_src_prepare
141 java-pkg_getjars ${LIBRARY_PKGS}
142 epatch "${FILESDIR}/${PN}-2013-gentoo-settings.patch"
143 epatch "${FILESDIR}/${PN}-2013-classpath.patch"
144 polymlver=$(poly -v | cut -d' ' -f2)
145 polymlarch=$(poly -v | cut -d' ' -f9 | cut -d'-' -f1)
146 sed -e "s@5.5.0@${polymlver}@g" \
147 -i "${S}/etc/settings" \
148 || die "Could not configure polyml version in etc/settings"
149 sed -e "s@ML_HOME=\"/@ML_HOME=\"${ROOT}@" \
150 -i "${S}/etc/settings" \
151 || die "Could not configure polyml ML_HOME in etc/settings"
152 sed -e "s@x86_64@${polymlarch}@g" \
153 -i "${S}/etc/settings" \
154 || die "Could not configure polyml arch in etc/settings"
155 sed -e "s@PROOFGENERAL_HOME=\"/@PROOFGENERAL_HOME=\"${ROOT}@" \
156 -i "${S}/etc/settings" \
157 || die "Could not configure PROOFGENERAL_HOME in etc/settings"
158 sed -e "s@/usr/lib64/Isabelle${MY_PV}@${LIBDIR}@g" \
159 -i "${S}/etc/settings" \
160 || die "Could not configure Isabelle lib directory in etc/settings"
161 epatch "${FILESDIR}/${PN}-2012-graphbrowser.patch"
162 epatch "${FILESDIR}/${PN}-2012-libsha1.patch"
163 # this example fails to compile with swi-prolog 6.5.2, so patch it so that
164 # Isabelle will build, then reverse the patch so that the user can see the
165 # original code.
166 epatch "${FILESDIR}/${PN}-2013-HOL-Predicate_Compile_Examples.patch"
167 cat <<- EOF >> "${S}/etc/settings"
168
169 ISABELLE_GHC="${ROOT}usr/bin/ghc"
170 ISABELLE_OCAML="${ROOT}usr/bin/ocaml"
171 ISABELLE_SWIPL="${ROOT}usr/bin/swipl"
172 ISABELLE_JDK_HOME="\$(java-config --jdk-home)"
173 SCALA_HOME="${ROOT}usr/share/scala"
174 SHA1_HOME="/usr/$(get_libdir)/sha1-polyml"
175 EOF
176 cat <<- EOF >> "${S}/etc/components"
177 #bundled components
178 contrib/${JEDIT_P}
179 contrib/${JFREECHART_P}
180 EOF
181 if use ledit && !use readline; then
182 epatch "${FILESDIR}/${PN}-2012-reverse-line-editor-order.patch"
183 fi
184 rm -f "${S}/contrib/jfreechart-1.0.14/lib/iText-2.1.5.jar" \
185 "${S}/contrib/jfreechart-1.0.14/lib/jfreechart-1.0.14.jar" \
186 "${S}/contrib/jfreechart-1.0.14/lib/jcommon-1.0.18.jar" \
187 "${S}/lib/classes/ext/scala-actors.jar" \
188 "${S}/lib/classes/ext/scala-compiler.jar" \
189 "${S}/lib/classes/ext/scala-library.jar" \
190 "${S}/lib/classes/ext/scala-reflect.jar" \
191 "${S}/lib/classes/ext/scala-swing.jar" \
192 || die "Could not rm bundled jar files supplied by Gentoo"
193 }
194
195 src_compile() {
196 einfo "Building Isabelle. This may take some time."
197 ./bin/isabelle build -a -b -s -v || die "isabelle build failed"
198 epatch --reverse "${FILESDIR}/${PN}-2013-HOL-Predicate_Compile_Examples.patch"
199 if use graphbrowsing
200 then
201 rm -f "${S}/lib/browser/GraphBrowser.jar" \
202 || die "failed cleaning graph browser directory"
203 pushd "${S}/lib/browser" \
204 || die "Could not change directory to lib/browser"
205 ./build || die "failed building the graph browser"
206 popd
207 fi
208 ./bin/isabelle jedit -b -f || die "pide build failed"
209 }
210
211 src_install() {
212 exeinto ${TARGETDIR}/bin
213 doexe bin/isabelle-process bin/isabelle
214
215 insinto ${TARGETDIR}
216 doins -r src
217 doins -r lib
218 doins -r contrib
219 doins ROOTS
220
221 docompress -x /usr/share/doc/${PF}
222 dodoc -r doc
223 if use doc; then
224 dosym /usr/share/doc/${PF}/doc "${TARGETDIR}/doc"
225 # The build of sci-mathematics/haskabelle with use doc requires
226 # sci-mathematics/isabelle[doc?]. The haskabelle doc build requires
227 # the src/Doc directory stuff in the isabelle package.
228 doins -r src/Doc
229 for i in "./src/Doc/Classes/document/build" \
230 "./src/Doc/Codegen/document/build" \
231 "./src/Doc/Functions/document/build" \
232 "./src/Doc/HOL/document/build" \
233 "./src/Doc/Intro/document/build" \
234 "./src/Doc/IsarImplementation/document/build" \
235 "./src/Doc/IsarRef/document/build" \
236 "./src/Doc/IsarRef/document/showsymbols" \
237 "./src/Doc/LaTeXsugar/document/build" \
238 "./src/Doc/Locales/document/build" \
239 "./src/Doc/Logics/document/build" \
240 "./src/Doc/Main/document/build" \
241 "./src/Doc/Nitpick/document/build" \
242 "./src/Doc/ProgProve/document/build" \
243 "./src/Doc/Ref/document/build" \
244 "./src/Doc/Sledgehammer/document/build" \
245 "./src/Doc/System/document/build" \
246 "./src/Doc/Tutorial/document/build" \
247 "./src/Doc/Tutorial/document/isa-index" \
248 "./src/Doc/ZF/document/build" \
249 "./src/Doc/fixbookmarks" \
250 "./src/Doc/prepare_document" \
251 "./src/Doc/sedindex"
252 do
253 exeinto $(dirname "${TARGETDIR}/${i}")
254 doexe ${i}
255 done
256 fi
257
258 for i in "./Isabelle " \
259 "./bin/isabelle" \
260 "./bin/isabelle-process" \
261 "./lib/Tools/browser" \
262 "./lib/Tools/build" \
263 "./lib/Tools/build_dialog" \
264 "./lib/Tools/components" \
265 "./lib/Tools/dimacs2hol" \
266 "./lib/Tools/display" \
267 "./lib/Tools/doc" \
268 "./lib/Tools/document" \
269 "./lib/Tools/emacs" \
270 "./lib/Tools/env" \
271 "./lib/Tools/findlogics" \
272 "./lib/Tools/getenv" \
273 "./lib/Tools/install" \
274 "./lib/Tools/java" \
275 "./lib/Tools/keywords" \
276 "./lib/Tools/latex" \
277 "./lib/Tools/logo" \
278 "./lib/Tools/make" \
279 "./lib/Tools/mkdir" \
280 "./lib/Tools/mkproject" \
281 "./lib/Tools/mkroot" \
282 "./lib/Tools/options" \
283 "./lib/Tools/print" \
284 "./lib/Tools/scala" \
285 "./lib/Tools/scalac" \
286 "./lib/Tools/tty" \
287 "./lib/Tools/unsymbolize" \
288 "./lib/Tools/usedir" \
289 "./lib/Tools/version" \
290 "./lib/Tools/yxml" \
291 "./lib/browser/build" \
292 "./lib/scripts/feeder" \
293 "./lib/scripts/getsettings" \
294 "./lib/scripts/keywords" \
295 "./lib/scripts/polyml-version" \
296 "./lib/scripts/process" \
297 "./lib/scripts/run-polyml" \
298 "./lib/scripts/run-smlnj" \
299 "./lib/scripts/unsymbolize" \
300 "./lib/scripts/yxml" \
301 "./src/HOL/IMP/export.sh" \
302 "./src/HOL/Library/Sum_of_Squares/neos_csdp_client" \
303 "./src/HOL/Mirabelle/lib/Tools/mirabelle" \
304 "./src/HOL/Mutabelle/lib/Tools/mutabelle" \
305 "./src/HOL/SPARK/Examples/README" \
306 "./src/HOL/TPTP/TPTP_Parser/make_mlyacclib" \
307 "./src/HOL/TPTP/TPTP_Parser/make_tptp_parser" \
308 "./src/HOL/TPTP/lib/Tools/tptp_graph" \
309 "./src/HOL/TPTP/lib/Tools/tptp_isabelle" \
310 "./src/HOL/TPTP/lib/Tools/tptp_isabelle_hot" \
311 "./src/HOL/TPTP/lib/Tools/tptp_nitpick" \
312 "./src/HOL/TPTP/lib/Tools/tptp_refute" \
313 "./src/HOL/TPTP/lib/Tools/tptp_sledgehammer" \
314 "./src/HOL/Tools/ATP/scripts/dummy_atp" \
315 "./src/HOL/Tools/ATP/scripts/remote_atp" \
316 "./src/HOL/Tools/Predicate_Compile/lib/scripts/swipl_version" \
317 "./src/HOL/Tools/SMT/lib/scripts/remote_smt" \
318 "./src/HOL/Tools/Sledgehammer/MaSh/src/compareStats.py" \
319 "./src/HOL/Tools/Sledgehammer/MaSh/src/mash.py" \
320 "./src/Pure/build" \
321 "./src/Pure/build-jars" \
322 "./src/Tools/Code/lib/Tools/codegen" \
323 "./src/Tools/Graphview/lib/Tools/graphview" \
324 "./src/Tools/Metis/fix_metis_license" \
325 "./src/Tools/Metis/make_metis" \
326 "./src/Tools/Metis/scripts/mlpp" \
327 "./src/Tools/WWW_Find/lib/Tools/wwwfind" \
328 "./src/Tools/jEdit/lib/Tools/jedit"
329 do
330 exeinto $(dirname "${TARGETDIR}/${i}")
331 doexe ${i}
332 done
333
334 insinto /etc/isabelle
335 doins -r etc/*
336 dosym /etc/isabelle "${TARGETDIR}/etc"
337
338 dosym "${LIBDIR}/heaps" "${TARGETDIR}/heaps"
339 insinto ${LIBDIR}
340 doins -r heaps
341
342 bin/isabelle install -d ${TARGETDIR} "${ED}usr/bin" \
343 || die "isabelle install failed"
344 newicon lib/icons/isabelle.xpm "${PN}.xpm"
345 dodoc ANNOUNCE CONTRIBUTORS COPYRIGHT NEWS README
346
347 java-pkg_regjar \
348 "${ED}${TARGETDIR}/contrib/jedit_build-20130104/contrib/Highlight.jar" \
349 "${ED}${TARGETDIR}/contrib/jedit_build-20130104/contrib/ErrorList.jar" \
350 "${ED}${TARGETDIR}/contrib/jedit_build-20130104/contrib/Console.jar" \
351 "${ED}${TARGETDIR}/contrib/jedit_build-20130104/contrib/cobra.jar" \
352 "${ED}${TARGETDIR}/contrib/jedit_build-20130104/contrib/js.jar" \
353 "${ED}${TARGETDIR}/contrib/jedit_build-20130104/contrib/jedit-5.0.0-patched/jedit.jar" \
354 "${ED}${TARGETDIR}/contrib/jedit_build-20130104/contrib/jedit-5.0.0-patched/jars/QuickNotepad.jar" \
355 "${ED}${TARGETDIR}/contrib/jfreechart-1.0.14/jfreechart-1.0.14-demo.jar" \
356 "${ED}${TARGETDIR}/lib/classes/ext/Graphview.jar" \
357 "${ED}${TARGETDIR}/lib/classes/ext/Pure.jar" \
358 "${ED}${TARGETDIR}/src/Tools/jEdit/dist/jars/Console.jar" \
359 "${ED}${TARGETDIR}/src/Tools/jEdit/dist/jars/ErrorList.jar" \
360 "${ED}${TARGETDIR}/src/Tools/jEdit/dist/jars/Highlight.jar" \
361 "${ED}${TARGETDIR}/src/Tools/jEdit/dist/jars/Isabelle-jEdit.jar" \
362 "${ED}${TARGETDIR}/src/Tools/jEdit/dist/jars/QuickNotepad.jar" \
363 "${ED}${TARGETDIR}/src/Tools/jEdit/dist/jars/SideKick.jar" \
364 "${ED}${TARGETDIR}/src/Tools/jEdit/dist/jars/cobra.jar" \
365 "${ED}${TARGETDIR}/src/Tools/jEdit/dist/jars/js.jar" \
366 "${ED}${TARGETDIR}/src/Tools/jEdit/dist/jedit.jar"
367 }
368
369 pkg_postinst() {
370 # If any of the directories in /etc/isabelle/components do not exist, then
371 # even isabelle getenv ISABELLE_HOME fails. Hence it is necessary to
372 # to delete any non-existing directories. If an old Isabelle version was
373 # installed with component ebuilds like sci-mathematics/e, then the
374 # Isabelle version is upgraded, then the contrib directories will not
375 # exist initially, it is necessary to delete them from /etc/isabelle/components.
376 # Then these components are rebuilt (creating these directories) using the
377 # EAPI=5 subslot depends.
378 for i in $(egrep '^[^#].*$' "${ROOT}etc/isabelle/components")
379 do
380 if [ ! -d /usr/share/${MY_P}/${i} ]; then
381 sed -e "\@${i}@d" -i "${ROOT}etc/isabelle/components"
382 fi
383 done
384 if use ledit && use readline; then
385 elog "Both readline and ledit use flags specified. The default setting"
386 elog "if both are installed is to use readline (rlwrap), this can be"
387 elog "modfied by editing the ISABELLE_LINE_EDITOR setting in"
388 elog "${ROOT}/etc/isabelle/settings"
389 fi
390 elog "Please ensure you have a pdf viewer installed, for example:"
391 elog "As root: emerge app-text/zathura-pdf-poppler"
392 elog "Please configure your preferred pdf viewer, something like:"
393 elog "As normal user: xdg-mime default zathura.desktop application/pdf"
394 elog "Or alternatively by editing the PDF_VIEWER variable in the system"
395 elog "settings file ${ROOT}etc/isabelle/settings and/or the user"
396 elog "settings file \$HOME/.isabelle/${MY_P}/etc/settings"
397 elog "To improve sledgehammer performance, consider installing:"
398 elog "USE=isabelle emerge sci-mathematics/e sci-mathematics/spass"
399 elog "For nitpick it is necessary to install:"
400 elog "emerge sci-mathematics/kodkodi"
401 }