Admin/makerpm
changeset 7312 523fb2832b30
parent 6608 927def00b1c6
child 7314 d3968533692c
equal deleted inserted replaced
7311:1ef2c659023d 7312:523fb2832b30
     1 #!/bin/bash
     1 #!/bin/bash -x
     2 #
     2 #
     3 # $Id$
     3 # $Id$
     4 #
     4 #
     5 # makerpm -- make Isabelle rpm packages for Linux/x86 from the distribution.
     5 # makerpm -- make Isabelle rpm packages for Linux/x86 from the distribution.
     6 
     6 
    62 
    62 
    63 
    63 
    64 # build
    64 # build
    65 
    65 
    66 cd "$TMP/BUILD$ROOT/$ISABELLE_NAME"
    66 cd "$TMP/BUILD$ROOT/$ISABELLE_NAME"
    67 ( PATH=/bin:$PATH; ./configure )
    67 ( PATH=/bin:$PATH; BASH_PATH=/bin/bash PERL_PATH=/usr/bin/perl ./configure )
    68 ./build -b $LOGICS
    68 ./build -bi $LOGICS
    69 ./bin/isatool install -d "$ISABELLE_HOME" -p "$TMP/BUILD$BIN"
       
    70 COMPILER=$(./bin/isatool getenv -b ML_IDENTIFIER)
    69 COMPILER=$(./bin/isatool getenv -b ML_IDENTIFIER)
    71 
    70 
    72 
    71 
    73 # rpm spec
    72 # rpm spec
    74 
    73 
    94 Release:	1
    93 Release:	1
    95 Group:		Applications/Math
    94 Group:		Applications/Math
    96 Copyright:	University of Cambridge Computer Laboratory
    95 Copyright:	University of Cambridge Computer Laboratory
    97 Url:		http://www.cl.cam.ac.uk/Research/HVG/Isabelle/
    96 Url:		http://www.cl.cam.ac.uk/Research/HVG/Isabelle/
    98 Packager:	Markus Wenzel <wenzelm@in.tum.de>
    97 Packager:	Markus Wenzel <wenzelm@in.tum.de>
       
    98 Prefix:		$ROOT
    99 BuildRoot:	$TMP/BUILD
    99 BuildRoot:	$TMP/BUILD
   100 
   100 
   101 %description
   101 %description
   102 
   102 
   103 This package contains the full source distribution of Isabelle
   103 This package contains the full source distribution of Isabelle
   140 Logics are not hard-wired into Isabelle, but formulated within
   140 Logics are not hard-wired into Isabelle, but formulated within
   141 Isabelle's meta logic: Isabelle/Pure.  There are quite a lot of
   141 Isabelle's meta logic: Isabelle/Pure.  There are quite a lot of
   142 syntactic and deductive tools available in generic Isabelle.  Isabelle
   142 syntactic and deductive tools available in generic Isabelle.  Isabelle
   143 proof tools provide a high degree of automation.
   143 proof tools provide a high degree of automation.
   144 
   144 
       
   145 
   145 %package	HOL
   146 %package	HOL
   146 Summary:	Isabelle Theorem Proving Environment -- Higher-Order Logic
   147 Summary:	Isabelle Theorem Proving Environment -- Higher-Order Logic
   147 Group:		Applications/Math
   148 Group:		Applications/Math
   148 Requires:       isabelle
   149 Requires:       isabelle
   149 %description HOL
   150 %description HOL
   150 This package contains a binary image of the HOL object-logic for Isabelle.
   151 This package contains a binary image of the HOL object-logic for Isabelle.
   151 
   152 
       
   153 
       
   154 %package	HOL-Real
       
   155 Summary:	Isabelle Theorem Proving Environment -- Higher-Order Logic
       
   156 Group:		Applications/Math
       
   157 Requires:       isabelle
       
   158 %description HOL-Real
       
   159 This package contains a binary image of the HOL object-logic for Isabelle,
       
   160 including support for real numbers.
       
   161 
       
   162 
   152 %package	ZF
   163 %package	ZF
   153 Summary:	Isabelle Theorem Proving Environment -- Zermelo-Fraenkel set theory
   164 Summary:	Isabelle Theorem Proving Environment -- Zermelo-Fraenkel set theory
   154 Group:		Applications/Math
   165 Group:		Applications/Math
   155 Requires:       isabelle
   166 Requires:       isabelle
   156 %description ZF
   167 %description ZF
   157 This package contains a binary image of the ZF object-logic for Isabelle.
   168 This package contains a binary image of the ZF object-logic for Isabelle.
   158 
   169 
       
   170 
   159 %prep
   171 %prep
   160 
   172 
   161 %build
   173 %build
   162 
   174 
   163 %install
   175 %install
       
   176 
       
   177 %post
       
   178 \$RPM_INSTALL_PREFIX/$ISABELLE_NAME/bin/isatool install -p $BIN
       
   179 
       
   180 %post HOL
       
   181 %post HOL-Real
       
   182 %post ZF
       
   183 
       
   184 %postun
       
   185 rm -f $BIN/Isabelle $BIN/isabelle $BIN/isatool
       
   186 
       
   187 %postun HOL
       
   188 %postun HOL-Real
       
   189 %postun ZF
       
   190 
   164 
   191 
   165 %files HOL
   192 %files HOL
   166 $ISABELLE_HOME/heaps/${COMPILER}/HOL
   193 $ISABELLE_HOME/heaps/${COMPILER}/HOL
   167 
   194 
       
   195 %files HOL-Real
       
   196 $ISABELLE_HOME/heaps/${COMPILER}/HOL-Real
       
   197 
   168 %files ZF
   198 %files ZF
   169 $ISABELLE_HOME/heaps/${COMPILER}/ZF
   199 $ISABELLE_HOME/heaps/${COMPILER}/ZF
   170 
   200 
   171 %files
   201 %files
   172 $BIN/Isabelle
       
   173 $BIN/isabelle
       
   174 $BIN/isatool
       
   175 EOF
   202 EOF
   176 
   203 
   177 for F in $(ls -1 | grep -v heaps | grep -v browser_info)
   204 for F in $(ls -1 | grep -v heaps | grep -v browser_info)
   178 do
   205 do
   179   echo "$ISABELLE_HOME/$F" >>$TMP/SPECS/isabelle.spec
   206   echo "$ISABELLE_HOME/$F" >>$TMP/SPECS/isabelle.spec
   188 rpm --rcfile "$TMP/rpmrc" -bb "$TMP/SPECS/isabelle.spec"
   215 rpm --rcfile "$TMP/rpmrc" -bb "$TMP/SPECS/isabelle.spec"
   189 
   216 
   190 mkdir -p "$DISTBASE/rpm"
   217 mkdir -p "$DISTBASE/rpm"
   191 cd "$TMP/RPMS/i386"
   218 cd "$TMP/RPMS/i386"
   192 cp "isabelle-$RPMVERSION-1.i386.rpm" "$DISTBASE/rpm/isabelle.rpm"
   219 cp "isabelle-$RPMVERSION-1.i386.rpm" "$DISTBASE/rpm/isabelle.rpm"
   193 cp "isabelle-HOL-$RPMVERSION-1.i386.rpm" "$DISTBASE/rpm/isa-HOL.rpm"
   220 cp "isabelle-HOL-$RPMVERSION-1.i386.rpm" "$DISTBASE/rpm/isabelle-HOL.i386.rpm"
   194 cp "isabelle-ZF-$RPMVERSION-1.i386.rpm" "$DISTBASE/rpm/isa-ZF.rpm"
   221 cp "isabelle-HOL-$RPMVERSION-1.i386.rpm" "$DISTBASE/rpm/isabelle-HOL-Real.i386.rpm"
       
   222 cp "isabelle-ZF-$RPMVERSION-1.i386.rpm" "$DISTBASE/rpm/isabelle-ZF.i386.rpm"
   195 
   223 
   196 # clean up
   224 # clean up
   197 cd /
   225 cd /
   198 rm -rf "$TMP"
   226 rm -rf "$TMP"