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
This commit is contained in:
amrein 2009-07-17 23:10:45 +00:00
parent e5f0bac9a7
commit 4fd61ddabc

View file

@ -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 <camreinmarie@free.fr> %version-1
- New release
* Fri Aug 15 2008 Amrein-Marie Christophe <camreinmarie@free.fr> 2008.1-1
- First package