- added structure template
[ginac.git] / GiNaC.spec.in
1 %define name @PACKAGE@
2 %define version @VERSION@
3 %define release 1
4
5 Summary: C++ library for symbolic calculations
6 Name: %{name}
7 Version: %{version}
8 Release: %{release}
9 Copyright: GPL
10 Group: System Environment/Libraries
11 Source: ftp://ftpthep.physik.uni-mainz.de/pub/GiNaC/%{name}-%{version}.tar.gz
12 URL: http://www.ginac.de/
13 Packager: Christian Bauer <cbauer@ginac.de>
14 Prereq: /sbin/install-info
15 BuildRoot: %{_tmppath}/%{name}-root
16 Prefix: %{_prefix}
17
18 Requires: cln >= 1.1
19
20 %description
21 GiNaC (which stands for "GiNaC is Not a CAS (Computer Algebra System)") is an
22 open framework for symbolic computation within the C++ programming language.
23
24
25 %package devel
26 Summary: GiNaC development libraries and header files
27 Group: Development/Libraries
28 Requires: %{name} = %{version}
29
30 %description devel
31 GiNaC (which stands for "GiNaC is Not a CAS (Computer Algebra System)") is an
32 open framework for symbolic computation within the C++ programming language.
33
34 This package contains the libraries, include files and other resources you
35 use to develop GiNaC applications.
36
37
38 %package utils
39 Summary: GiNaC-related utilities
40 Group: System Environment/Libraries
41 Requires: %{name} = %{version}
42
43 %description utils
44 GiNaC (which stands for "GiNaC is Not a CAS (Computer Algebra System)") is an
45 open framework for symbolic computation within the C++ programming language.
46
47 This package includes the ginsh ("GiNaC interactive shell") which provides a
48 simple and easy-to-use CAS-like interface to GiNaC for non-programmers, and
49 the tool "viewgar" which displays the contents of GiNaC archives.
50
51
52 %prep
53 %setup -q
54
55 %build
56 CFLAGS=${RPM_OPT_FLAGS} CXXFLAGS=${RPM_OPT_FLAGS} ./configure --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir}
57 if [ -x /usr/bin/getconf ] ; then
58   NCPU=$(/usr/bin/getconf _NPROCESSORS_ONLN)
59   if [ $NCPU -eq 0 ] ; then
60     NCPU=1
61   fi
62 else  
63   NCPU=1
64 fi
65 PARL=$[ $NCPU + 1 ]
66 (make -k -j $PARL; exit 0)
67 make
68
69 %install
70 rm -rf ${RPM_BUILD_ROOT}
71 make DESTDIR=${RPM_BUILD_ROOT} install
72 gzip -9nf ${RPM_BUILD_ROOT}%{_infodir}/ginac.info*
73 rm ${RPM_BUILD_ROOT}%{_infodir}/dir
74
75 %clean
76 rm -rf ${RPM_BUILD_ROOT}
77
78 %post
79 /sbin/ldconfig
80
81 %postun
82 /sbin/ldconfig
83
84 %post devel
85 /sbin/install-info %{_infodir}/ginac.info.gz %{_infodir}/dir
86
87 %preun devel
88 if [ "$1" = 0 ]; then
89   /sbin/install-info --delete %{_infodir}/ginac.info.gz %{_infodir}/dir
90 fi
91
92 %files
93 %defattr(-,root,root)
94 %doc AUTHORS COPYING ChangeLog NEWS README
95 %{_libdir}/*.so.*
96
97 %files devel
98 %defattr(-,root,root)
99 %{_libdir}/*.a
100 %{_libdir}/*.la
101 %{_libdir}/*.so
102 %{_includedir}/ginac/*.h
103 %{_infodir}/*.info*
104 %{_mandir}/man1/ginac-config.1*
105 %{_bindir}/ginac-config
106 %{_datadir}/aclocal/*
107
108 %files utils
109 %defattr(-,root,root)
110 %{_bindir}/ginsh
111 %{_bindir}/viewgar
112 %{_mandir}/man1/ginsh.1*
113 %{_mandir}/man1/viewgar.1*
114
115 %changelog
116 * Thu Nov  1 2001 Christian Bauer <Christian.Bauer@uni-mainz.de>
117 - moved ginsh and viewgar to "utils" package
118
119 * Thu Oct  5 2000 Christian Bauer <Christian.Bauer@uni-mainz.de>
120 - cleaned up a bit
121
122 * Wed Jan 26 2000 Christian Bauer <Christian.Bauer@uni-mainz.de>
123 - split into user and devel packages
124
125 * Wed Dec  1 1999 Christian Bauer <Christian.Bauer@uni-mainz.de>
126 - aclocal macros get installed