summaryrefslogtreecommitdiff
path: root/extra/kdeedu-marble
diff options
context:
space:
mode:
authorMichał Masłowski <mtjm@mtjm.eu>2012-02-11 12:04:22 +0100
committerMichał Masłowski <mtjm@mtjm.eu>2012-02-11 12:04:22 +0100
commit020644b613452cc7ab48474b463e4a9d1088d8a3 (patch)
treeb1e2ae353ab1f58e0513bf5cef15ea87eacba1ff /extra/kdeedu-marble
parent9268c5eeb9d68cd786f5a7beaed3b5672adb5287 (diff)
parent9d1489b877a1fa7c2674cf1f744804db42d93bfc (diff)
Merge branch 'master' of ssh://parabolagnulinux.org:1863/home/parabola/abslibre-pre-mips64el
Conflicts: community/librep/PKGBUILD extra/pixman/PKGBUILD
Diffstat (limited to 'extra/kdeedu-marble')
-rw-r--r--extra/kdeedu-marble/PKGBUILD13
-rw-r--r--extra/kdeedu-marble/fix-with-qt48.patch87
2 files changed, 96 insertions, 4 deletions
diff --git a/extra/kdeedu-marble/PKGBUILD b/extra/kdeedu-marble/PKGBUILD
index 43c2284ad..3c738d6ec 100644
--- a/extra/kdeedu-marble/PKGBUILD
+++ b/extra/kdeedu-marble/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 147794 2012-01-28 10:33:10Z andrea $
+# $Id: PKGBUILD 149702 2012-02-09 14:11:37Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
pkgname=kdeedu-marble
pkgver=4.8.0
-pkgrel=1
+pkgrel=2
pkgdesc="Desktop Globe"
url="http://kde.org/applications/education/marble/"
arch=('i686' 'x86_64' 'mips64el')
@@ -13,10 +13,15 @@ depends=('kdebase-runtime')
makedepends=('cmake' 'automoc4' 'gpsd')
optdepends=('gpsd: gps support')
install=${pkgname}.install
-source=("http://download.kde.org/stable/${pkgver}/src/marble-${pkgver}.tar.bz2")
-sha1sums=('6c3c6b03c9d8e92730d6955adcbdb5de42fda43d')
+source=("http://download.kde.org/stable/${pkgver}/src/marble-${pkgver}.tar.bz2"
+ 'fix-with-qt48.patch')
+sha1sums=('6c3c6b03c9d8e92730d6955adcbdb5de42fda43d'
+ '3ec130564aa1b7a61a0c3cd51533c69c6c35bd0e')
build() {
+ cd "${srcdir}"/marble-${pkgver}
+ patch -p1 -i "${srcdir}"/fix-with-qt48.patch
+
cd "${srcdir}"
mkdir build
cd build
diff --git a/extra/kdeedu-marble/fix-with-qt48.patch b/extra/kdeedu-marble/fix-with-qt48.patch
new file mode 100644
index 000000000..3694a48fb
--- /dev/null
+++ b/extra/kdeedu-marble/fix-with-qt48.patch
@@ -0,0 +1,87 @@
+commit 79c39f45468bace95169d1ba959884ce27087d1e
+Author: Torsten Rahn <rahn@kde.org>
+Date: Wed Feb 8 17:18:15 2012 +0100
+
+ Fixes for Marble with Qt 4.8:
+
+ - Provide proper colors for Marble's Atlas, Temperature,
+ Precipitation and Venus/Mars Topography maps.
+ ( due to introduction of QImage::fill( QColor ) overload )
+
+ - Show proper icons for MarbleLegendBrowser
+ ( due to new interpretation of the "current directory" in
+ QTextBrowser )
+
+diff --git a/src/lib/MarbleLegendBrowser.cpp b/src/lib/MarbleLegendBrowser.cpp
+index 4a25095..ffa0a23 100644
+--- a/src/lib/MarbleLegendBrowser.cpp
++++ b/src/lib/MarbleLegendBrowser.cpp
+@@ -130,26 +130,24 @@ void MarbleLegendBrowser::loadLegend()
+ t.start();
+
+ // Read the html string.
+- QString finalHtml;
++ QString legendPath;
+
+ // Check for a theme specific legend.html first
+ if ( d->m_marbleModel != 0 && d->m_marbleModel->mapTheme() != 0 )
+ {
+ GeoSceneDocument *currentMapTheme = d->m_marbleModel->mapTheme();
+
+- QString customLegendPath = MarbleDirs::path( "maps/" +
++ legendPath = MarbleDirs::path( "maps/" +
+ currentMapTheme->head()->target() + '/' +
+ currentMapTheme->head()->theme() + "/legend.html" );
+- if ( !customLegendPath.isEmpty() )
+- finalHtml = readHtml( QUrl::fromLocalFile( customLegendPath ) );
+- else
+- finalHtml.clear();
+ }
+-
+- if ( finalHtml.isEmpty() ) {
+- finalHtml = readHtml( QUrl::fromLocalFile( MarbleDirs::path( "legend.html" ) ) );
++ if ( legendPath.isEmpty() ) {
++ legendPath = MarbleDirs::path( "legend.html" );
+ }
+
++ QString finalHtml = readHtml( QUrl::fromLocalFile( legendPath ) );
++ finalHtml.replace( QString( "./" ), legendPath.section( '/', 0, -2 ) + '/' );
++
+ // Generate some parts of the html from the MapTheme <Legend> tag.
+ const QString sectionsHtml = generateSectionsHtml();
+
+diff --git a/src/lib/TextureColorizer.cpp b/src/lib/TextureColorizer.cpp
+index 4a4f8f3..d0deead 100644
+--- a/src/lib/TextureColorizer.cpp
++++ b/src/lib/TextureColorizer.cpp
+@@ -176,7 +176,7 @@ void TextureColorizer::colorize( QImage *origimg, const ViewportParams *viewport
+ m_coastImage = QImage( viewport->size(), QImage::Format_RGB32 );
+
+ // update coast image
+- m_coastImage.fill( Qt::transparent );
++ m_coastImage.fill( QColor( 0, 0, 255, 0) );
+
+ bool doClip = false; //assume false
+ switch( viewport->projection() ) {
+commit b89ff577fcbd085fbd180f59aa669dded1818082
+Author: Bernhard Beschow <bbeschow@cs.tu-berlin.de>
+Date: Wed Feb 8 18:14:59 2012 +0100
+
+ compile with Qt < 4.8
+
+ * take into account the comment in the API doc, which suggests to use QColor::rgb()
+ (cherry picked from commit 6eafb31f509c622e2672c31b73ebcb1b3dafb3e9)
+
+diff --git a/src/lib/TextureColorizer.cpp b/src/lib/TextureColorizer.cpp
+index d0deead..9319a89 100644
+--- a/src/lib/TextureColorizer.cpp
++++ b/src/lib/TextureColorizer.cpp
+@@ -176,7 +176,7 @@ void TextureColorizer::colorize( QImage *origimg, const ViewportParams *viewport
+ m_coastImage = QImage( viewport->size(), QImage::Format_RGB32 );
+
+ // update coast image
+- m_coastImage.fill( QColor( 0, 0, 255, 0) );
++ m_coastImage.fill( QColor( 0, 0, 255, 0).rgb() );
+
+ bool doClip = false; //assume false
+ switch( viewport->projection() ) {