diff --git a/harbour/ChangeLog b/harbour/ChangeLog index a11bfd3584..2f0fc3cbbe 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,33 @@ The license applies to all entries newer than 2009-04-28. */ +2010-07-28 22:38 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * package/harbour-win.spec + * package/harbour-wce.spec + * package/harbour.spec + - Deleted package properties not recommended by RPM docs. + + Added RPM doc references. + - Deleted commented lines. + % Optimized out seemingly unused temp envvars. (I didn't retest) + + * package/winuni/mpkg_win_uni.nsi + + Added bin/*.hbs files. + + * config/postinst.hbs + - Deleted mandrake distro autodetection. + + * contrib/hbide/idestylesheets.prg + + Disabled all UI customizations when "animations" is not enabled. + This makes the UI to look like on normal system UI on all supported + OSes (IOW it now looks like a standard application), it fixes + most reported visual irreguralitites on Linux. + Maybe multiple levels of UI customizations are required, anyway + totally off should always stay an option and only those configs + should be presented on a given platform which were actually tested + on that given platform. + It didn't fix the bugs in highlight position calculation, which + is off on Linux (latest Ubuntu) by almost a line in some occasions. + 2010-07-28 19:16 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * package/harbour.spec ! Deleted hbbz2 from lib list. It was not added to contrib list. diff --git a/harbour/config/postinst.hbs b/harbour/config/postinst.hbs index 63082556fd..5b30edb34f 100644 --- a/harbour/config/postinst.hbs +++ b/harbour/config/postinst.hbs @@ -524,7 +524,6 @@ STATIC FUNCTION unix_name() CASE GetEnv( "HB_PLATFORM" ) == "win" ; RETURN GetEnv( "HB_COMPILER" ) CASE ! Empty( tmp := query_rpm( "mandriva-release-One", "mdv" ) ) ; RETURN tmp CASE ! Empty( tmp := query_rpm( "mandriva-release" , "mdv" ) ) ; RETURN tmp - CASE ! Empty( tmp := query_rpm( "mandrake-release" , "mdk" ) ) ; RETURN tmp CASE ! Empty( tmp := query_rpm( "redhat-release" , "rh" ) ) ; RETURN tmp CASE ! Empty( tmp := query_rpm( "fedora-release" , "fc" ) ) ; RETURN tmp CASE ! Empty( tmp := query_rpm( "suse-release" , "sus" ) ) ; RETURN tmp diff --git a/harbour/contrib/hbide/idestylesheets.prg b/harbour/contrib/hbide/idestylesheets.prg index 9673a217af..784b92ebfd 100644 --- a/harbour/contrib/hbide/idestylesheets.prg +++ b/harbour/contrib/hbide/idestylesheets.prg @@ -81,17 +81,18 @@ FUNCTION hbide_setAppTheme( aTheme ) /*----------------------------------------------------------------------*/ FUNCTION GetStyleSheet( cWidget, nMode ) - LOCAL txt_:= {} - LOCAL s := "" - #if 0 - IF .t. - RETURN "" - ENDIF - #endif + LOCAL txt_ + LOCAL s + DEFAULT nMode TO HBIDE_ANIMATION_NONE - DO CASE + IF nMode == HBIDE_ANIMATION_NONE + RETURN "" + ENDIF + txt_:= {} + + DO CASE CASE cWidget == "QMenuPop" IF nMode == HBIDE_ANIMATION_GRADIENT aadd( txt_, 'QMenu { ' ) @@ -463,6 +464,8 @@ FUNCTION GetStyleSheet( cWidget, nMode ) ENDCASE + s := "" + aeval( txt_, {|e| s += trim( e ) + chr( 13 ) + chr( 10 ) } ) RETURN s diff --git a/harbour/package/harbour-wce.spec b/harbour/package/harbour-wce.spec index c44c025414..7234fd96e5 100644 --- a/harbour/package/harbour-wce.spec +++ b/harbour/package/harbour-wce.spec @@ -17,7 +17,6 @@ %define version 2.1.0 %define releasen beta2 %define hb_pref hbce -%define hb_host harbour-project.org # Workaround for the problem of /usr/bin/strip not handling PE binaries. %define hb_ccpath /opt/mingw32ce/bin @@ -36,10 +35,8 @@ Version: %{version} Release: %{releasen} License: GPL (plus exception) Group: Development/Languages -Vendor: %{hb_host} -URL: http://%{hb_host}/ +URL: http://harbour-project.org/ Source: harbour-%{version}.src.tar.gz -Packager: Przemysław Czerpak (druzus/at/priv.onet.pl) BuildPrereq: gcc binutils bash Requires: gcc binutils bash sh-utils cegcc-mingw32ce harbour = %{?epoch:%{epoch}:}%{version}-%{release} Provides: %{name} @@ -74,17 +71,17 @@ rm -fR $RPM_BUILD_ROOT %build -#export HB_BUILD_PARTS=compiler export HB_BUILD_CONTRIBS=no export HB_PLATFORM=linux export HB_COMPILER=gcc + make %{?_smp_mflags} + unset HB_COMPILER unset HB_BUILD_CONTRIBS export HB_BUILD_PARTS=lib export HB_PLATFORM=wce - export HB_BIN_COMPILE="$(pwd)/bin/linux/gcc" make %{?_smp_mflags} @@ -97,23 +94,15 @@ make %{?_smp_mflags} # Install harbour itself. -export HB_BUILD_PARTS=lib -export HB_PLATFORM=wce unset HB_COMPILER +export HB_BUILD_PARTS=lib +export HB_PLATFORM=wce export HB_BIN_COMPILE="$(pwd)/bin/linux/gcc" -export HB_BIN_INSTALL=%{_bindir} -export HB_INC_INSTALL=%{_includedir}/%{name} -export HB_LIB_INSTALL=%{_libdir}/%{name} -export HB_DYN_INSTALL=${HB_LIB_INSTALL} - -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 +export HB_BIN_INSTALL=$RPM_BUILD_ROOT/%{_bindir} +export HB_INC_INSTALL=$RPM_BUILD_ROOT/%{_includedir}/%{name} +export HB_LIB_INSTALL=$RPM_BUILD_ROOT/%{_libdir}/%{name} export HB_DYN_INSTALL=${HB_LIB_INSTALL} export HB_BUILD_STRIP=lib diff --git a/harbour/package/harbour-win.spec b/harbour/package/harbour-win.spec index 9822975eb5..9efdfeb5bd 100644 --- a/harbour/package/harbour-win.spec +++ b/harbour/package/harbour-win.spec @@ -17,7 +17,6 @@ %define version 2.1.0 %define releasen beta2 %define hb_pref hbw -%define hb_host harbour-project.org # Workaround for the problem of /usr/bin/strip not handling PE binaries. %define hb_ccpath /opt/xmingw/bin @@ -36,10 +35,8 @@ Version: %{version} Release: %{releasen} License: GPL (plus exception) Group: Development/Languages -Vendor: %{hb_host} -URL: http://%{hb_host}/ +URL: http://harbour-project.org/ Source: harbour-%{version}.src.tar.gz -Packager: Przemysław Czerpak (druzus/at/priv.onet.pl) BuildPrereq: gcc binutils bash Requires: gcc binutils bash sh-utils harbour = %{?epoch:%{epoch}:}%{version}-%{release} Provides: %{name} @@ -74,17 +71,17 @@ rm -fR $RPM_BUILD_ROOT %build -#export HB_BUILD_PARTS=compiler export HB_BUILD_CONTRIBS=no export HB_PLATFORM=linux export HB_COMPILER=gcc + make %{?_smp_mflags} + unset HB_COMPILER unset HB_BUILD_CONTRIBS export HB_BUILD_PARTS=lib export HB_PLATFORM=win - export HB_BIN_COMPILE="$(pwd)/bin/linux/gcc" make %{?_smp_mflags} @@ -97,23 +94,15 @@ make %{?_smp_mflags} # Install harbour itself. -export HB_BUILD_PARTS=lib -export HB_PLATFORM=win unset HB_COMPILER +export HB_BUILD_PARTS=lib +export HB_PLATFORM=win export HB_BIN_COMPILE="$(pwd)/bin/linux/gcc" -export HB_BIN_INSTALL=%{_bindir} -export HB_INC_INSTALL=%{_includedir}/%{name} -export HB_LIB_INSTALL=%{_libdir}/%{name} -export HB_DYN_INSTALL=${HB_LIB_INSTALL} - -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 +export HB_BIN_INSTALL=$RPM_BUILD_ROOT/%{_bindir} +export HB_INC_INSTALL=$RPM_BUILD_ROOT/%{_includedir}/%{name} +export HB_LIB_INSTALL=$RPM_BUILD_ROOT/%{_libdir}/%{name} export HB_DYN_INSTALL=${HB_LIB_INSTALL} export HB_BUILD_STRIP=lib diff --git a/harbour/package/harbour.spec b/harbour/package/harbour.spec index fa9c3f400c..138e7126f9 100644 --- a/harbour/package/harbour.spec +++ b/harbour/package/harbour.spec @@ -10,6 +10,18 @@ # See COPYING for licensing terms. # --------------------------------------------------------------- +# --------------------------------------------------------------- +# HOWTO .rpm docs: +# http://fedoraproject.org/wiki/PackageMaintainers/CreatingPackageHowTo +# http://www.gurulabs.com/downloads/GURULABS-RPM-LAB/GURULABS-RPM-GUIDE-v1.0.PDF +# --------------------------------------------------------------- + +# TOFIX: Contrib packages with dependencies will be packaged +# into separate .rpms, but their headers will be packaged +# into the core Harbour package. This f.e. makes it impossible +# to detect a Harbour contrib package by checking the existence +# of the header. [vszakats] + ###################################################################### ## Definitions. ###################################################################### @@ -19,9 +31,6 @@ %define platform %(release=$(rpm -q --queryformat='%{VERSION}' mandriva-release-common 2>/dev/null) && echo "mdv$release"|tr -d ".") %if "%{platform}" == "" -# DISCONTINUED -%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 ".") @@ -36,7 +45,6 @@ %endif %endif %endif -%endif %define hb_ldconf %([ -d /etc/ld.so.conf.d ] && echo /etc/ld.so.conf.d) @@ -61,10 +69,11 @@ %define hb_ldir export HB_LIB_INSTALL=${RPM_BUILD_ROOT}%{_libdir}/%{name} %define hb_edir export HB_ETC_INSTALL=${RPM_BUILD_ROOT}%{hb_etcdir} %define hb_mdir export HB_MAN_INSTALL=${RPM_BUILD_ROOT}%{_mandir} +%define hb_blds export HB_BUILD_STRIP=all +%define hb_bldsh export HB_BUILD_SHARED=%{!?_with_static:yes} %define hb_cmrc export HB_BUILD_NOGPLLIB=%{?_without_gpllib:yes} %define hb_ctrb export HB_BUILD_CONTRIBS="hbblink hbclipsm hbct hbgt hbmisc hbmzip hbnetio hbtip hbtpathy hbhpdf hbziparc hbfoxpro hbsms hbfship hbxpp xhb rddbmcdx rddsql sddsqlt3 hbnf %{?_with_allegro:gtalleg} %{?_with_cairo:hbcairo} %{?_with_cups:hbcups} %{?_with_curl:hbcurl} %{?_with_firebird:hbfbird sddfb} %{?_with_freeimage:hbfimage} %{?_with_gd:hbgd} %{?_with_mysql:hbmysql sddmy} %{?_with_odbc:hbodbc sddodbc} %{?_with_pgsql:hbpgsql sddpg} %{?_with_qt:hbqt hbxbp} %{?_with_ads:rddads}" -%define hb_env %{hb_plat} ; %{hb_cc} ; %{hb_cflag} ; %{hb_lflag} ; %{hb_dflag} ; %{shl_path} ; %{hb_gpm} ; %{hb_crs} ; %{hb_sln} ; %{hb_x11} ; %{hb_local} ; %{hb_bdir} ; %{hb_idir} ; %{hb_ldir} ; %{hb_edir} ; %{hb_mdir} ; %{hb_ctrb} ; %{hb_cmrc} -%define hb_host harbour-project.org +%define hb_env %{hb_plat} ; %{hb_cc} ; %{hb_cflag} ; %{hb_lflag} ; %{hb_dflag} ; %{shl_path} ; %{hb_gpm} ; %{hb_crs} ; %{hb_sln} ; %{hb_x11} ; %{hb_local} ; %{hb_bdir} ; %{hb_idir} ; %{hb_ldir} ; %{hb_edir} ; %{hb_mdir} ; %{hb_ctrb} ; %{hb_cmrc} ; %{hb_blds} ; %{hb_bldsh} ###################################################################### ## Preamble. ###################################################################### @@ -78,10 +87,8 @@ Version: %{version} Release: %{releasen}%{platform} License: GPL (plus exception) Group: Development/Languages -Vendor: %{hb_host} -URL: http://%{hb_host}/ +URL: http://harbour-project.org/ Source: %{name}-%{version}.src.tar.gz -Packager: Przemysław Czerpak Luiz Rafael Culik Guimaraes BuildPrereq: gcc binutils bash %{!?_without_curses: ncurses-devel} %{!?_without_gpm: gpm-devel} Requires: gcc binutils bash sh-utils %{name}-lib = %{?epoch:%{epoch}:}%{version}-%{release} Provides: %{name} harbour lib%{name}.so lib%{name}mt.so @@ -381,8 +388,6 @@ rm -rf $RPM_BUILD_ROOT %build %{hb_env} -export HB_BUILD_STRIP=all -export HB_BUILD_SHARED=%{!?_with_static:yes} make %{?_smp_mflags} @@ -390,15 +395,11 @@ make %{?_smp_mflags} ## Install. ###################################################################### -%install - # Install harbour itself. +%install %{hb_env} -export HB_BUILD_STRIP=all -export HB_BUILD_SHARED=%{!?_with_static:yes} - # necessary for shared linked hbrun used to execute postinst.hbs export LD_LIBRARY_PATH=$HB_LIB_INSTALL @@ -412,9 +413,6 @@ rm -f $HB_LIB_INSTALL/liblibhpdf.a rm -f $HB_LIB_INSTALL/libpng.a rm -f $HB_LIB_INSTALL/libsqlite3.a -# remove unused files -rm -f $HB_BIN_INSTALL/hbtest - ###################################################################### ## Post install ###################################################################### @@ -447,7 +445,7 @@ rm -rf $RPM_BUILD_ROOT %verify(not md5 mtime) %config %{hb_etcdir}/hb-charmap.def %{_bindir}/harbour %{_bindir}/hbpp -#%{_bindir}/hbtest +%{_bindir}/hbtest %{_bindir}/hbrun %{_bindir}/hbi18n %{_bindir}/hbformat diff --git a/harbour/package/winuni/mpkg_win_uni.nsi b/harbour/package/winuni/mpkg_win_uni.nsi index 949adef254..be18f9db02 100644 --- a/harbour/package/winuni/mpkg_win_uni.nsi +++ b/harbour/package/winuni/mpkg_win_uni.nsi @@ -107,6 +107,7 @@ Section "Main components" hb_main File "$%HB_ROOT%hb21\bin\hbtest.exe" File "$%HB_ROOT%hb21\bin\hbformat.exe" File "$%HB_ROOT%hb21\bin\hbnetio.exe" + File "$%HB_ROOT%hb21\bin\*.hbs" File /nonfatal "$%HB_ROOT%hb21\bin\hbmk.hbc" File "$%HB_ROOT%hb21\bin\upx*.*"