Sophie

Sophie

distrib > Mandriva > 2006.0 > x86_64 > by-pkgid > 03bc42ba863da63abe56835b715da6fe > files > 7

argouml0.15-0.15.4-1jpp.src.rpm

%define orig_name       argouml
%define majmin		0.15
%define appdir          %{_datadir}/%{name}
%define section         free

Name:           %{orig_name}%{majmin}
Version:        0.15.4
Release:        1jpp
Epoch:          0
Summary:        A UML design tool with cognitive support
License:        BSD
URL:            http://argouml.tigris.org/
Group:          Development
Vendor:         JPackage Project
Distribution:   JPackage
Source0:        http://argouml.tigris.org/files/documents/4/0/argouml-0.15.4/ArgoUML-0.15.4-src.tar.gz
Source1:        %{name}-script
Source2:        %{orig_name}-icon-16.png
Source3:        %{orig_name}-icon-32.png
Source4:        %{orig_name}-icon-48.png
Source5:        %{name}.desktop
Requires:       antlr
Requires:       dresden-ocl-argo
Requires:       gef >= 0:0.10.2
Requires:       i18n-lib >= 0:0.1.3
Requires:       jmi
Requires:       jpackage-utils >= 0:1.5
Requires:       log4j
Requires:       nsuml
Requires:       toolbar
Requires:       toolbutton
Requires:       xml-commons-apis
BuildRequires:  ant
BuildRequires:  antlr
BuildRequires:  dresden-ocl-argo
BuildRequires:  gef >= 0:0.10.2
BuildRequires:  i18n-lib >= 0:0.1.3
BuildRequires:  jmi
BuildRequires:  jpackage-utils >= 0:1.5
BuildRequires:  log4j
BuildRequires:  nsuml
BuildRequires:  toolbar
BuildRequires:  toolbutton
BuildRequires:  xml-commons-apis
BuildArch:      noarch
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-buildroot

%description
The goal of the ArgoUML project is to build an object oriented design
tool that is:
- A joy to use (we really mean it),
- Actually helpful to designers when they are making design decisions,
- Completely open source Java,
- Leading edge (supports the latest UML specifications),
- Modular and extensible,
- Integrated with the web and other Tigris tools.

%package        mdkmenu
Summary:        Mandrake menu entry for ArgoUML
Group:          Development
Requires:       %{name} = %{epoch}:%{version}-%{release}

%description    mdkmenu
%{summary}.

%package        legacymenu
Summary:        Legacy menu entry for ArgoUML
Group:          Text Editors/Integrated Development Environments (IDE)
Requires:       %{name} = %{epoch}:%{version}-%{release}
Conflicts:      redhat-menus
Obsoletes:      %{name}-rhmenu
Provides:       %{name}-rhmenu

%description    legacymenu
%{summary}.

%package        javadoc
Summary:        Javadoc for %{name}
Group:          Development/Documentation

%description    javadoc
Javadoc for %{name}.


%prep
%setup -q -c
perl -pi -e \
  's|File=.*|File=\${user.home}/.argouml/argouml.log|' \
  src_new/org/argouml/resource/*.lcf
# remove binary files
find . -name "*.jar" -exec rm -f {} \;
# clean up manifest
perl -pi -e 's|^Class-Path.*$||s' src_new/templates/manifest.template


%build
export CLASSPATH=$(build-classpath antlr dresden-ocl-argo gef i18n-lib jmi \
log4j nsuml toolbar toolbutton xml-commons-apis)
ant -buildfile src_new/build.xml -Dbuild.compiler=modern jar prepare-docs


%install
rm -rf $RPM_BUILD_ROOT

# jars
install -D -p -m 644 build/%{orig_name}.jar $RPM_BUILD_ROOT%{appdir}/lib/%{name}.jar

# scripts
install -D -p -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/%{orig_name}-%{majmin}

# javadoc
install -p -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
cp -pr build/javadocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}

# mdk menu entry
install -p -d -m 755 $RPM_BUILD_ROOT%{_menudir}
cat >$RPM_BUILD_ROOT%{_menudir}/%{name} <<EOF
?package(%{name}):\\
command="%{_bindir}/%{orig_name}-%{majmin}"\\
needs="X11"\\
icon="%{name}.png"\\
section="Applications/Development/Development environments"\\
title="ArgoUML %{majmin}" \
longtitle="A UML design tool with cognitive support"
EOF

# mdk icons
install -D -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_miconsdir}/%{name}.png 
install -D -p -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_iconsdir}/%{name}.png 
install -D -p -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_liconsdir}/%{name}.png

# freedesktop.org menu entry
install -D -p -m 644 %{SOURCE5} \
  $RPM_BUILD_ROOT%{_datadir}/applications/jpackage-%{name}.desktop

# icons for freedesktop.org and legacy menu entries
install -D -p -m 644 %{SOURCE2} \
  $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps/%{name}.png
install -D -p -m 644 %{SOURCE3} \
  $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps/%{name}.png
install -D -p -m 644 %{SOURCE4} \
  $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps/%{name}.png
install -D -p -m 644 %{SOURCE4} \
  $RPM_BUILD_ROOT%{_datadir}/pixmaps/%{name}.png

# legacy menu entry
install -D -p -m 644 %{SOURCE4} \
  $RPM_BUILD_ROOT%{_sysconfdir}/X11/applnk/Development/%{name}.desktop


%clean
rm -rf $RPM_BUILD_ROOT


%post
cd %{appdir}/lib \
&& ln -sf %{_javadir}/antlr.jar \
&& ln -sf %{_javadir}/dresden-ocl-argo.jar \
&& ln -sf %{_javadir}/gef.jar \
&& ln -sf %{_javadir}/i18n-lib.jar \
&& ln -sf %{_javadir}/jmi.jar \
&& ln -sf %{_javadir}/log4j.jar \
&& ln -sf %{_javadir}/nsuml.jar \
&& ln -sf %{_javadir}/toolbar.jar \
&& ln -sf %{_javadir}/toolbutton.jar \
&& ln -sf %{_javadir}/xml-commons-apis.jar
 
%postun
# remove links only if uninstalling
if [ $1 -eq 0 ]; then
  cd %{appdir}/lib \
  && rm -f antlr.jar \
  && rm -f dresden-ocl-argo.jar \
  && rm -f gef.jar \
  && rm -f i18n-lib.jar \
  && rm -f jmi.jar \
  && rm -f log4j.jar \
  && rm -f nsuml.jar \
  && rm -f toolbar.jar \
  && rm -f toolbutton.jar \
  && rm -f xml-commons-apis.jar
fi


%post mdkmenu
%update_menus
 
%postun mdkmenu
%clean_menus

%post javadoc
rm -f %{_javadocdir}/%{name}
ln -s %{name}-%{version} %{_javadocdir}/%{name}

%postun javadoc
if [ $1 -eq 0 ]; then
  rm -f %{_javadocdir}/%{name}
fi


%files
%defattr(0644,root,root,0755)
%doc src_new/README_database.sql src_new/README.txt src_new/*LICENSE.txt
%attr(0755,root,root) %{_bindir}/*
%{appdir}
%{_datadir}/applications/*-%{name}.desktop
%{_datadir}/icons/*/*/apps/*
%{_datadir}/pixmaps/%{name}.png

%files mdkmenu
%defattr(0644,root,root,0755)
%{_menudir}/%{name}
%{_iconsdir}/%{name}.png
%{_miconsdir}/%{name}.png
%{_liconsdir}/%{name}.png

%files legacymenu
%defattr(0644,root,root,0755)
%{_sysconfdir}/X11/applnk/Development/*

%files javadoc
%defattr(0644,root,root,0755)
%{_javadocdir}/%{name}-%{version}


%changelog
* Tue Mar 16 2004 David Walluck <david@jpackage.org> 0:0.15.4-1jpp
- 0.15.4
- require gef 0.10.2

* Fri Jan 23 2004 David Walluck <david@anti-microsoft.org> 0:0.15.3-1jpp
- release