## enable python bindings or not # busted in 4.12.90 :( -- rex #global python 1 ## enable designer plugin %global designer 1 Name: marble Summary: Virtual globe and world atlas Epoch: 1 Version: 4.14.3 Release: 1%{?dist} License: LGPLv2+ #URL: https://projects.kde.org/projects/kde/kdeedu/marble URL: http://edu.kde.org/marble/ %global revision %(echo %{version} | cut -d. -f3) %if %{revision} >= 50 %global stable unstable %else %global stable stable %endif Source0: http://download.kde.org/%{stable}/%{version}/src/%{name}-%{version}.tar.xz # find libqextserialport-1.2.so # TODO: upstreamable? Or do we want to fix qextserialport-devel instead? Patch0: marble-4.11.90-qextserialport.patch ## upstreamable patches # add/fix support for MOBILE/TOUCH marble app versions # TOUCH default off, since app fails to launch (for me): #qrc:/main.qml:13:1: Type MarbleWindow unavailable #qrc:/MarbleWindow.qml:11:1: module "com.nokia.meego" is not installed Patch50: marble-4.12.0-app_versions.patch ## upstream patches BuildRequires: desktop-file-utils BuildRequires: kdelibs4-devel >= %{version} %if 0%{?fedora} BuildRequires: pkgconfig(libgps) %endif BuildRequires: pkgconfig(QtLocation) BuildRequires: pkgconfig(QtWebKit) %if 0%{?python} BuildRequires: pykde4-devel >= %{version} %endif BuildRequires: qextserialport-devel BuildRequires: quazip-devel BuildRequires: shapelib-devel # TODO: The following are not packaged in Fedora: # * liblocation , position information on Maemo 5 devices , # position information via GPS/WLAN for the Nokia N900 smartphone # (This one is probably not worth packaging.) # * libwlocate , WLAN-based geolocation , # Position information based on neighboring WLAN networks # (But this one probably is.) Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} Requires: kde-runtime%{?_kde4_version: >= %{_kde4_version}} # when split occurred Obsoletes: kdeedu-marble < 4.7.0-10 Provides: kdeedu-marble = %{version}-%{release} Provides: kdeedu-marble%{?_isa} = %{version}-%{release} Provides: marble-part = %{version}-%{release} Provides: marble-part%{?_isa} = %{version}-%{release} %if ! 0%{?marble} Obsoletes: python-marble < %{epoch}:%{version}-%{release} %endif %description Marble is a Virtual Globe and World Atlas that you can use to learn more about Earth: You can pan and zoom around and you can look up places and roads. A mouse click on a place label will provide the respective Wikipedia article. Of course it's also possible to measure distances between locations or watch the current cloud cover. Marble offers different thematic maps: A classroom- style topographic map, a satellite view, street map, earth at night and temperature and precipitation maps. All maps include a custom map key, so it can also be used as an educational tool for use in class-rooms. For educational purposes you can also change date and time and watch how the starry sky and the twilight zone on the map change. In opposite to other virtual globes Marble also features multiple projections: Choose between a Flat Map ("Plate carré"), Mercator or the Globe. %package mobile Summary: Marble mobile interface Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} Requires: %{name}-common = %{epoch}:%{version}-%{release} %description mobile %{summary} %package qt Summary: Marble qt-only interface Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} Requires: %{name}-common = %{epoch}:%{version}-%{release} %description qt %{summary}. %package touch Summary: Marble touch-only interface Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} Requires: %{name}-common = %{epoch}:%{version}-%{release} %description touch %{summary}. %package common Summary: Common files of %{name} BuildArch: noarch %description common {summary}. %package libs Summary: Runtime files for %{name} Requires: %{name}-common = %{epoch}:%{version}-%{release} Obsoletes: kdeedu-marble-libs < 4.7.0-10 Provides: kdeedu-marble-libs = %{version}-%{release} %description libs %{summary}. %package devel Summary: Development files for %{name} # when split occurred Conflicts: kdeedu-devel < 4.7.0-10 Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} Requires: kdelibs4-devel %description devel %{summary}. %package -n python-marble Summary: Exerimental python bindings for Marble Requires: %{name} = %{epoch}:%{version}-%{release} Requires: pykde4%{?_kde4_version: >= %{_kde4_version}} %{?_sip_api:Requires: sip-api(%{_sip_api_major}) >= %{_sip_api}} %description -n python-marble %{summary}. %prep %setup -q %patch0 -p1 -b .qextserialport %patch50 -p1 -b .app_versions %build mkdir -p %{_target_platform} pushd %{_target_platform} %{cmake_kde4} \ -DEXPERIMENTAL_PYTHON_BINDINGS:BOOL=%{?python:ON}%{!?python:OFF} \ -DWITH_DESIGNER_PLUGIN:BOOL=%{?designer:ON}%{!?designer:OFF} \ .. popd make %{?_smp_mflags} -C %{_target_platform} %install make install/fast DESTDIR=%{buildroot} -C %{_target_platform} %find_lang %{name} --with-kde --without-mo %check desktop-file-validate %{buildroot}%{_kde4_datadir}/applications/kde4/marble.desktop desktop-file-validate %{buildroot}%{_kde4_datadir}/applications/kde4/marble-mobile.desktop desktop-file-validate %{buildroot}%{_kde4_datadir}/applications/kde4/marble-qt.desktop %if 0%{?touch} desktop-file-validate %{buildroot}%{_kde4_datadir}/applications/kde4/marble-touch.desktop %endif %postun if [ $1 -eq 0 ] ; then update-desktop-database -q &> /dev/null ||: fi %posttrans update-desktop-database -q &> /dev/null ||: %files -f %{name}.lang %{_kde4_bindir}/marble %{_kde4_datadir}/appdata/marble.appdata.xml %{_kde4_datadir}/applications/kde4/marble.desktop %{_kde4_datadir}/applications/kde4/marble_geo.desktop %{_kde4_datadir}/applications/kde4/marble_gpx.desktop %{_kde4_datadir}/applications/kde4/marble_kml.desktop %{_kde4_datadir}/applications/kde4/marble_kmz.desktop %{_kde4_datadir}/applications/kde4/marble_osm.desktop %{_kde4_datadir}/applications/kde4/marble_shp.desktop %{_kde4_datadir}/applications/kde4/marble_worldwind.desktop %{_kde4_datadir}/config.kcfg/marble.kcfg %{_kde4_datadir}/kde4/services/marble_part.desktop %{_kde4_datadir}/kde4/services/marble_part_gpx.desktop %{_kde4_datadir}/kde4/services/marble_part_kml.desktop %{_kde4_datadir}/kde4/services/marble_part_kmz.desktop %{_kde4_datadir}/kde4/services/marble_part_osm.desktop %{_kde4_datadir}/kde4/services/marble_part_shp.desktop %{_kde4_datadir}/kde4/services/marble_thumbnail_gpx.desktop %{_kde4_datadir}/kde4/services/marble_thumbnail_kml.desktop %{_kde4_datadir}/kde4/services/marble_thumbnail_kmz.desktop %{_kde4_datadir}/kde4/services/marble_thumbnail_osm.desktop %{_kde4_datadir}/kde4/services/marble_thumbnail_shp.desktop %{_kde4_libdir}/kde4/libmarble_part.so %{_kde4_libdir}/kde4/marblethumbnail.so # worldclock links against libmarblewidget, include here %{_kde4_libdir}/kde4/plasma_applet_worldclock.so %{_kde4_datadir}/kde4/services/plasma-applet-kworldclock.desktop %{_kde4_libdir}/kde4/plasma_runner_marble.so %{_kde4_datadir}/kde4/services/plasma-runner-marble.desktop %{_qt4_importdir}/org/ %post common touch --no-create %{_kde4_iconsdir}/hicolor &> /dev/null || : touch --no-create %{_kde4_datadir}/mime >& /dev/null ||: %posttrans common gtk-update-icon-cache %{_kde4_iconsdir}/hicolor &> /dev/null || : update-mime-database %{?fedora:-n} %{_kde4_datadir}/mime &> /dev/null || : %postun common if [ $1 -eq 0 ] ; then touch --no-create %{_kde4_iconsdir}/hicolor &> /dev/null || : gtk-update-icon-cache %{_kde4_iconsdir}/hicolor &> /dev/null || : touch --no-create %{_kde4_datadir}/mime ||: update-mime-database %{?fedora:-n} %{_kde4_datadir}/mime &> /dev/null || : fi %files common %doc LICENSE.txt %doc CREDITS MANIFESTO.txt TODO USECASES %{_kde4_appsdir}/marble/ %{_kde4_iconsdir}/hicolor/*/*/marble.* %{_kde4_datadir}/mime/packages/geo.xml %files mobile %{_kde4_bindir}/marble-mobile %{_kde4_datadir}/applications/kde4/marble-mobile.desktop %files qt %{_kde4_bindir}/marble-qt %{_kde4_datadir}/applications/kde4/marble-qt.desktop %if 0%{?touch} %files touch %{_kde4_bindir}/marble-touch %{_kde4_datadir}/applications/kde4/marble-touch.desktop %endif %post libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig %files libs %{_kde4_libdir}/libastro.so.1* %{_kde4_libdir}/libastro.so.0.17.* %{_kde4_libdir}/libmarblewidget.so.19 %{_kde4_libdir}/libmarblewidget.so.0.19.* %{_kde4_libdir}/kde4/plugins/marble/ %if 0%{?designer} %{_kde4_libdir}/kde4/plugins/designer/*.so %endif %files devel %doc docs/* %{_kde4_appsdir}/cmake/modules/FindMarble.cmake %{_includedir}/astro/ %{_includedir}/marble/ %{_kde4_libdir}/libastro.so %{_kde4_libdir}/libmarblewidget.so %if 0%{?python} %files -n python-marble %{python_sitearch}/PyKDE4/marble.so %endif %changelog * Sat Nov 08 2014 Rex Dieter - 1:4.14.3-1 - 4.14.3 * Sat Oct 11 2014 Rex Dieter - 1:4.14.2-1 - 4.14.2 * Wed Sep 24 2014 Rex Dieter 1:4.14.1-3 - fix -common deps (it's noarch, don't want %%_isa here) * Tue Sep 23 2014 Richard Hughes - 1:4.14.1-2 - Add a hard requires on marble-common (which contains the icon) on the main applications. The AppStream generator only can cope with one layer of dep- resolution and the app->libs->common chain means the icons don't get included. * Mon Sep 15 2014 Rex Dieter - 1:4.14.1-1 - 4.14.1 * Sun Aug 17 2014 Fedora Release Engineering - 1:4.14.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Thu Aug 14 2014 Rex Dieter - 1:4.14.0-1 - 4.14.0 * Wed Aug 06 2014 Rex Dieter 1:4.13.97-2 - marble-common scriptlet generates "touch: command not found" (#1127350) * Tue Aug 05 2014 Rex Dieter - 1:4.13.97-1 - 4.13.97 * Mon Jul 14 2014 Rex Dieter - 1:4.13.3-1 - 4.13.3 * Thu Jul 03 2014 Rex Dieter 1:4.13.2-3 - optimize mimeinfo scriptlet, move mime bits to -common * Thu Jun 26 2014 Rex Dieter 1:4.13.2-2 - BR: qtwebkit ... * Mon Jun 09 2014 Rex Dieter - 1:4.13.2-1 - 4.13.2 * Sat Jun 07 2014 Fedora Release Engineering - 1:4.13.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Sun May 11 2014 Rex Dieter - 1:4.13.1-1 - 4.13.1 * Sat Apr 12 2014 Rex Dieter - 1:4.13.0-1 - 4.13.0 * Thu Apr 03 2014 Rex Dieter - 1:4.12.97-1 - 4.12.97 * Sat Mar 22 2014 Rex Dieter - 1:4.12.95-1 - 4.12.95 * Wed Mar 19 2014 Rex Dieter - 1:4.12.90-1 - 4.12.90 - disable broken python bindings * Sun Mar 16 2014 Rex Dieter 4.12.3-2 - rebuild (sip) * Sat Mar 01 2014 Rex Dieter - 1:4.12.3-1 - 4.12.3 * Thu Feb 27 2014 Kevin Kofler - 1:4.12.2-3 - apply upstream fix for geonames.org API change (kde#331004) - fix the hardcoded libmarblewidget version to actually match what is shipped * Thu Feb 06 2014 Rex Dieter - 1:4.12.2-2 - -libs: track libmarblewidget soname * Fri Jan 31 2014 Rex Dieter - 1:4.12.2-1 - 4.12.2 * Fri Jan 10 2014 Rex Dieter - 1:4.12.1-1 - 4.12.1 * Tue Dec 24 2013 Rex Dieter 1:4.12.0-2 - -common,-mobile,-qt subpkgs (#1045919) * Thu Dec 19 2013 Rex Dieter - 1:4.12.0-1 - 4.12.0 * Sun Dec 01 2013 Rex Dieter - 1:4.11.97-1 - 4.11.97 * Sun Dec 01 2013 Kevin Kofler - 1:4.11.95-3 - backport more Python bindings updates from 4.11.97, reenable Python bindings * Tue Nov 26 2013 Rex Dieter 1:4.11.95-2 - rebuild (gpsd) * Thu Nov 21 2013 Rex Dieter - 1:4.11.95-1 - 4.11.95 (disable still-not-building python bindings) * Sun Nov 17 2013 Kevin Kofler - 1:4.11.90-3 - forward-port Python bindings updates from 4.11, reenable Python bindings * Sun Nov 17 2013 Kevin Kofler - 1:4.11.90-2 - fix designer plugin path (kde#327690), reenable designer plugin * Sat Nov 16 2013 Rex Dieter - 1:4.11.90-1 - 4.11.90, disable broken python bindings, designer plugin * Sat Nov 02 2013 Rex Dieter - 1:4.11.3-1 - 4.11.3 * Sat Sep 28 2013 Rex Dieter - 1:4.11.2-1 - 4.11.2 * Wed Sep 04 2013 Rex Dieter - 1:4.11.1-1 - 4.11.1 * Mon Aug 12 2013 Rex Dieter 1:4.11.0-3 - respin * Sun Aug 11 2013 Rex Dieter 1:4.11.0-2 - (re)enable python bindings * Thu Aug 08 2013 Than Ngo - 1:4.11.0-1 - 4.11.0 * Thu Jul 25 2013 Rex Dieter - 1:4.10.97-1 - 4.10.97 * Tue Jul 23 2013 Rex Dieter - 1:4.10.95-1 - 4.10.95 * Tue Jul 02 2013 Kevin Kofler - 1:4.10.90-2 - BuildRequires: qextserialport-devel quazip-devel - find libqextserialport-1.2.so - update the file list to list the files for kmz support (based on quazip) * Thu Jun 27 2013 Rex Dieter - 1:4.10.90-1 - 4.10.90 - disable python bindings (for now, broken) * Mon Jun 17 2013 Rex Dieter 4.10.4-2 - rebuild (sip) * Sat Jun 01 2013 Rex Dieter - 1:4.10.4-1 - 4.10.4 * Mon May 06 2013 Than Ngo - 4.10.3-1 - 4.10.3 * Sun Mar 31 2013 Rex Dieter - 1:4.10.2-1 - 4.10.2 * Sat Mar 02 2013 Rex Dieter 4.10.1-1 - 4.10.1 * Fri Feb 01 2013 Rex Dieter - 1:4.10.0-1 - 4.10.0 * Mon Jan 21 2013 Rex Dieter - 1:4.9.98-1 - 4.9.98 * Fri Jan 04 2013 Rex Dieter - 1:4.9.97-1 - 4.9.97 * Sun Dec 23 2012 Kevin Kofler - 1:4.9.95-2 - apply upstream patch to fix the build of the Python bindings * Thu Dec 20 2012 Rex Dieter - 1:4.9.95-1 - 4.9.95 - disable python bindings * Mon Dec 03 2012 Rex Dieter 4.9.90-1 - 4.9.90 (4.10 beta2) * Mon Dec 03 2012 Than Ngo - 4.9.4-1 - 4.9.4 * Sat Nov 03 2012 Rex Dieter - 1:4.9.3-1 - 4.9.3 * Thu Nov 01 2012 Rex Dieter 1:4.9.2-4 - BR: shapelib-devel * Wed Oct 03 2012 Rex Dieter 1:4.9.2-3 - rebuild (sip) * Sat Sep 29 2012 Rex Dieter 1:4.9.2-2 - re-enable python bindings * Sat Sep 29 2012 Rex Dieter - 1:4.9.2-1 - 4.9.2 * Mon Sep 03 2012 Than Ngo - 1:4.9.1-1 - 4.9.1 * Fri Jul 27 2012 Rex Dieter - 1:4.9.0-1 - 4.9.0 * Thu Jul 19 2012 Fedora Release Engineering - 1:4.8.97-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Wed Jul 11 2012 Rex Dieter - 1:4.8.97-1 - 4.8.97 * Wed Jun 27 2012 Rex Dieter - 1:4.8.95-1 - 4.8.95 * Sat Jun 09 2012 Rex Dieter - 1:4.8.90-1 - 4.8.90 * Tue May 29 2012 Rex Dieter 1:4.8.80-1 - 4.8.80 * Mon Apr 30 2012 Jaroslav Reznik - 1:4.8.3-1 - 4.8.3 * Fri Mar 30 2012 Rex Dieter - 1:4.8.2-1 - 4.8.2 * Tue Mar 27 2012 Rex Dieter 1:4.8.1-2 - enable designer plugin (#807128) * Mon Mar 05 2012 Jaroslav Reznik - 1:4.8.1-1 - 4.8.1 * Thu Feb 09 2012 Jaroslav Reznik 1:4.8.0-6 - more qt 4.8 fixes (show proper icons for MarbleLegendBrowser) * Tue Feb 07 2012 Rex Dieter 1:4.8.0-5 - upstream qt48_transparency patch (fix display of water/ocenas in atlas view) * Mon Feb 06 2012 Rex Dieter 1:4.8.0-4 - drop hard-coded -O3 optimization * Fri Feb 03 2012 Rex Dieter 1:4.8.0-3 - python-marble: fix versioned dependency * Fri Feb 03 2012 Rex Dieter 1:4.8.0-2 - enable (experimental) python bindings - s/kdebase-runtime/kde-runtime/ * Sun Jan 22 2012 Rex Dieter - 1:4.8.0-1 - 4.8.0 * Wed Jan 04 2012 Radek Novacek - 1:4.7.97-1 - 4.7.97 * Wed Dec 21 2011 Radek Novacek - 1:4.7.95-1 - 4.7.95 * Mon Dec 05 2011 Rex Dieter 1:4.7.90-2 - set IGNORE_CMAKE_INSTALL_PREFIX_FOR_DECLARATIVE_PLUGINS * Sun Dec 04 2011 Rex Dieter - 1:4.7.90-1 - 4.7.90 * Fri Nov 25 2011 Rex Dieter 1:4.7.80-1 - 4.7.80 * Sat Oct 29 2011 Rex Dieter 1:4.7.3-1 - 4.7.3 - pkgconfig-style deps * Tue Oct 04 2011 Rex Dieter 1:4.7.2-1 - 4.7.2 * Sat Sep 17 2011 Rex Dieter 1:4.7.1-2 - Provides: kdeedu-marble%%{?_isa} * Fri Sep 16 2011 Rex Dieter 1:4.7.1-1 - 4.7.1 * Wed Sep 14 2011 Rex Dieter 1:4.7.0-11 - update URL * Tue Aug 30 2011 Rex Dieter 1:4.7.0-10 - first try