# # $Id$ # # --------------------------------------------------------------- # Copyright 2003 Przemyslaw Czerpak , # Dave Pearson # Harbour RPM spec file # # See doc/license.txt for licensing terms. # --------------------------------------------------------------- ###################################################################### # Conditional build: # --with static - link all binaries with static libs # --with mysql - build hbmysql lib and sddmy for sqlrdd # --with pgsql - build hbpgsql lib and sddpg for sqlrdd # --with fbsql - build hbfbird lib and sddfb for sqlrdd # --with gd - build hbgd lib # --with allegro - build GTALLEG - Allegro based GT driver # --with ads - build rddads RDD # --with odbc - build hbodbc lib # --with curl - build hbcurl lib # --with libharu - build hbhpdf lib # --without nf - do not build nanforum lib # --without gpllib - do not build libs which needs GPL 3-rd party code # --without x11 - do not build GTXWC # --without gpm - build GTTRM, GTSLN and GTCRS without GPM support # --without gtcrs - do not build GTCRS # --without gtsln - do not build GTSLN ###################################################################### ###################################################################### ## Definitions. ###################################################################### # please add your distro suffix if it not belong to the one recognized below # and remember that order checking can be important %define platform %(release=$(rpm -q --queryformat='%{VERSION}' mandriva-release-common 2>/dev/null) && echo "mdv$release"|tr -d ".") %if "%{platform}" == "" %define platform %(release=$(rpm -q --queryformat='%{VERSION}' mandrake-release 2>/dev/null) && echo "mdk$release"|tr -d ".") %if "%{platform}" == "" %define platform %(release=$(rpm -q --queryformat='%{VERSION}' redhat-release 2>/dev/null) && echo "rh$release"|tr -d ".") %if "%{platform}" == "" %define platform %(release=$(rpm -q --queryformat='%{VERSION}' fedora-release 2>/dev/null) && echo "fc$release"|tr -d ".") %if "%{platform}" == "" %define platform %(release=$(rpm -q --queryformat='%{VERSION}' suse-release 2>/dev/null) && echo "sus$release"|tr -d ".") %if "%{platform}" == "" %define platform %(release=$(rpm -q --queryformat='%{VERSION}' openSUSE-release 2>/dev/null) && echo "sus$release"|tr -d ".") %if "%{platform}" == "" %define platform %(release=$(rpm -q --queryformat='%{VERSION}' conectiva-release 2>/dev/null) && echo "cl$release"|tr -d ".") %if "%{platform}" == "" %define platform %(release=$(rpm -q --queryformat='%{VERSION}' aurox-release 2>/dev/null) && echo "aur$release"|tr -d ".") %if "%{platform}" == "" %define platform %([ -f /etc/pld-release ] && cat /etc/pld-release|sed -e '/1/ !d' -e 's/[^0-9]//g' -e 's/^/pld/') %endif %endif %endif %endif %endif %endif %endif %endif %define name harbour %define dname Harbour %define version 1.1.0 %define releasen dev %define hb_pref hb %define hb_arch export HB_ARCHITECTURE=linux %define hb_cc export HB_COMPILER=gcc %define hb_cflag export HB_USER_CFLAGS="-DHB_FM_STATISTICS_OFF" %define hb_lflag export HB_USER_LDFLAGS="${CC_HB_USER_LDFLAGS} %{?_with_static:-static}" %define hb_gpm export HB_GPM_MOUSE=%{!?_without_gpm:yes} %define hb_crs export HB_WITHOUT_GTCRS=%{?_without_gtcrs:yes} %define hb_sln export HB_WITHOUT_GTSLN=%{?_without_gtsln:yes} %define hb_x11 export HB_WITHOUT_X11=%{?_without_x11:yes} %define hb_bdir export HB_BIN_INSTALL=%{_bindir} %define hb_idir export HB_INC_INSTALL=%{_includedir}/%{name} %define hb_ldir export HB_LIB_INSTALL=%{_libdir}/%{name} %define hb_cmrc export HB_COMMERCE=%{?_without_gpllib:yes} %define hb_ctrb export HB_CONTRIBLIBS="hbbmcdx hbbtree hbclipsm hbct hbgt hbmisc hbmsql hbmzip hbsqlit3 hbtip hbtpathy hbvpdf hbziparc xhb rddsql %{!?_without_nf:hbnf} %{?_with_odbc:hbodbc} %{?_with_curl:hbcurl} %{?_with_libharu:hbhpdf} %{?_with_ads:rddads} %{?_with_gd:hbgd} %{?_with_pgsql:hbpgsql} %{?_with_mysql:hbmysql} %{?_with_fbsql:hbfbird} %{?_with_allegro:gtalleg}" %define hb_env %{hb_arch} ; %{hb_cc} ; %{hb_cflag} ; %{hb_lflag} ; %{hb_gpm} ; %{hb_crs} ; %{hb_sln} ; %{hb_x11} ; %{hb_bdir} ; %{hb_idir} ; %{hb_ldir} ; %{hb_ctrb} ; %{hb_cmrc} %define hb_host www.harbour-project.org %define readme README.RPM ###################################################################### ## Preamble. ###################################################################### Summary: Free software Clipper compatible compiler Summary(pl): Darmowy kompilator kompatybilny z jêzykiem Clipper. Summary(pt_BR): Um compilador Clipper compativel Gratis Summary(ru): ó×ÏÂÏÄÎÙÊ ËÏÍÐÉÌÑÔÏÒ, ÓÏ×ÍÅÓÔÉÍÙÊ Ó ÑÚÙËÏÍ Clipper. Summary(hu): Szabad szoftver Clipper kompatibilis fordító Name: %{name} Version: %{version} Release: %{releasen}%{platform} License: GPL (plus exception) Group: Development/Languages Vendor: %{hb_host} URL: http://%{hb_host}/ Source: %{name}-%{version}.src.tar.gz Packager: Przemys³aw Czerpak Luiz Rafael Culik Guimaraes BuildPrereq: gcc binutils bash %{!?_without_gtcrs: ncurses-devel} %{!?_without_gpm: gpm-devel} Requires: gcc binutils bash sh-utils %{name}-lib = %{?epoch:%{epoch}:}%{version}-%{release} Provides: %{name} harbour BuildRoot: /tmp/%{name}-%{version}-root %define _noautoreq 'libharbour.*' %description %{dname} is a CA-Cl*pper compatible compiler for multiple platforms. This package includes a compiler, pre-processor, header files, virtual machine and documentation. See README.RPM in the documentation directory for information specific to this RPM distribution. %description -l pl %{dname} to kompatybilny z jêzykiem CA-Cl*pper kompilator rozwijany na wielu ró¿nych platformach. Ten pakiet zawiera kompilator, preprocesor, zbiory nag³ówkowe, wirtualn+ maszynê oraz dokumentacjê. %description -l pt_BR %{dname} é um compilador Clipper compativel para multiplas plataformas. Esse pacote contem um compilador, um pré-processador, arquivos de cabeçalho uma maquina virtual e documentação. %description -l ru %{dname} - ÍÎÏÇÏÐÌÁÔÆÏÒÍÅÎÎÙÊ ËÏÍÐÉÌÑÔÏÒ, ÓÏ×ÍÅÓÔÉÍÙÊ Ó ÑÚÙËÏÍ CA-Cl*pper. üÔÏÔ ÐÁËÅÔ ÓÏÄÅÒÖÉÔ ËÏÍÐÉÌÑÔÏÒ, ÐÒÅÐÒÏÃÅÓÓÏÒ, ÆÁÊÌÙ ÚÁÇÏÌÏ×ËÏ×, ×ÉÒÔÕÁÌØÎÕÀ ÍÁÛÉÎÕ É ÄÏËÕÍÅÎÔÁÃÉÀ. %description -l hu %{dname} egy több platformon is mûködõ CA-Cl*pper kompatibilis fordítóprogram. A csomag része a fordító maga, az elõfordító, fejléc állományok, a virtuális gép és függvénykönyvtárak, valamint a dokumentáció. ###################################################################### ## main shared lib ###################################################################### %package lib Summary: Shared runtime libaries for %{dname} compiler Summary(pl): Dzielone bilioteki dla kompilatora %{dname} Summary(ru): óÏ×ÍÅÓÔÎÏ ÉÓÐÏÌØÚÕÅÍÙÅ ÂÉÂÌÉÏÔÅËÉ ÄÌÑ ËÏÍÐÉÌÑÔÏÒÁ %{dname} Summary(hu): Megosztott könyvtárak a(z) %{dname} fordítóhoz Group: Development/Languages Provides: lib%{name}.so lib%{name}mt.so %description lib %{dname} is a Clipper compatible compiler. This package provides %{dname} runtime shared libraries for programs linked dynamically. %description -l pl lib %{dname} to kompatybilny z jêzykiem CA-Cl*pper kompilator. Ten pakiet udostêpnia dzielone bilioteki kompilatora %{dname} dla programów konsolidowanych dynamicznie. %description -l pt_BR lib %{dname} é um compilador compativel com o Clipper. Esse pacote %{dname} provem as bibliotecas compartilhadas para programas linkados dinamicamente. %description -l ru lib %{dname} - ËÏÍÐÉÌÑÔÏÒ, ÓÏ×ÍÅÓÔÉÍÙÊ Ó ÑÚÙËÏÍ CA-Cl*pper. üÔÏÔ ÐÁËÅÔ ÓÏÄÅÒÖÉÔ ÓÏ×ÍÅÓÔÎÏ ÉÓÐÏÌØÚÕÅÍÙÅ ÂÉÂÌÉÏÔÅËÉ %{dname}, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÒÁÂÏÔÙ ÄÉÎÁÍÉÞÅÓËÉ ÓËÏÍÐÏÎÏ×ÁÎÎÙÈ ÐÒÏÇÒÁÍÍ. %description -l hu lib A(z) %{dname} egy Clipper kompatibilis fordítóprogram. Ez a csomag biztosítja a dinamikusan szerkesztett %{dname} programokhoz szükséges megosztott (dinamikus) futtatókönyvtárakat. ###################################################################### ## static libs ###################################################################### %package static Summary: Static runtime libaries for %{dname} compiler Summary(pl): Statyczne bilioteki dla kompilatora %{dname} Summary(ru): óÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ ÄÌÑ ËÏÍÐÉÌÑÔÏÒÁ %{dname} Summary(hu): Statikus könyvtárak a(z) %{dname} fordítóhoz Group: Development/Languages Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} %description static %{dname} is a Clipper compatible compiler. This package provides %{dname} static runtime libraries for static program linking. %description -l pl static %{dname} to kompatybilny z jêzykiem CA-Cl*pper kompilator. Ten pakiet udostêpnia statyczne bilioteki dla kompilatora %{dname} niezbêdne do statycznej konsolidacji programów. %description -l pt_BR static %{dname} é um compilador compativel com o clippe. Esse pacote %{dname} provem as bibliotecas de run time staticas para linkagem dos os programas %description -l ru static %{dname} - ËÏÍÐÉÌÑÔÏÒ, ÓÏ×ÍÅÓÔÉÍÙÊ Ó ÑÚÙËÏÍ CA-Cl*pper. üÔÏÔ ÐÁËÅÔ ÓÏÄÅÒÖÉÔ ÓÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ ËÏÍÐÉÌÑÔÏÒÁ %{dname}, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÓÔÁÔÉÞÅÓËÏÊ ËÏÍÐÏÎÏ×ËÉ ÐÒÏÇÒÁÍÍ. %description -l hu lib A(z) %{dname} egy Clipper kompatibilis fordítóprogram. Ez a csomag biztosítja a statikusan szerkesztett %{dname} programokhoz szükséges statikus futtatókönyvtárakat. %package contrib Summary: Contrib runtime libaries for %{dname} compiler Summary(pl): Bilioteki z drzewa contrib dla kompilatora %{dname} Summary(pt_BR): Libs contrib para %{dname} Summary(ru): âÉÂÌÉÏÔÅËÉ ÉÚ ÄÅÒÅ×Á contrib ÄÌÑ ËÏÍÐÉÌÑÔÏÒÁ %{dname} Summary(hu): Kiegészítõ könyvtárak a(z) %{dname} fordítóhoz Group: Development/Languages Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} %description contrib %{dname} is a Clipper compatible compiler. This package provides %{dname} contrib libraries for program linking. %description -l pl contrib %{dname} to kompatybilny z jêzykiem CA-Cl*pper kompilator. Ten pakiet udostêpnia statyczne bilioteki z drzewa contrib dla kompilatora %{dname}. %description -l pt_BR contrib %{dname} é um compilador compativel com o clippe. Esse pacote %{dname} provem as bibliotecas contrib para linkagem dos programas. %description -l ru contrib %{dname} - ËÏÍÐÉÌÑÔÏÒ, ÓÏ×ÍÅÓÔÉÍÙÊ Ó ÑÚÙËÏÍ CA-Cl*pper. üÔÏÔ ÐÁËÅÔ ÓÏÄÅÒÖÉÔ ÓÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ %{dname} ÉÚ ÄÅÒÅ×Á contrib. %description -l hu lib A(z) %{dname} egy Clipper kompatibilis fordítóprogram. Ez a csomag kiegészítõ (contrib) könyvtárakat biztosít statikus szerkesztéshez. ## odbc library %{?_with_odbc:%package odbc} %{?_with_odbc:Summary: ODBC libarary for %{dname} compiler} %{?_with_odbc:Summary(pl): Bilioteka ODBC dla kompilatora %{dname}} %{?_with_odbc:Group: Development/Languages} %{?_with_odbc:Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}} %{?_with_odbc:%description odbc} %{?_with_odbc:%{dname} is a Clipper compatible compiler.} %{?_with_odbc:This package provides %{dname} ODBC library for program linking.} %{?_with_odbc:%description -l pl odbc} %{?_with_odbc:%{dname} to kompatybilny z jêzykiem CA-Cl*pper kompilator.} %{?_with_odbc:Ten pakiet udostêpnia statyczn+ biliotekê ODBC dla kompilatora %{dname}.} ## CURL library %{?_with_curl:%package curl} %{?_with_curl:Summary: CURL libarary for %{dname} compiler} %{?_with_curl:Summary(pl): Bilioteka CURL dla kompilatora %{dname}} %{?_with_curl:Group: Development/Languages} %{?_with_curl:Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}} %{?_with_curl:%description curl} %{?_with_curl:%{dname} is a Clipper compatible compiler.} %{?_with_curl:This package provides %{dname} CURL library for program linking.} %{?_with_curl:%description -l pl curl} %{?_with_curl:%{dname} to kompatybilny z jêzykiem CA-Cl*pper kompilator.} %{?_with_curl:Ten pakiet udostêpnia statyczn+ biliotekê CURL dla kompilatora %{dname}.} ## libharu library %{?_with_libharu:%package libharu} %{?_with_libharu:Summary: hbhpdf libarary for %{dname} compiler} %{?_with_libharu:Summary(pl): Bilioteka hbhpdf dla kompilatora %{dname}} %{?_with_libharu:Group: Development/Languages} %{?_with_libharu:Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}} %{?_with_libharu:%description libharu} %{?_with_libharu:%{dname} is a Clipper compatible compiler.} %{?_with_libharu:This package provides %{dname} hbhpdf library for program linking.} %{?_with_libharu:%description -l pl libharu} %{?_with_libharu:%{dname} to kompatybilny z jêzykiem CA-Cl*pper kompilator.} %{?_with_libharu:Ten pakiet udostêpnia statyczn+ biliotekê hbhpdf dla kompilatora %{dname}.} ## ADS RDD %{?_with_ads:%package ads} %{?_with_ads:Summary: ADS RDDs for %{dname} compiler} %{?_with_ads:Summary(pl): Bilioteka sterowników (RDDs) ADS dla kompilatora %{dname}} %{?_with_ads:Group: Development/Languages} %{?_with_ads:Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}} %{?_with_ads:%description ads} %{?_with_ads:%{dname} is a Clipper compatible compiler.} %{?_with_ads:This package provides %{dname} ADS RDDs for program linking.} %{?_with_ads:%description -l pl ads} %{?_with_ads:%{dname} to kompatybilny z jêzykiem CA-Cl*pper kompilator.} %{?_with_ads:Ten pakiet udostêpnia sterowniki (RDD) ADS dla kompilatora %{dname}.} ## mysql library %{?_with_mysql:%package mysql} %{?_with_mysql:Summary: MYSQL libarary for %{dname} compiler} %{?_with_mysql:Summary(pl): Bilioteka MYSQL dla kompilatora %{dname}} %{?_with_mysql:Group: Development/Languages} %{?_with_mysql:Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}} %{?_with_mysql:%description mysql} %{?_with_mysql:%{dname} is a Clipper compatible compiler.} %{?_with_mysql:This package provides %{dname} MYSQL library for program linking.} %{?_with_mysql:%description -l pl mysql} %{?_with_mysql:%{dname} to kompatybilny z jêzykiem CA-Cl*pper kompilator.} %{?_with_mysql:Ten pakiet udostêpnia statyczn+ biliotekê MYSQL dla kompilatora %{dname}.} ## pgsql library %{?_with_pgsql:%package pgsql} %{?_with_pgsql:Summary: PGSQL libarary for %{dname} compiler} %{?_with_pgsql:Summary(pl): Bilioteka PGSQL dla kompilatora %{dname}} %{?_with_pgsql:Group: Development/Languages} %{?_with_pgsql:Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}} %{?_with_pgsql:%description pgsql} %{?_with_pgsql:%{dname} is a Clipper compatible compiler.} %{?_with_pgsql:This package provides %{dname} PGSQL library for program linking.} %{?_with_pgsql:%description -l pl pgsql} %{?_with_pgsql:%{dname} to kompatybilny z jêzykiem CA-Cl*pper kompilator.} %{?_with_pgsql:Ten pakiet udostêpnia statyczn+ biliotekê PGSQL dla kompilatora %{dname}.} ## fbird library %{?_with_fbsql:%package fbird} %{?_with_fbsql:Summary: FireBird libarary for %{dname} compiler} %{?_with_fbsql:Summary(pl): Bilioteka FireBird dla kompilatora %{dname}} %{?_with_fbsql:Group: Development/Languages} %{?_with_fbsql:Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}} %{?_with_fbsql:%description fbird} %{?_with_fbsql:%{dname} is a Clipper compatible compiler.} %{?_with_fbsql:This package provides %{dname} FireBird library for program linking.} %{?_with_fbsql:%description -l pl fbird} %{?_with_fbsql:%{dname} to kompatybilny z jêzykiem CA-Cl*pper kompilator.} %{?_with_fbsql:Ten pakiet udostêpnia statyczn+ biliotekê FireBird dla kompilatora %{dname}.} ## gd library %{?_with_gd:%package gd} %{?_with_gd:Summary: GD libarary for %{dname} compiler} %{?_with_gd:Summary(pl): Bilioteka GD dla kompilatora %{dname}} %{?_with_gd:Group: Development/Languages} %{?_with_gd:Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}} %{?_with_gd:%description gd} %{?_with_gd:%{dname} is a Clipper compatible compiler.} %{?_with_gd:This package provides %{dname} GD library for program linking.} %{?_with_gd:%description -l pl gd} %{?_with_gd:%{dname} to kompatybilny z jêzykiem CA-Cl*pper kompilator.} %{?_with_gd:Ten pakiet udostêpnia statyczn+ biliotekê GD dla kompilatora %{dname}.} ###################################################################### ## Preperation. ###################################################################### %prep %setup -c %{name} rm -rf $RPM_BUILD_ROOT ###################################################################### ## Build. ###################################################################### %build %{hb_env} case "`uname -m`" in *[_@]64) export HB_USER_CFLAGS="$HB_USER_CFLAGS -fPIC" ;; esac make ###################################################################### ## Install. ###################################################################### %install # Install harbour itself. %{hb_env} case "`uname -m`" in *[_@]64) export HB_USER_CFLAGS="$HB_USER_CFLAGS -fPIC" ;; esac export _DEFAULT_BIN_DIR=$HB_BIN_INSTALL export _DEFAULT_INC_DIR=$HB_INC_INSTALL export _DEFAULT_LIB_DIR=$HB_LIB_INSTALL export HB_BIN_INSTALL=$RPM_BUILD_ROOT/$HB_BIN_INSTALL export HB_INC_INSTALL=$RPM_BUILD_ROOT/$HB_INC_INSTALL export HB_LIB_INSTALL=$RPM_BUILD_ROOT/$HB_LIB_INSTALL mkdir -p $HB_BIN_INSTALL mkdir -p $HB_INC_INSTALL mkdir -p $HB_LIB_INSTALL make -i install [ "%{?_with_allegro:1}" ] || rm -f $HB_LIB_INSTALL/libgtalleg.a [ "%{?_without_gtcrs:1}" ] && rm -f $HB_LIB_INSTALL/libgtcrs.a [ "%{?_without_gtsln:1}" ] && rm -f $HB_LIB_INSTALL/libgtsln.a # Keep the size of the binaries to a minimim. strip $HB_BIN_INSTALL/harbour # Keep the size of the libraries to a minimim. strip --strip-debug $HB_LIB_INSTALL/* mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1 install -m644 doc/man/*.1* $RPM_BUILD_ROOT%{_mandir}/man1/ mkdir -p $RPM_BUILD_ROOT/etc/harbour install -m644 source/rtl/gtcrs/hb-charmap.def $RPM_BUILD_ROOT/etc/harbour/hb-charmap.def cat > $RPM_BUILD_ROOT/etc/harbour.cfg < doc/%{readme} < # output file name -static # link with static %{dname} libs -fullstatic # link with all static libs -shared # link with shared libs (default) -mt # link with multi-thread libs -gt # link with GT driver, can be repeated to # link with more GTs. The first one will be # the default at runtime -xbgtk # link with xbgtk library (xBase GTK+ interface) -hwgui # link with HWGUI library (GTK+ interface) -l # link with library -L # additional path to search for libraries -fmstat # link with the memory statistics lib -nofmstat # do not link with the memory statistics lib (default) -[no]strip # strip (no strip) binaries -main= # set the name of main program function/procedure. # if not set then 'MAIN' is used or if it doesn't # exist the name of first public function/procedure # in first linked object module (link) Link options work only with "%{hb_pref}lnk" and "%{hb_pref}mk" and have no effect in "%{hb_pref}cc" and "%{hb_pref}cmp". Other options are passed to %{dname}/C compiler/linker. An example compile/link session looks like: ---------------------------------------------------------------------- druzus@uran:~/tmp$ cat foo.prg function main() ? "Hello, World!" return nil druzus@uran:~/tmp$ %{hb_pref}cmp foo Harbour 1.0.0 Intl. (Rev. 9099) Copyright (c) 1999-2008, http://www.harbour-project.org/ Compiling 'foo.prg'... Lines 5, Functions/Procedures 2 Generating C source output to 'foo.c'... Done. druzus@uran:~/tmp$ %{hb_pref}lnk foo.o druzus@uran:~/tmp$ strip foo druzus@uran:~/tmp$ ls -l foo -rwxrwxr-x 1 druzus druzus 3824 maj 17 02:46 foo ---------------------------------------------------------------------- or using %{hb_pref}mk only: ---------------------------------------------------------------------- druzus@uran:~/tmp$ cat foo.prg function main() ? "Hello, World!" return nil druzus@uran:~/tmp$ %{hb_pref}mk foo Harbour 1.0.0 Intl. (Rev. 9099) Copyright (c) 1999-2008, http://www.harbour-project.org/ Compiling 'foo.prg'... Lines 5, Functions/Procedures 2 Generating C source output to 'foo.c'... Done. druzus@uran:~/tmp$ ls -l foo -rwxrwxr-x 1 druzus druzus 3824 maj 17 02:46 foo ---------------------------------------------------------------------- In this RPM you will find additional wonderful tools: /usr/bin/hbrun You can run clipper/xbase compatible source files with it if you only put in their first line: #!/usr/bin/hbrun For example: ---------------------------------------------------------------------- druzus@uran:~/tmp$ cat foo.prg #!/usr/bin/hbrun function main() ? "Hello, World!, This is a script !!! :-)" ? return nil druzus@uran:~/tmp$ chmod +x foo.prg druzus@uran:~/tmp$ ./foo.prg Hello, World!, This is a script !!! :-) I hope this RPM is useful. Have fun with %{dname}. Many thanks to Dave Pearson Przemyslaw Czerpak EOF ###################################################################### ## Post install ###################################################################### #%post lib #/sbin/ldconfig ###################################################################### ## Post uninstall ###################################################################### #%postun lib #/sbin/ldconfig ###################################################################### ## Clean. ###################################################################### %clean rm -rf $RPM_BUILD_ROOT ###################################################################### ## File list. ###################################################################### %files %defattr(-,root,root,755) %doc ChangeLog* %doc doc/*.txt %doc doc/%{readme} %doc doc/en/ %doc doc/es/ %dir /etc/harbour %verify(not md5 mtime) %config /etc/harbour.cfg %verify(not md5 mtime) %config /etc/harbour/hb-charmap.def %{_bindir}/harbour %{_bindir}/hbpp %{_bindir}/hb-mkdyn %{_bindir}/hb-mkslib %{_bindir}/%{hb_pref}-build %{_bindir}/%{hb_pref}cc %{_bindir}/%{hb_pref}cmp %{_bindir}/%{hb_pref}lnk %{_bindir}/%{hb_pref}mk #%{_bindir}/hbtest %{_bindir}/hbrun %{_bindir}/hbi18n %{_bindir}/hbmk.cfg %{_bindir}/hbmk2 %{_mandir}/man1/*.1* %dir %{_includedir}/%{name} %attr(644,root,root) %{_includedir}/%{name}/* %files static %defattr(644,root,root,755) %dir %{_libdir}/%{name} %{_libdir}/%{name}/libhbcpage.a %{_libdir}/%{name}/libhbcommon.a %{_libdir}/%{name}/libhbcplr.a %{_libdir}/%{name}/libhbdebug.a %{_libdir}/%{name}/libhbfm.a %{_libdir}/%{name}/libhbfmmt.a %{_libdir}/%{name}/librddfpt.a %{_libdir}/%{name}/librddcdx.a %{_libdir}/%{name}/librddntx.a %{_libdir}/%{name}/librddnsx.a %{_libdir}/%{name}/libgt*.a %{_libdir}/%{name}/libhblang.a %{_libdir}/%{name}/libhbmacro.a %{_libdir}/%{name}/libhbpcre.a %{_libdir}/%{name}/libhbzlib.a %{_libdir}/%{name}/libhbextern.a %{_libdir}/%{name}/libhbnulrdd.a %{_libdir}/%{name}/libhbpp.a %{_libdir}/%{name}/libhbrdd.a %{_libdir}/%{name}/libhbhsx.a %{_libdir}/%{name}/libhbsix.a %{_libdir}/%{name}/libhbrtl.a %{_libdir}/%{name}/libhbvm.a %{_libdir}/%{name}/libhbvmmt.a %{_libdir}/%{name}/libhbusrrdd.a %{_libdir}/%{name}/libhbuddall.a %files contrib %defattr(644,root,root,755) %dir %{_libdir}/%{name} %{!?_without_nf: %{_libdir}/%{name}/libhbnf.a} %{_libdir}/%{name}/libhbbtree.a %{_libdir}/%{name}/libhbmisc.a %{_libdir}/%{name}/libhbmzip.a %{_libdir}/%{name}/libhbct.a %{_libdir}/%{name}/libhbtip.a %{_libdir}/%{name}/libxhb.a %{_libdir}/%{name}/libhbvpdf.a %{_libdir}/%{name}/libhbgt.a %{_libdir}/%{name}/libhbbmcdx.a %{_libdir}/%{name}/libhbclipsm.a %{_libdir}/%{name}/librddsql.a %{_libdir}/%{name}/libhbmsql.a %{_libdir}/%{name}/libhbsqlit3.a %{_libdir}/%{name}/libhbtpathy.a %{_libdir}/%{name}/libhbziparc.a %files lib %defattr(755,root,root,755) %dir %{_libdir}/%{name} %{_libdir}/%{name}/*.so %{_libdir}/*.so %{?_with_odbc:%files odbc} %{?_with_odbc:%defattr(644,root,root,755)} %{?_with_odbc:%dir %{_libdir}/%{name}} %{?_with_odbc:%{_libdir}/%{name}/libhbodbc.a} %{?_with_curl:%files curl} %{?_with_curl:%defattr(644,root,root,755)} %{?_with_curl:%dir %{_libdir}/%{name}} %{?_with_curl:%{_libdir}/%{name}/libhbcurl.a} %{?_with_libharu:%files libharu} %{?_with_libharu:%defattr(644,root,root,755)} %{?_with_libharu:%dir %{_libdir}/%{name}} %{?_with_libharu:%{_libdir}/%{name}/libhbhpdf.a} %{?_with_ads:%files ads} %{?_with_ads:%defattr(644,root,root,755)} %{?_with_ads:%dir %{_libdir}/%{name}} %{?_with_ads:%{_libdir}/%{name}/librddads.a} %{?_with_mysql:%files mysql} %{?_with_mysql:%defattr(644,root,root,755)} %{?_with_mysql:%dir %{_libdir}/%{name}} %{?_with_mysql:%{_libdir}/%{name}/libhbmysql.a} %{?_with_mysql:%{_libdir}/%{name}/libsddmy.a} %{?_with_pgsql:%files pgsql} %{?_with_pgsql:%defattr(644,root,root,755)} %{?_with_pgsql:%dir %{_libdir}/%{name}} %{?_with_pgsql:%{_libdir}/%{name}/libhbpgsql.a} %{?_with_pgsql:%{_libdir}/%{name}/libsddpg.a} %{?_with_fbsql:%files fbird} %{?_with_fbsql:%defattr(644,root,root,755)} %{?_with_fbsql:%dir %{_libdir}/%{name}} %{?_with_fbsql:%{_libdir}/%{name}/libhbfbird.a} %{?_with_fbsql:%{_libdir}/%{name}/libsddfb.a} %{?_with_gd:%files gd} %{?_with_gd:%defattr(644,root,root,755)} %{?_with_gd:%dir %{_libdir}/%{name}} %{?_with_gd:%{_libdir}/%{name}/libhbgd.a} ###################################################################### ## Spec file Changelog. ###################################################################### %changelog * Thu Aug 05 2008 Viktor Szakats (harbour.01 syenar hu) - removed hbdot, hbverfix, hbpptest - hbrun now fully replaces hbdot. * Thu Aug 23 2007 Przemyslaw Czerpak + added hbdot - removed PP package * Fri Mar 23 2005 Przemyslaw Czerpak - removed bison and flex from dependences list * Sat Aug 09 2003 Przemyslaw Czerpak - removed ${RPM_OPT_FLAGS} from HB_USER_CFLAGS * Wed Jul 23 2003 Przemyslaw Czerpak - fixed file (user and group) owner for RPMs builded from non root account - shared lib names changed from [x]harbour{mt,}.so to [x]harbour{mt,}-.so and soft links with short names created - 0.82 version set * Wed Apr 30 2003 Przemyslaw Czerpak - new tool "%{hb_pref}-build" (%{hb_pref}cmp, %{hb_pref}lnk, %{hb_pref}mk) added - compiler/linker wrapper. - new tool "hb-mkslib" (build shared libraries from static ones and object files). - shared libraries added. - binary package divided. * Fri Mar 08 2002 Dave Pearson - Fixed gharbour so that it should work no matter the case of the name of the PRG file. * Wed Feb 13 2002 Dave Pearson - Fixed a bug in harbour-link which meant that, since the environment changes of Jan 17 2002, users could not specify which GT library they wanted their application linked against. * Tue Jan 22 2002 Dave Pearson - Used the "name" macro a lot more, especially in some paths. * Thu Jan 17 2002 Dave Pearson - Removed the use of the /etc/profile.d scripts for setting the harbour environment variables. The settings are now placed directly in gharbour and harbour-link. This means that this .spec file should be more useful on RPM using platforms other than RedHat. * Wed Dec 19 2001 Dave Pearson - Added a platform ID to the name of the RPM. * Mon Dec 17 2001 Dave Pearson - todo.txt is now called TODO. * Tue Aug 21 2001 Dave Pearson - Added todo.txt as a doc file. * Sun Jul 22 2001 Dave Pearson - harbour-link now fully respects the setting of $HB_GT_LIB. - HB_GT_LIB wasn't set in the csh startup script. Fixed. * Fri Jul 20 2001 Dave Pearson - Added the setting of $HB_GT_LIB to the environment (ncurses is used). - Added support for installing hbmake. * Mon Jun 28 2001 Dave Pearson - Changed the gharbour script so that it only invokes the C compiler if a C file was output. This stops any error messages when someone is using the -g option to output other target types. * Mon Mar 19 2001 Dave Pearson - Reinstated hbrun in the files section. * Tue Feb 20 2001 Dave Pearson - Added README.RPM to the documentation directory. * Sat Jan 06 2001 Dave Pearson - The gharbour script now passes the harbour include directory, using -I, to harbour. * Thu Aug 24 2000 Dave Pearson - Changed the files section so that hbrun doesn't get installed. It isn't useful on GNU/Linux systems. * Tue Aug 22 2000 Dave Pearson - Changed the 'egcs' requirement to 'gcc'. * Mon Aug 21 2000 Przemyslaw Czerpak - Polish translation added - BuildRoot marco added. Now you can build the package from normal user account. - bison and flex added to BuildPrereq list - Debug information is stripped from installed files. * Wed Aug 02 2000 Dave Pearson - Removed hbtest from the list of files installed into the bin directory. - Added 'bash' and 'sh-utils' to the list of required packages. * Tue Aug 01 2000 Dave Pearson - Added harbour environment scripts to /etc/profile.d. - Added generation of gharbour and harbour-link commands. * Mon Jul 31 2000 Dave Pearson - Re-worked the layout of the spec file to make it cleaner and easier to read and maintain. - The latest harbour ChangeLog is now installed into the RPM's doc directory. - The content of the RPM's doc directory reflects the layout and content of the harbour source's doc directory.