]> git.pld-linux.org Git - packages/pl.git/blob - pl.spec
- more bcond fun
[packages/pl.git] / pl.spec
1 #
2 # TODO
3 #       - separate prolog packages to rpm subpackages
4 #
5 # Conditional build:
6 %bcond_without  java            # don't build with java bindings (So far, JPL only works with Sun Java and IBM Java)
7 #
8
9 %ifnarch %{x8664} i586 i686 pentium3 pentium4 athlon 
10 %undefine       with_java
11 %endif
12
13 %define         xpce_version 6.6.64
14 Summary:        SWI Prolog Language
15 Summary(pl.UTF-8):      Język SWI Prolog
16 Name:           pl
17 Version:        5.7.7
18 Release:        0.2
19 License:        LGPL/GPL
20 Group:          Development/Languages
21 Source0:        http://www.swi-prolog.org/download/devel/src/%{name}-%{version}.tar.gz
22 # Source0-md5:  a88409ccbbaccb470a0defb64d8cdfda
23 Patch0:         %{name}-clib-configure.patch
24 URL:            http://www.swi-prolog.org/
25 BuildRequires:  autoconf
26 BuildRequires:  automake
27 BuildRequires:  db-devel
28 BuildRequires:  fontconfig-devel
29 BuildRequires:  freetype-devel
30 BuildRequires:  gmp-devel
31 %{?with_java:BuildRequires:     java-sun}
32 BuildRequires:  libjpeg-devel
33 BuildRequires:  ncurses-devel
34 BuildRequires:  openssl-devel
35 BuildRequires:  pkgconfig
36 BuildRequires:  readline-devel >= 4.2
37 BuildRequires:  unixODBC-devel
38 BuildRequires:  uriparser-devel
39 BuildRequires:  xorg-lib-libICE-devel
40 BuildRequires:  xorg-lib-libSM-devel
41 BuildRequires:  xorg-lib-libX11-devel
42 BuildRequires:  xorg-lib-libXaw-devel
43 BuildRequires:  xorg-lib-libXext-devel
44 BuildRequires:  xorg-lib-libXft-devel
45 BuildRequires:  xorg-lib-libXinerama-devel
46 BuildRequires:  xorg-lib-libXmu-devel
47 BuildRequires:  xorg-lib-libXpm-devel
48 BuildRequires:  xorg-lib-libXrender-devel
49 BuildRequires:  xorg-lib-libXt-devel
50 BuildRequires:  zlib-devel
51 Obsoletes:      swi-pl
52 Obsoletes:      swi-prolog
53 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
54
55 %description
56 ISO/Edinburgh-style Prolog compiler including modules, autoload,
57 libraries, Garbage-collector, stack-expandor, C/C++-interface,
58 GNU-readline interface, very fast compiler. Including packages clib
59 (Unix process control and sockets), cpp (C++ interface), sgml (reading
60 XML/SGML), sgml/RDF (reading RDF into triples) and XPCE (Graphics UI
61 toolkit, integrated editor (Emacs-clone) and source-level debugger).
62
63 %description -l pl.UTF-8
64 Kompilator języka PROLOG w stylu Edinburgh wraz z modułami,
65 bibliotekami, garbage collectorrem, interfejsem C, interfejsami do GNU
66 readline, GNU Emacsa i X11 przy użyciu XPCE.
67
68 %package jpl
69 Summary:        Dynamic, bidirectional interface between SWI-Prolog and Java
70 Group:          Development/Languages
71 Requires:       %{name} = %{version}-%{release}
72
73 %description jpl
74 JPL 3.x is a dynamic, bidirectional interface between SWI-Prolog 5.2.0 or
75 later and Java 2 runtimes (see JPL 3.x Objectives).  It offers two APIs:
76   * Java API (Java-calls-Prolog): this interface comprises public Java
77     classes which support:
78        + constructing Java representations of Prolog terms and queries
79        + calling queries within SWI-Prolog engines
80        + retrieving (as Java representations of Prolog terms) any bindings
81          created by a call
82   * Prolog API (Prolog-calls-Java): this interface comprises Prolog library
83     predicates which support:
84        + creating instances (objects) of Java classes (built-in and
85          user-defined)
86        + calling methods of Java objects (and static methods of classes),
87          perhaps returning values or object references
88        + getting and setting the values of fields of Java objects and
89          classes
90 Calls to the two APIs can be nested, e.g. Java code can call Prolog
91 predicates which call Java methods which call Prolog predicates etc.
92
93 %package xpce
94 Summary:        XPCE - GUI Toolkit for (SWI-)Prolog
95 Group:          Development/Languages
96 Requires:       %{name} = %{version}-%{release}
97 Obsoletes:      xpce
98
99 %description xpce
100 Graphical User Interface (GUI) toolkit for Prolog and other
101 dynamically typed languages. Provides Object Oriented programming to
102 Prolog as well as a high-level portable GUI toolkit for (SWI-)Prolog.
103 Also available for Quintus and SICStus Prolog.
104
105 %description xpce -l pl.UTF-8
106 Zestaw Graficzny Interfejsu Użytkownika (GUI) dla Prologa i innych
107 dynamicznie wpisywanych języków. Udostępnia obiektowo zorientowane
108 programowanie dla Prologa jak także jako wysoko dostępny przenośny
109 zestaw GUI dla (SWI-)Prologa. Dostępne także dla Quintus i SICStus
110 Prolog.
111
112 %prep
113 %setup -q
114 %patch0 -p1
115
116 %build
117 cd src
118 cp -f /usr/share/automake/config.sub .
119 %{__aclocal}
120 %{__autoconf}
121 %configure
122 %{__make}
123 %{__make} check
124 cd ..
125
126 # the packages are written in Prolog itself
127 PATH="$(pwd)/src:$PATH"; export PATH
128 LD_LIBRARY_PATH="$(pwd)/lib/%{_target_cpu}-linux"; export LD_LIBRARY_PATH
129
130 cd packages
131 wd=`pwd`
132 for i in xpce/src chr clib clpqr cpp cppproxy db http inclpr %{?with_java:jpl} mp nlp odbc pldoc plunit semweb sgml sgml/RDF ssl table uri zlib; do
133         cd $i
134         cp -f /usr/share/automake/config.sub .
135         %{__aclocal}
136         %{__autoconf}
137         %{__autoheader} || :
138         %configure
139         %{__make}
140         cd $wd
141 done
142 cd ..
143
144 %install
145 rm -rf $RPM_BUILD_ROOT
146
147 %{__make} -j1 install -C src \
148         DESTDIR=$RPM_BUILD_ROOT
149
150 install -d $RPM_BUILD_ROOT%{_libdir}/pl-%{version}/doc
151
152 LD_LIBRARY_PATH="$RPM_BUILD_ROOT%{_libdir}/pl-%{version}/lib/%{_target_cpu}-linux"; export LD_LIBRARY_PATH
153
154 for i in xpce/src chr clib clpqr cpp cppproxy db http inclpr %{?with_java:jpl} mp nlp odbc pldoc plunit semweb sgml sgml/RDF ssl table uri zlib; do
155         PATH=$RPM_BUILD_ROOT%{_bindir}:$PATH \
156         %{__make} -j1 install -C packages/$i \
157                 PLBASE=$RPM_BUILD_ROOT%{_libdir}/pl-%{version} \
158                 prefix=$RPM_BUILD_ROOT%{_prefix} \
159                 bindir=$RPM_BUILD_ROOT%{_bindir} \
160                 mandir=$RPM_BUILD_ROOT%{_mandir}/man1
161 done
162
163 %clean
164 rm -rf $RPM_BUILD_ROOT
165
166 %files
167 %defattr(644,root,root,755)
168 %doc README* LSM ChangeLog PORTING
169 %doc dotfiles/dot*
170 %attr(755,root,root) %{_bindir}/pl*
171 %dir %{_libdir}/pl-%{version}
172 %attr(755,root,root) %{_libdir}/pl-%{version}/bin
173 %{_libdir}/pl-%{version}/boot*
174 %dir %{_libdir}/pl-%{version}/lib
175 %dir %{_libdir}/pl-%{version}/lib/*-linux
176 %attr(755,root,root) %{_libdir}/pl-%{version}/lib/*-linux/*.so*
177 %{_libdir}/pl-%{version}/lib/*-linux/*.a
178 %{_libdir}/pl-%{version}/library
179 %if %{with java}
180 %exclude %{_libdir}/pl-%{version}/lib/*-linux/libjpl.so
181 %exclude %{_libdir}/pl-%{version}/library/jpl.pl
182 %endif
183 %{_libdir}/pl-%{version}/include
184 %{_libdir}/pl-%{version}/do*
185 %{_libdir}/pl-%{version}/swipl
186 %{_libdir}/pl-%{version}/*.rc
187 %{_pkgconfigdir}/pl.pc
188 %{_mandir}/man?/pl*
189
190 %files xpce
191 %defattr(644,root,root,755)
192 %attr(755,root,root) %{_bindir}/xpce*
193 %dir %{_libdir}/%{name}-%{version}/xpce-%{xpce_version}
194 %attr(755,root,root) %{_libdir}/%{name}-%{version}/xpce-%{xpce_version}/bin
195 %attr(755,root,root) %{_libdir}/%{name}-%{version}/xpce-%{xpce_version}/lib
196 %{_libdir}/%{name}-%{version}/xpce-%{xpce_version}/appl-help
197 %{_libdir}/%{name}-%{version}/xpce-%{xpce_version}/bitmaps
198 %{_libdir}/%{name}-%{version}/xpce-%{xpce_version}/include
199 %{_libdir}/%{name}-%{version}/xpce-%{xpce_version}/man
200 %{_libdir}/%{name}-%{version}/xpce-%{xpce_version}/pl
201 %{_libdir}/%{name}-%{version}/xpce-%{xpce_version}/prolog
202
203 %if %{with java}
204 %files jpl
205 %defattr(644,root,root,755)
206 %{_libdir}/pl-%{version}/lib/jpl.jar
207 %attr(755,root,root) %{_libdir}/pl-%{version}/lib/*-linux/libjpl.so
208 %{_libdir}/pl-%{version}/library/jpl.pl
209 %endif
This page took 0.040139 seconds and 3 git commands to generate.