From 5a39af2d43a6c9cdc873d396d1f1b1fc5b14a6ce Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Wed, 28 Jul 2010 20:40:24 +0000 Subject: [PATCH] 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. --- harbour/ChangeLog | 27 +++++++++++++++++ harbour/config/postinst.hbs | 1 - harbour/contrib/hbide/idestylesheets.prg | 19 +++++++----- harbour/package/harbour-wce.spec | 27 +++++------------ harbour/package/harbour-win.spec | 27 +++++------------ harbour/package/harbour.spec | 38 +++++++++++------------- harbour/package/winuni/mpkg_win_uni.nsi | 1 + 7 files changed, 73 insertions(+), 67 deletions(-) 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*.*"