From 4fd61ddabc34c6e2e9832a0ee5bf31a8e5034ecb Mon Sep 17 00:00:00 2001 From: amrein Date: Fri, 17 Jul 2009 23:10:45 +0000 Subject: [PATCH] Update for new tarball policy, use uppsrc/Makefile to build theide git-svn-id: svn://ultimatepp.org/upp/trunk@1431 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- linux_scripts/rpm/upp.spec | 92 +++++++++++++++++++++++++++++--------- 1 file changed, 72 insertions(+), 20 deletions(-) diff --git a/linux_scripts/rpm/upp.spec b/linux_scripts/rpm/upp.spec index 47810f649..ec2e45747 100644 --- a/linux_scripts/rpm/upp.spec +++ b/linux_scripts/rpm/upp.spec @@ -1,10 +1,12 @@ +# How to build example: rpmbuild -tb --define 'version 1314' --define "date $(LC_TIME=En date '+%a %b %d %Y')" upp-x11-src-1314.tar.gz + +%define name upp +#define version 1314 +#define $(LC_TIME=En date '+%a %b %d %Y') +%define release 1 -%define name upp -%define version 2008.2 -%define release 1 - -%define title Ultimate++ -%define longtitle C++ cross-platform rapid application development suite +%define title Ultimate++ +%define longtitle C++ cross-platform rapid application development suite Summary: %longtitle Name: %name @@ -13,10 +15,47 @@ Release: %release License: BSD Group: Development/C++ URL: http://www.ultimatepp.org -Source0: %{name}-src-%{version}.tar.gz +Source0: %{name}-x11-src-%{version}.tar.gz -Buildrequires: gcc-c++ freetype2-devel gtk2-devel pango-devel atk-devel cairo-devel X11-devel xft2-devel expat-devel -Requires: valgrind +# Common Buildrequires +Buildrequires: gcc gcc-c++ gtk2-devel pango-devel atk-devel cairo-devel + +# Mandriva specific Buildrequires +%if "%?mdvver" != "" +Buildrequires: X11-devel freetype2-devel expat-devel + +# OpenSuse specific Buildrequires +%else +%if "%?suse_version" != "" +Buildrequires: patch make xorg-x11-devel freetype2-devel libexpat-devel + +# Fedora specific Buildrequires +%else +Buildrequires: xorg-x11-server-devel freetype-devel expat-devel +%endif +%endif + +# ----- +Requires: gcc gcc-c++ gtk2-devel pango-devel atk-devel cairo-devel +Requires: valgrind + +# Mandriva specific Requires +%if "%?mdvver" != "" +Requires: X11-devel freetype2-devel expat-devel + +# OpenSuse specific Requires +%else +%if "%?suse_version" != "" +Requires: xorg-x11-devel freetype2-devel libexpat-devel + +# Fedora specific Requires +%else +Requires: xorg-x11-server-devel freetype-devel expat-devel +%endif +%endif + +# ------- +Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot #----------- %description @@ -24,20 +63,25 @@ The U++ integrated development environment, TheIDE, introduces modular concepts programming. It provides: - TheIDE, a visual designers for U++ libraries - - Topic++, for documenting code and creating rich text resources for applications - - Assist++, a powerful C++ code analyzer providing code completion, navigation and transformation + - Topic++, for documenting code and creating rich text resources + - Assist++, a powerful C++ code analyzer providing code completion, + navigation and transformation - BLITZ-build technology to speedup C++ rebuilds up to 4 times #---- %prep -%setup -q +%setup -q -n %{name}-x11-src-%{version} # ---- %build -%make -e HOSTTYPE=LINUX -e LOCALBASE=%{_prefix} -e LIBPATH=$(pkg-config --libs-only-L x11 freetype2 gtk+-2.0 glib-2.0 cairo pango atk) -e CINC=" -Iuppsrc $(pkg-config --cflags x11 freetype2 gtk+-2.0 glib-2.0 cairo pango atk)" +make -C uppsrc \ + -e LIBPATH=$(pkg-config --libs-only-L x11 freetype2 gtk+-2.0 glib-2.0 cairo pango atk) \ + -e CINC=" -I. $(pkg-config --cflags x11 freetype2 gtk+-2.0 glib-2.0 cairo pango atk)" \ + -e UPPOUT="$PWD/out/" \ + -e OutFile="$PWD/out/ide.out" #------- %install @@ -45,13 +89,13 @@ rm -rf %{buildroot} install -d %{buildroot}/%{_bindir} install -d %{buildroot}/%{_desktopdir} -install -d %{buildroot}/%{_icons48dir} +install -d %{buildroot}/%{_datadir}/pixmaps install -d %{buildroot}/%{_datadir}/%{name} -install out/ide/GCC-LINUX-Gcc-Gui-Main-Shared/ide %{buildroot}/%{_bindir}/theide +install out/ide.out %{buildroot}/%{_bindir}/theide cp -p uppsrc/ide/theide.desktop %{buildroot}/%{_desktopdir}/theide.desktop -cp -p uppsrc/ide/theide-48.png %{buildroot}/%{_icons48dir}/theide.png +cp -p uppsrc/ide/theide-48.png %{buildroot}/%{_datadir}/pixmaps/theide.png cp -a bazaar %{buildroot}/%{_datadir}/%{name}/ # cp -a Common %{buildroot}/%{_datadir}/%{name}/ @@ -60,7 +104,7 @@ cp -a examples %{buildroot}/%{_datadir}/%{name}/ cp -a reference %{buildroot}/%{_datadir}/%{name}/ cp -a tutorial %{buildroot}/%{_datadir}/%{name}/ -# Need to create GCC.bm manually because it doesn't exist +# We create our own GCC.bm # cp -p uppsrc/ide/GCC.bm %{buildroot}/%{_datadir}/%{name}/ INCLUDEDIR=$( pkg-config --cflags x11 freetype2 gtk+-2.0 glib-2.0 cairo pango atk | awk ' { gsub ( / /, "" ) ; gsub ( /-I/, ";" ) ; sub ( /;/, "" ) ; print $0 }' ) @@ -73,10 +117,12 @@ DEBUG_INFO = "2"; DEBUG_BLITZ = "1"; DEBUG_LINKMODE = "1"; DEBUG_OPTIONS = "-O0"; +DEBUG_FLAGS = ""; RELEASE_BLITZ = "0"; RELEASE_LINKMODE = "1"; -RELEASE_OPTIONS = "-O3 -ffunction-sections"; +RELEASE_OPTIONS = "-O1 -ffunction-sections"; RELEASE_SIZE_OPTIONS = "-Os -finline-limit=20"; +RELEASE_FLAGS = ""; DEBUGGER = "gdb"; PATH = ""; INCLUDE = "$INCLUDEDIR"; @@ -85,24 +131,30 @@ REMOTE_HOST = ""; REMOTE_OS = ""; REMOTE_TRANSFER = ""; REMOTE_MAP = ""; +LINKMODE_LOCK = "0"; EOF #----- %clean - +rm -fr %{buildroot} #----- %files %defattr(-,root,root,-) # %doc COPYING README INSTALL +%doc uppsrc/ide/Copying %{_bindir}/theide %{_desktopdir}/theide.desktop -%{_icons48dir}/theide.png +%{_datadir}/pixmaps/theide.png %dir %{_datadir}/%{name} %{_datadir}/%{name}/* #--------- %changelog +* %date Amrein-Marie Christophe %version-1 +- New release + * Fri Aug 15 2008 Amrein-Marie Christophe 2008.1-1 - First package +