Summary: Gambas - a free VB-like language
Summary(pl): Gambas - wolnodostêpny jêzyk VB-podobny
Name: gambas
-License: GPL
+Version: 1.0.3
+Release: 0.1
+License: GPL v2
Group: Development/Languages
-Version: 0.90
-Release: 0.1
Source0: http://gambas.sourceforge.net/%{name}-%{version}.tar.bz2
-# Source0-md5: 1f3211e2c97a354205123a71441e6ced
-URL: http://gambas.sf.net/
+# Source0-md5: 96ae0e75822d309f2d02bd98ebf86dbd
+Source1: %{name}.desktop
+Patch0: %{name}-Makefile.patch
+URL: http://gambas.sourceforge.net
+BuildRequires: SDL_mixer-devel
+BuildRequires: bzip2-devel
+BuildRequires: curl-devel
+BuildRequires: gettext-devel
+BuildRequires: kdelibs-devel
+BuildRequires: libxml2-devel
+BuildRequires: libxslt-devel
+BuildRequires: mysql-devel
+BuildRequires: postgresql-backend-devel
+BuildRequires: postgresql-devel
+BuildRequires: sqlite-devel
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
pilot KDE applications with DCOP, translate your program into many
languages, and so on...
-This package only provides the command-line utilities. You will need
-gambas-lib for the required components and gambas-gui for the actual
-VB-like environment.
+This package provides the command-line utilities, as well as the
+Gambas interpreter needed to run Gambas applications.
%description -l pl
Gambas to wolnodostêpne ¶rodowisko programistyczne oparte na
PostgreSQL, sterowaæ aplikacjami KDE poprzez DCOP, t³umaczyæ program
na wiele jêzyków itd.
-Ten pakiet dostarcza tylko narzêdzia dzia³aj±ce z linii poleceñ. Do
-¶rodowiska programistycznego potrzebne s± jeszcze gambas-lib z
-komponentami oraz gambas-gui z samym ¶rodowiskiem podobnym do VB.
+Ten pakiet dostarcza narzêdzia dzia³aj±ce z linii poleceñ, a tak¿e
+interpreter potrzebny do uruchamiania aplikacji Gambas.
%package doc
Summary: Documentation for Gambas language
Ten pakiet zawiera dokumentacjê dla jêzyka Gambas.
-%package libs
-Summary: Gambas language components and libraries
-Summary(pl): Komponenty i biblioteki jêzyka Gambas
+%package ide
+Summary: The Gambas IDE
+Summary(pl): IDE dla Gambas
Group: Development/Languages
Requires: %{name} = %{version}-%{release}
+Requires: %{name}-gb-db = %{version}-%{release}
+Requires: %{name}-gb-debug = %{version}-%{release}
+Requires: %{name}-gb-qt = %{version}-%{release}
+Requires: %{name}-gb-qt-editor = %{version}-%{release}
+Requires: %{name}-gb-qt-ext = %{version}-%{release}
-%description libs
-This package provides the components for Gambas language. You will
-need the gambas package for the compiler/interpreter and gambas-gui
-for the actual VB-like environment.
+%description ide
+This package includes the complete Gambas Development Environment,
+with the database manager and all necessary components.
-%description libs -l pl
-Ten pakiet dostarcza komponenty dla jêzyka Gambas. Oprócz niego do
-pe³nego ¶rodowiska potrzebny jest pakiet gambas z
-kompilatorem/interpreterem oraz gambas-gui z w³a¶ciwym graficznym
-interfejsem.
+%description ide -l pl
+Ten pakiet zawiera kompletne ¶rodowisko programistyczne, ³±cznie
+z mened¿erem baz danych i wszystkimi niezbêdnymi komponentami.
-%package devel
-Summary: Header file for Gambas component development
-Summary(pl): Plik nag³ówkowy do tworzenia komponentów jêzyka Gambas
+%package examples
+Summary: The examples for Gambas language
+Summary(pl): Przyk³ady dla jêzyka Gambas
+Group: Development/Languages
+Requires: %{name}-ide = %{version}-%{release}
+
+%description examples
+The gambas-examples package contains some examples for Gambas.
+
+%description examples -l pl
+Ten pakiet zawiera kilka przyk³adów dla Gambas.
+
+%package gb-compress
+Summary: The Gambas compression component
+Summary(pl): Gambas - komponent do kompresji
+Group: Development/Languages
+Requires: %{name} = %{version}-%{release}
+
+%description gb-compress
+This component allows you to compress/uncompress data or files with
+the bzip2 and zip algorithms.
+
+%description gb-compress -l pl
+Ten komponent pozwala Ci pakowaæ/rozpakowywaæ dane lub pliki
+algorytmami bzip2 i zip.
+
+%package gb-db
+Summary: The Gambas database component
+Summary(pl): Gambas - komponent bazodanowy
+Group: Development/Languages
+Requires: %{name} = %{version}-%{release}
+
+%description gb-db
+This component allows you to access many databases management systems,
+provided that you install the needed driver packages.
+
+%description gb-db -l pl
+Ten komponent pozwala Ci na dostêp do wielu systemów bazodanowych,
+pod warunkiem, ¿e zaistalujesz wymagane pakiety sterowników.
+
+%package gb-db-mysql
+Summary: The MySQL driver for the Gambas database component
+Summary(pl): Gambas - sterownik do MySQL dla komponenu bazodanowego
+Group: Development/Languages
+Requires: %{name} = %{version}-%{release}
+Requires: %{name}-gb-db = %{version}-%{release}
+
+%description gb-db-mysql
+This component allows you to access MySQL databases.
+
+%description gb-db-mysql -l pl
+Ten komponent pozwala Ci na dostêp do bazy danych MySQL.
+
+%package gb-db-postgresql
+Summary: The PostgreSQL driver for the Gambas database component
+Summary(pl): Gambas - sterownik do PostgreSQL dla komponenu bazodanowego
+Group: Development/Languages
+Requires: %{name} = %{version}-%{release}
+Requires: %{name}-gb-db = %{version}-%{release}
+
+%description gb-db-postgresql
+This component allows you to access PostgreSQL databases.
+
+%description gb-db-postgresql -l pl
+Ten komponent pozwala Ci na dostêp do bazy danych PostgreSQL.
+
+%package gb-db-sqlite
+Summary: The SQLite driver for the Gambas database component
+Summary(pl): Gambas - sterownik do SQLite dla komponenu bazodanowego
+Group: Development/Languages
+Requires: %{name} = %{version}-%{release}
+Requires: %{name}-gb-db = %{version}-%{release}
+
+%description gb-db-sqlite
+This component allows you to access SQLite databases.
+
+%description gb-db-sqlite -l pl
+Ten komponent pozwala Ci na dostêp do bazy danych SQLite.
+
+%package gb-debug
+Summary: The debugger helper component for the Gambas IDE
+Summary(pl): Gambas - komponent debuggera dla IDE
+Group: Development/Languages
+Requires: %{name} = %{version}-%{release}
+
+%description gb-debug
+This component helps the IDE to debug Gambas programs.
+
+%description gb-debug -l pl
+Komponent przeznaczony dla IDE Gambas, przydatny w odpluskwianiu
+programów.
+
+%package gb-eval
+Summary: The Gambas expression evaluator component
+Group: Development/Languages
+Requires: %{name} = %{version}-%{release}
+
+%description gb-eval
+This component allows you to evaluate expressions at runtime. It is
+used by the Gambas Eval() function.
+
+%package gb-net
+Summary: The Gambas networking component
Group: Development/Languages
Requires: %{name} = %{version}-%{release}
-%description devel
-This package includes the header file necessary for writing your own
-Gambas components, as well as the source for the Gambas GUI components
-necessary for building the gambas-gui package.
+%description gb-net
+This component allows you to use TCP/IP and UDP sockets, and to access
+any serial ports.
+
+%package gb-net-curl
+Summary: The Gambas advanced networking component
+Group: Development/Languages
+Requires: %{name} = %{version}-%{release}
+Requires: %{name}-gb-net = %{version}-%{release}
+
+%description gb-net-curl
+This component allows your programs to easily become FTP or HTTP
+clients.
+
+%package gb-qt
+Summary: The Gambas Qt GUI component
+Group: Development/Languages
+Requires: %{name} = %{version}-%{release}
-%description devel -l pl
-Ten pakiet zawiera plik nag³ówkowy potrzebny do pisania w³asnych
-komponentów Gambasa, a tak¿e ¼ród³a komponentów GUI Gambasa potrzebne
-do budowania pakietu gambas-gui.
+%description gb-qt
+This package includes the Gambas QT GUI component.
+
+%package gb-qt-ext
+Summary: The Gambas extended Qt GUI component
+Group: Development/Languages
+Requires: %{name} = %{version}-%{release}
+Requires: %{name}-gb-qt = %{version}-%{release}
+
+%description gb-qt-ext
+This component includes somme uncommon QT controls.
+
+%package gb-qt-editor
+Summary: The Gambas source code editor component
+Group: Development/Languages
+Requires: %{name} = %{version}-%{release}
+Requires: %{name}-gb-qt = %{version}-%{release}
+
+%description gb-qt-editor
+This component includes a Gambas source code editor with syntax
+highlighting. It is used by the IDE.
+
+%package gb-qt-kde
+Summary: The Gambas KDE component
+Group: Development/Languages
+Requires: %{name} = %{version}-%{release}
+Requires: %{name}-gb-qt = %{version}-%{release}
+
+%description gb-qt-kde
+This component transforms your QT application in a KDE application,
+and allows you to pilot any other KDE application with the DCOP
+protocol.
+
+%package gb-qt-kde-html
+Summary: The Gambas KHTML component
+Group: Development/Languages
+Requires: %{name} = %{version}-%{release}
+Requires: %{name}-gb-qt-kde = %{version}-%{release}
+
+%description gb-qt-kde-html
+This component allows you to use the KHTML Web Browser widget included
+in KDE.
+
+%package gb-sdl
+Summary: The Gambas SDL component
+Group: Development/Languages
+Requires: %{name} = %{version}-%{release}
+
+%description gb-sdl
+This component uses only the sound part of the SDL library. It allows
+you to simultaneously play many sounds and a music stored in a file.
+
+%package gb-vb
+Summary: The Gambas Visual Basic(tm) compatibility component
+Group: Development/Languages
+Requires: %{name} = %{version}-%{release}
+
+%description gb-vb
+This component aims at including some functions that imitate the
+behaviour of Visual Basic(tm) functions. Use it only if you try to
+port some VB projects.
+
+%package gb-xml
+Summary: The Gambas XML components based on the libxml and libxslt libraries.
+Group: Development/Languages
+Requires: %{name} = %{version}-%{release}
+
+%description gb-xml
+These components brings the power of the libxml and libxslt libraries
+to Gambas.
%prep
%setup -q
+%patch0 -p1
%build
-#%{__libtoolize}
-#%{__aclocal}
-#%{__autoconf}
-#%{__automake}
-cp -f /usr/share/automake/config.sub .
-%configure2_13
+%configure \
+ --enable-optimization \
+ --enable-shared
+
%{__make}
%install
-# workaround for broken libtool
rm -rf $RPM_BUILD_ROOT
-export SED=sed
-export PATH=${RPM_BUILD_ROOT}%{_bindir}:$PWD/src/comp:$PATH
-#make DESTDIR=${RPM_BUILD_ROOT} install
-#install -d ${RPM_BUILD_ROOT}%{_bindir}/
-#install -d ${RPM_BUILD_ROOT}%{_datadir}/doc/%{name}-%{version}
-#install -d ${RPM_BUILD_ROOT}%{_includedir}/
-#install -d ${RPM_BUILD_ROOT}%{_includedir}/%{name}
-#install -d ${RPM_BUILD_ROOT}%appdir/
-#install -d ${RPM_BUILD_ROOT}%appdir/lib/
-#install -s -m 0755 src/exec/gbx ${RPM_BUILD_ROOT}%{_bindir}/
-#install -s -m 0755 src/comp/gba ${RPM_BUILD_ROOT}%{_bindir}/
-#install -s -m 0755 src/comp/gbi ${RPM_BUILD_ROOT}%{_bindir}/
-#install -s -m 0755 src/comp/gbc ${RPM_BUILD_ROOT}%{_bindir}/
-#find src -name *.la -exec cp {} ${RPM_BUILD_ROOT}%appdir/lib \;
-#find src -name *.so* -exec cp -a {} ${RPM_BUILD_ROOT}%appdir/lib \;
-#cp -a src/share/gambas.h ${RPM_BUILD_ROOT}%{_includedir}/%{name}
-#cp -av examples ${RPM_BUILD_ROOT}/usr/share/doc/%{name}-%{version}
-##cp -av help ${RPM_BUILD_ROOT}/usr/share/doc/%{name}-%{version}
-#find ${RPM_BUILD_ROOT} -size 0 -exec rm -f {} \;
-#tar cjvf ${RPM_BUILD_ROOT}%appdir/gambas-gui-%{version}.tar.bz2 app/ `find src/ -name *.component`
-#
+install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir}}
+
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
+
+install %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir}
+install app/gambas/img/logo/gambas-48x48.png \
+ $RPM_BUILD_ROOT%{_pixmapsdir}/%{name}.png
+
+rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/*.la
+
%clean
rm -rf $RPM_BUILD_ROOT
-%files libs
+%files
%defattr(644,root,root,755)
-%doc AUTHORS COPYING ChangeLog INSTALL README
-#%appdir/lib/*.so.*
+%doc AUTHORS ChangeLog README TODO
+%attr(755,root,root) %{_bindir}/gbc
+%attr(755,root,root) %{_bindir}/gbi
+%attr(755,root,root) %{_bindir}/gbx
+%dir %{_libdir}/%{name}
+%dir %{_datadir}/%{name}
+%dir %{_datadir}/%{name}/info
+%{_libdir}/%{name}/lib.gb.component
+%{_datadir}/%{name}/info/gb.info
+%{_datadir}/%{name}/info/gb.list
-%files devel
+%files doc
%defattr(644,root,root,755)
-%doc AUTHORS COPYING ChangeLog INSTALL README
-#%appdir/lib/*.so
-#%appdir/lib/*.la
-#%{_includedir}/%{name}
-#%appdir/gambas-gui-%{version}.tar.bz2
+%{_datadir}/%{name}/help
-%files
+%files ide
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/gambas
+%attr(755,root,root) %{_bindir}/gambas-database-manager
+%attr(755,root,root) %{_bindir}/gba
+%{_desktopdir}/gambas.desktop
+%{_pixmapsdir}/gambas.png
+
+%files examples
+%defattr(644,root,root,755)
+%{_datadir}/%{name}/examples
+
+%files gb-compress
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/lib.gb.compress.*
+%{_datadir}/%{name}/info/gb.compress.*
+
+%files gb-db
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/lib.gb.db.so*
+%{_libdir}/%{name}/lib.gb.db.component
+%{_datadir}/%{name}/info/gb.db.info
+%{_datadir}/%{name}/info/gb.db.list
+
+%files gb-db-mysql
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/lib.gb.db.mysql.*
+
+%files gb-db-postgresql
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/lib.gb.db.postgresql.*
+
+%files gb-db-sqlite
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/lib.gb.db.sqlite.*
+
+%files gb-debug
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/lib.gb.debug.*
+%{_datadir}/%{name}/info/gb.debug.*
+
+%files gb-eval
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/lib.gb.eval.*
+%{_datadir}/%{name}/info/gb.eval.*
+
+%files gb-net
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/lib.gb.net.so*
+%{_libdir}/%{name}/lib.gb.net.component
+%{_datadir}/%{name}/info/gb.net.info
+%{_datadir}/%{name}/info/gb.net.list
+
+%files gb-net-curl
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/lib.gb.net.curl.so*
+%{_libdir}/%{name}/lib.gb.net.curl.component
+%{_datadir}/%{name}/info/gb.net.curl.info
+%{_datadir}/%{name}/info/gb.net.curl.list
+
+%files gb-qt
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/lib.gb.qt.so*
+%{_libdir}/%{name}/lib.gb.qt.component
+%{_datadir}/%{name}/info/gb.qt.info
+%{_datadir}/%{name}/info/gb.qt.list
+
+%files gb-qt-ext
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/lib.gb.qt.ext.so*
+%{_libdir}/%{name}/lib.gb.qt.ext.component
+%{_datadir}/%{name}/info/gb.qt.ext.info
+%{_datadir}/%{name}/info/gb.qt.ext.list
+
+%files gb-qt-editor
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/lib.gb.qt.editor.so*
+%{_libdir}/%{name}/lib.gb.qt.editor.component
+%{_datadir}/%{name}/info/gb.qt.editor.info
+%{_datadir}/%{name}/info/gb.qt.editor.list
+
+%files gb-qt-kde
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/lib.gb.qt.kde.so*
+%{_libdir}/%{name}/lib.gb.qt.kde.component
+%{_datadir}/%{name}/info/gb.qt.kde.info
+%{_datadir}/%{name}/info/gb.qt.kde.list
+
+%files gb-qt-kde-html
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/lib.gb.qt.kde.html.so*
+%{_libdir}/%{name}/lib.gb.qt.kde.html.component
+%{_datadir}/%{name}/info/gb.qt.kde.html.info
+%{_datadir}/%{name}/info/gb.qt.kde.html.list
+
+%files gb-sdl
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/lib.gb.sdl.so*
+%{_libdir}/%{name}/lib.gb.sdl.component
+%{_datadir}/%{name}/info/gb.sdl.info
+%{_datadir}/%{name}/info/gb.sdl.list
+
+%files gb-vb
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/lib.gb.vb.so*
+%{_libdir}/%{name}/lib.gb.vb.component
+%{_datadir}/%{name}/info/gb.vb.info
+%{_datadir}/%{name}/info/gb.vb.list
+
+%files gb-xml
%defattr(644,root,root,755)
-%doc AUTHORS COPYING ChangeLog INSTALL README
-%attr(755,root,root) %{_bindir}/*
+%attr(755,root,root) %{_libdir}/%{name}/lib.gb.xml.libxml.*
+%{_datadir}/%{name}/info/gb.xml.libxml.*
-%post libs -p /sbin/ldconfig
+#%post libs -p /sbin/ldconfig
-%postun libs -p /sbin/ldconfig
+#%postun libs -p /sbin/ldconfig
#%post -n gambas-doc
#ln -s /usr/share/doc/%{name}-doc-%{version}/examples %{appdir}/