pkg://jext-3.2-0.pre4.1jpp.src.rpm:1008008/jext.spec
info downloads
%define appdir %{_datadir}/%{name}
%define section free
Name: jext
Version: 3.2
Release: 0.pre4.1jpp
Epoch: 0
Summary: Free source code editor written in Java
License: GPL
URL: http://www.jext.org/
Group: Text Editors
Vendor: JPackage Project
Distribution: JPackage
Source0: http://osdn.dl.sourceforge.net/jext/jext-sources-3.2pre4.tar.gz
Source1: %{name}-script
Source2: %{name}-icon-16.png
Source3: %{name}-icon-32.png
Source4: %{name}-icon-48.png
Source5: %{name}.desktop
Requires: aelfred
Requires: gnu.regexp
Requires: jpackage-utils >= 0:1.5
Requires: jython
BuildRequires: ant
BuildRequires: aelfred
BuildRequires: gnu.regexp
BuildRequires: jpackage-utils >= 0:1.5
BuildRequires: jython
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
%description
Jext was created to support Java programming language. But nowadays it
can edit many other types of source codes. Among them you'll find C,
C++, C#, ASP, PHP, Python, Perl, Ruby, TeX, XHTML, XSLT, Eiffel, JSP...
Besides it provides advanced features to ease you work. Manage your
projects with the bookmarks tool, categorize your opened files through
workspaces, directly open zipped files, get a file straight from the
Internet, mail your source code, executes system commands within the
internal console, type faster thanks to HyperTyper and to the
customizable code snippets library, add new features with plugins,
discover the advanced editing capabilities, use the internal Python
interpreter... Jext meets all your needs! Developers will also
appreciate the open architecture of Jext. Based on GPLed libraries,
internal Python interpreter and many XML files, improving Jext is an
easy job. You can even write your own plugins (in Python or Java).
%package mdkmenu
Summary: Mandrake menu entry for %{name}
Group: Networking/Instant messaging
Requires: %{name} = %{epoch}:%{version}-%{release}
%description mdkmenu
%{summary}.
%package legacymenu
Summary: Legacy menu entry for %{name}
Group: Networking/Instant messaging
Requires: %{name} = %{epoch}:%{version}-%{release}
Conflicts: redhat-menus
%description legacymenu
%{summary}.
%package javadoc
Summary: Javadoc for %{name}
Group: Development/Documentation
%description javadoc
Javadoc for %{name}.
%prep
%setup -q -n jextSrc-3.2pre4
# remove internal aelfred sources
rm -rf src/lib/com
# remove internal gnu.regexp sources
rm -rf src/lib/gnu
# remove old jedit syntax sources
# FIXME: we don't package a version of jedit this old
#rm -rf src/lib/org/gjt
%build
pushd src
export CLASSPATH=$(build-classpath aelfred gnu.regexp jython)
perl -p -i -e 's|compress="no"|compress="yes"|g' build.xml
perl -p -i -e 's|^Class-Path:||g' %{name}.manifest
ant jar javadocs
popd
%install
rm -rf $RPM_BUILD_ROOT
# jars
install -d -m 755 $RPM_BUILD_ROOT%{_javadir}
install -m 644 lib/%{name}.jar \
$RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
install -m 644 lib/dawn.jar \
$RPM_BUILD_ROOT%{_javadir}/%{name}-dawn-%{version}.jar
(cd $RPM_BUILD_ROOT%{_javadir} && for jar in *-%{version}*; do \
ln -sf ${jar} ${jar/-%{version}/}; done)
# data
install -p -d -m 755 $RPM_BUILD_ROOT%{appdir}
# scripts
install -D -p -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/%{name}
# javadoc
install -p -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
cp -pr docs/api/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
(cd $RPM_BUILD_ROOT%{_javadocdir} && ln -sf %{name}-%{version} %{name})
# mdk menu entry
install -p -d -m 755 $RPM_BUILD_ROOT%{_menudir}
cat >$RPM_BUILD_ROOT%{_menudir}/%{name} <<EOF
?package(%{name}):\\
command="%{_bindir}/%{name}"\\
needs="X11"\\
icon="%{name}.png"\\
section="Applications/Editors"\\
title="%{name}" \\
longtitle="Free source code editor written in Java"
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 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 LICENSE SOURCES
%{_javadir}
%attr(0755,root,root) %{_bindir}/*
%dir %{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)
%dir %{_javadocdir}/%{name}-%{version}
%{_javadocdir}/%{name}-%{version}/*
%ghost %dir %{_javadocdir}/%{name}
%changelog
* Wed Jan 21 2004 David Walluck <david@anti-microsoft.org> 0:3.2-0.pre4.1jpp
- 3.2.0pre4
- compress jar
- remove classpath from manifest
* Fri Oct 10 2003 David Walluck <david@anti-microsoft.org> 0:3.2-0.pre3.1jpp
- release