forked from pool/jaxodraw
193 lines
6.6 KiB
RPMSpec
193 lines
6.6 KiB
RPMSpec
#
|
|
# spec file for package jaxodraw
|
|
#
|
|
# Copyright (c) 2024 SUSE LLC
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%define major 2.1
|
|
%define minor 0
|
|
Name: jaxodraw
|
|
Version: %{major}.%{minor}
|
|
Release: 0
|
|
Summary: A Java-based GUI for drawing Feynman diagrams
|
|
# The xslt files in the manual are Apache-2.0 licensed, GPL-2.0+ for everything else
|
|
License: Apache-2.0 AND GPL-2.0-or-later
|
|
Group: Productivity/Scientific/Physics
|
|
URL: https://jaxodraw.sourceforge.net
|
|
Source0: http://download.sourceforge.net/%{name}/%{name}-%{major}-%{minor}-src.tar.gz
|
|
Source1: http://sourceforge.net/projects/jaxodraw/files/installer_files/installer-2.0-1.tar.gz
|
|
Source2: http://downloads.sourceforge.net/%{name}/axodraw4j_2008_11_19.tar.gz
|
|
Source3: %{name}.appdata.xml
|
|
# ANT BUILD SCRIPTS IMPORTED FROM UPSTREAM SVN
|
|
# http://sourceforge.net/p/jaxodraw/code/HEAD/tree/branches/2.1-x/
|
|
Source4: build.properties
|
|
Source5: build.xml
|
|
# PATCH-FEATURE-OPENSUSE jaxodraw-set-default-viewers.patch badshah400@gmail.com -- Set xdg-open as the default HTML and postscript viewers (can be changed by user)
|
|
Patch0: jaxodraw-set-default-viewers.patch
|
|
BuildRequires: ant
|
|
BuildRequires: fdupes
|
|
BuildRequires: java-devel >= 1.8
|
|
BuildRequires: javapackages-tools
|
|
BuildRequires: update-desktop-files
|
|
BuildRequires: tex(latex)
|
|
Requires: java >= 1.8
|
|
Requires: javapackages-tools
|
|
Recommends: %{name}-javadoc = %{version}
|
|
Recommends: %{name}-latex
|
|
BuildArch: noarch
|
|
|
|
%description
|
|
JaxoDraw is a Java program for drawing Feynman diagrams. It has a
|
|
complete graphical user interface that allows to carry out all actions
|
|
in a mouse click-and-drag fashion. Fine-tuning of the diagrams is
|
|
possible through keyboard short-cuts. Graphs may be exported to a
|
|
variety of image formats, including (encapsulated) postscript, and can
|
|
be saved in XML files to be used in later sessions.
|
|
|
|
The main feature of JaxoDraw is the possibility of generating
|
|
LaTeX code that makes use of J. Vermaseren's axodraw package to
|
|
compile. In fact the main motivation for writing JaxoDraw was to
|
|
create a graphical user interface for the axodraw package. In that
|
|
way, we combine the power of LaTeX with the easiness of a
|
|
what-you-see-is-what-you-get interface.
|
|
|
|
%package javadoc
|
|
Summary: Javadocs for %{name}
|
|
License: GPL-2.0-or-later
|
|
Group: Documentation/Other
|
|
Requires: %{name} = %{version}
|
|
Requires: javapackages-tools
|
|
|
|
%description javadoc
|
|
This package contains the API documentation for %{name}.
|
|
|
|
%package latex
|
|
Summary: LaTeX style file axodraw4j.sty for documents generated with jaxodraw
|
|
# In order to compile documents one needs a LaTeX compiler
|
|
License: LPPL-1.3c
|
|
Group: Productivity/Scientific/Physics
|
|
Requires: %{name} = %{version}
|
|
Requires: texlive-pst-tools
|
|
Requires: tex(latex)
|
|
Requires(post): coreutils
|
|
Requires(posttrans): texlive
|
|
Requires(postun): coreutils
|
|
Requires(postun): texlive
|
|
Requires(pre): texlive
|
|
|
|
%description latex
|
|
This package contains the LaTeX style file that is needed for EPS export
|
|
functionality in jaxodraw.
|
|
|
|
You need this if you want the export to EPS function to work or if you want to
|
|
compile LaTeX files generated with jaxodraw.
|
|
|
|
%prep
|
|
%setup -q -n %{name}-%{major}-%{minor} -a 1 -a 2
|
|
%patch -P 0 -p1
|
|
find -name '*.jar' -o -name '*.class' -exec rm -f '{}' \;
|
|
|
|
# REMOVE UNNECESSARY-FOR-BUILD DIR WITH POTENTIAL LICENSING ISSUES
|
|
test -d src/site && rm -r src/site
|
|
|
|
%build
|
|
cp %{SOURCE4} ./
|
|
cp %{SOURCE5} ./
|
|
sed -i "s/jaxodraw.release=SNAPSHOT/jaxodraw.release=0/" build.properties
|
|
|
|
# FIX EOF ENCODINGS
|
|
for f in src/doc/{TODO,CHANGELOG,README,BUGS} src/doc/legal/{GNU-,}LICENSE
|
|
do
|
|
sed -i 's/\r$//' ${f}
|
|
done
|
|
|
|
ant jar javadoc
|
|
|
|
%install
|
|
install -D -m 0644 build/%{name}-%{major}-%{minor}.jar %{buildroot}%{_javadir}/%{name}.jar
|
|
|
|
# startscript
|
|
cat > %{name} << 'EOF'
|
|
#!/bin/sh
|
|
#
|
|
# jaxodraw startscript
|
|
#
|
|
java -jar %{_javadir}/%{name}.jar
|
|
EOF
|
|
|
|
install -d -m 755 %{buildroot}%{_bindir}
|
|
install -m 755 %{name} %{buildroot}%{_bindir}/
|
|
|
|
# INSTALL .desktop file and appstream file [taken from FEDORA]
|
|
install -D -m 644 installer-2.0-1/OS/Linux/%{name}.desktop %{buildroot}%{_datadir}/applications/%{name}.desktop
|
|
%suse_update_desktop_file -r %{name} Graphics 2DGraphics VectorGraphics Education Science DataVisualization
|
|
|
|
install -D -p -m 644 installer-2.0-1/OS/Linux/%{name}.png %{buildroot}%{_datadir}/pixmaps/%{name}.png
|
|
# Man page
|
|
install -D -p -m 644 installer-2.0-1/OS/Linux/man/%{name}.1 %{buildroot}%{_mandir}/man1/%{name}.1
|
|
|
|
# Javadoc
|
|
mkdir -p %{buildroot}%{_javadocdir}/%{name}
|
|
cp -rp build/javadoc/* %{buildroot}%{_javadocdir}/%{name}
|
|
%fdupes -s %{buildroot}%{_javadocdir}/%{name}
|
|
|
|
# LaTeX style
|
|
install -D -p -m 644 axodraw4j.sty %{buildroot}%{_datadir}/texmf/tex/latex/axodraw4j/axodraw4j.sty
|
|
|
|
# Register as an application to be visible in the software center
|
|
install -D -m 0644 %{SOURCE3} %{buildroot}%{_datadir}/appdata/%{name}.appdata.xml
|
|
|
|
# POST SCRIPTS IMPORTED FROM texlive-specs-a SPECFILE
|
|
%post latex
|
|
mkdir -p %{_localstatedir}/run/texlive
|
|
> %{_localstatedir}/run/texlive/run-mktexlsr
|
|
> %{_localstatedir}/run/texlive/run-update
|
|
|
|
%postun latex
|
|
if test $1 = 0; then
|
|
%{_bindir}/mktexlsr 2> /dev/null || :
|
|
exit 0
|
|
fi
|
|
mkdir -p %{_localstatedir}/run/texlive
|
|
> %{_localstatedir}/run/texlive/run-mktexlsr
|
|
> %{_localstatedir}/run/texlive/run-update
|
|
|
|
%posttrans latex
|
|
test -f %{_localstatedir}/run/texlive/run-update || exit 0
|
|
test -z "$ZYPP_IS_RUNNING" || exit 0
|
|
VERBOSE=false %{_datadir}/texmf/texconfig/update || :
|
|
rm -f %{_localstatedir}/run/texlive/run-update
|
|
|
|
%files
|
|
%doc src/doc/* axodraw4j-summary.txt
|
|
%{_bindir}/%{name}
|
|
%{_javadir}/%{name}.jar
|
|
# OWN THE APPDATA DIR FOR openSUSE < 13.2 (NEEDED FOR SLE 12, openSUSE 13.1)
|
|
%if 0%{?suse_version} < 1320
|
|
%dir %{_datadir}/appdata
|
|
%endif
|
|
%{_datadir}/appdata/%{name}.appdata.xml
|
|
%{_datadir}/applications/%{name}.desktop
|
|
%{_datadir}/pixmaps/%{name}.png
|
|
%{_mandir}/man1/%{name}.1%{?ext_man}
|
|
|
|
%files javadoc
|
|
%{_javadocdir}/%{name}/
|
|
|
|
%files latex
|
|
%{_datadir}/texmf/tex/latex/axodraw4j/
|
|
|
|
%changelog
|