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

openSUSE Build Service is sponsored by