File ssplot-obs.spec of Package ssplot
Name: ssplot
Version: 2.3.3
Release: 0
Summary: Scientific plotting tool in Java
License: GPL-3.0-or-later
URL: https://github.com/babaissarkar/ssplot
Source0: %{name}-%{version}.tar.xz
BuildRequires: maven
BuildRequires: java-21-openjdk
BuildRequires: desktop-file-utils
BuildArch: noarch
%description
SSPlot is a scientific plotting tool built in Java, packaged for desktop use.
%prep
%setup -q
%build
# Build the JAR with Maven
mvn package -Dmaven.repo.local=%{_topdir}/.m2
# Build the runtime using your existing script
./packaging/appimage/link.sh
%install
# Install the JAR
install -D -m 644 target/%{name}-%{version}.jar \
%{buildroot}%{_javadir}/%{name}.jar
# Install runtime files
mkdir -p %{buildroot}/usr/share/%{name}/runtime
cp -r SSPlot.AppDir/* %{buildroot}/usr/share/%{name}/runtime/
# Install desktop integration
mkdir -p %{buildroot}/usr/share/applications
install -D -m 644 packaging/appimage/ssplot.desktop \
%{buildroot}/usr/share/applications/ssplot.desktop
mkdir -p %{buildroot}/usr/share/pixmaps
install -D -m 644 packaging/appimage/ssplot.png \
%{buildroot}/usr/share/pixmaps/ssplot.png
# Fix desktop file icon path
sed -i 's|Icon=.*|Icon=ssplot.png|g' \
%{buildroot}/usr/share/applications/ssplot.desktop
# Install wrapper script so users can run "ssplot"
mkdir -p %{buildroot}%{_bindir}
cat > %{buildroot}%{_bindir}/ssplot <<'EOF'
#!/bin/sh
exec java -jar /usr/share/java/ssplot.jar "$@"
EOF
chmod 755 %{buildroot}%{_bindir}/ssplot
%files
%{_bindir}/ssplot
%{_javadir}/ssplot.jar
/usr/share/%{name}/runtime
/usr/share/applications/ssplot.desktop
/usr/share/pixmaps/ssplot.png
%changelog
* Sat Feb 14 2026 Subhraman Sarkar <you@example.com> - 2.3.3-0
- Initial RPM packaging based on Snapcraft.yaml