josm/josm.spec
2023-08-30 12:33:18 +00:00

104 lines
3.7 KiB
RPMSpec

Name: josm
Summary: Java-based OSM editor
Version: 18822
Release: 1
License: GPLv2+
URL: https://josm.openstreetmap.de
Source0: https://github.com/openstreetmap/josm/archive/%{version}-tested/%{name}-%{version}.tar.gz
Group: Sciences/Geosciences
BuildArch: noarch
BuildRequires: java-devel >= 1.8
BuildRequires: ant
BuildRequires: subversion
Requires: java >= 1.8
%description
Editor for OpenStreetMap (daily development snapshot)
JOSM is an editor for OpenStreetMap (OSM) written in Java.
The current version supports stand alone GPX tracks, GPX track data
from OSM database and existing nodes, line segments and metadata tags
from the OSM database.
OpenStreetMap is a project aimed squarely at creating and providing
free geographic data such as street maps to anyone who wants them.
The project was started because most maps you think of as free actually
have legal or technical restrictions on their use, holding back people
from using them in creative, productive or unexpected ways.
%prep
#rm -rf $RPM_BUILD_DIR/%{name}-%{version}
#svn co -r %{version} https://josm.openstreetmap.de/svn/trunk $RPM_BUILD_DIR/%{name}-%{version}
%setup -qn %{name}-%{version}-tested
# fix deps org.jacoco.ant
sed -i '/org.jacoco.ant/s/-SNAPSHOT//' ivy.xml
%build
#cd $RPM_BUILD_DIR/%{name}-%{version}
ant -Dversion.entry.commit.revision=%{version} dist-optimized
%install
rm -rf %{buildroot}
install -d %{buildroot}%{_bindir}
install -d %{buildroot}%{_datadir}/%{name}
cd $RPM_BUILD_DIR/%{name}-%{version}-tested
install -Dm0644 dist/%{name}-custom.jar %{buildroot}%{_datadir}/%{name}/%{name}.jar
# menu-entry
install -d %{buildroot}%{_datadir}/applications
cat > %{buildroot}%{_datadir}/applications/%{name}.desktop <<EOF
[Desktop Entry]
Type=Application
Version=1.0
Name=JOSM
Name[ru]=JOSM
GenericName=Java OSM editor
GenericName[ru]=Редактор карт OSM
Comment=Java OpenStreetMap editor
Comment[ru]=Редактор карт OpenStreetMap
Exec=%{name}
Icon=%{name}
Terminal=false
Categories=Application;X-Geosciences;Education;Geoscience;Maps;
MimeType=application/x-osm+xml;application/x-gpx+xml;x-scheme-handler/geo;
StartupNotify=true
StartupWMClass=org-openstreetmap-josm-Main
Keywords=OpenStreetMap;OSM;
EOF
# script start program
cat > %{buildroot}%{_bindir}/%{name} << EOF
#!/bin/bash
PROGRAM_DIR=%{_datadir}/%{name}
JAVABIN=/usr/bin/java
exec \$JAVABIN -Xmx2048m -jar \$PROGRAM_DIR/%{name}.jar
EOF
chmod +x %{buildroot}%{_bindir}/%{name}
install -d %{buildroot}%{_sysconfdir}/default
install -Dm0644 native/linux/latest/%{_sysconfdir}/default/%{name}-latest %{buildroot}/%{_sysconfdir}/default/%{name}
install -d %{buildroot}%{_datadir}/metainfo
install -Dm0644 native/linux/latest/%{_datadir}/metainfo/org.openstreetmap.%{name}-latest.appdata.xml %{buildroot}%{_datadir}/metainfo/%{name}.appdata.xml
# install pixmaps
install -d %{buildroot}%{_datadir}/pixmaps
install -Dm0644 native/linux/latest/%{_datadir}/pixmaps/org.openstreetmap.%{name}-latest.png %{buildroot}%{_datadir}/pixmaps/%{name}.png
#install icons
find native/linux/latest/%{_iconsdir} -type f -name 'org.openstreetmap.%{name}-latest.png' -exec rename org.openstreetmap.%{name}-latest %{name} {} ';'
rename org.openstreetmap.%{name}-latest %{name} native/linux/latest/%{_iconsdir}/hicolor/scalable/apps/org.openstreetmap.%{name}-latest.svg
cp -r native/linux/latest/%{_iconsdir} %{buildroot}%{_iconsdir}
%files
%doc $RPM_BUILD_DIR/%{name}-%{version}-tested/README $RPM_BUILD_DIR/%{name}-%{version}-tested/LICENSE $RPM_BUILD_DIR/%{name}-%{version}-tested/gpl*.txt
%{_bindir}/%{name}
%{_datadir}/%{name}/*
%{_datadir}/applications/%{name}.desktop
%{_datadir}/metainfo/%{name}*.xml
%{_iconsdir}/hicolor/*/apps/%{name}.*
%{_datadir}/pixmaps/%{name}.png
%{_sysconfdir}/default/%{name}