diff mbox

[WIP,0/8] GNOME Maps

Message ID 20160614072236.GA18937@jasmine
State New
Headers show

Commit Message

Leo Famulari June 14, 2016, 7:22 a.m. UTC
On Mon, May 02, 2016 at 10:37:06AM +0200, Ludovic Courtès wrote:
> Leo Famulari <leo@famulari.name> skribis:
> 
> > $ gnome-maps
> > ** (org.gnome.Maps:14112): WARNING **: Failed to load shared library 'libgoa-1.0.so.0' referenced by the typelib: libgoa-1.0.so.0: cannot open shared object file: No such file or directory
> 
> It says “warning”, but that’s probably a significant issue since libgoa
> is the “GNOME Online Accounts” library.  I suppose this can be fixed by
> adding ‘gnome-online-accounts’ to the LD_LIBRARY_PATH.  Could you try
> this?

It works for version 3.18.2! Attached.

But now 3.20.1 is out, and I want to use that version. It fails like
this:

---
$ ./pre-inst-env guix environment --ad-hoc gnome-maps -- gnome-maps
(org.gnome.Maps:30607): Gjs-WARNING **: JS ERROR: Error: Requiring Geoclue, version none: Typelib file for namespace 'Geoclue' (any version) not found
@resource:///org/gnome/Maps/js/geoclue.js:23
@resource:///org/gnome/Maps/js/application.js:34
@resource:///org/gnome/Maps/js/main.js:43
start@resource:///org/gnome/gjs/modules/package.js:176
@/gnu/store/9dsfcqfnpjg81mbibxi5qvnbcz29srzy-gnome-maps-3.20.1/share/gnome-maps/org.gnome.Maps:5

JS_EvaluateScript() failed
---

So, I'm building geoclue with gobject-introspection overnight.

Comments

Ludovic Courtès June 14, 2016, 12:17 p.m. UTC | #1
Leo Famulari <leo@famulari.name> skribis:

> On Mon, May 02, 2016 at 10:37:06AM +0200, Ludovic Courtès wrote:
>> Leo Famulari <leo@famulari.name> skribis:
>> 
>> > $ gnome-maps
>> > ** (org.gnome.Maps:14112): WARNING **: Failed to load shared library 'libgoa-1.0.so.0' referenced by the typelib: libgoa-1.0.so.0: cannot open shared object file: No such file or directory
>> 
>> It says “warning”, but that’s probably a significant issue since libgoa
>> is the “GNOME Online Accounts” library.  I suppose this can be fixed by
>> adding ‘gnome-online-accounts’ to the LD_LIBRARY_PATH.  Could you try
>> this?
>
> It works for version 3.18.2! Attached.

Cool, let’s commit this one as a starting point!

> But now 3.20.1 is out, and I want to use that version. It fails like
> this:
>
> ---
> $ ./pre-inst-env guix environment --ad-hoc gnome-maps -- gnome-maps
> (org.gnome.Maps:30607): Gjs-WARNING **: JS ERROR: Error: Requiring Geoclue, version none: Typelib file for namespace 'Geoclue' (any version) not found
> @resource:///org/gnome/Maps/js/geoclue.js:23
> @resource:///org/gnome/Maps/js/application.js:34
> @resource:///org/gnome/Maps/js/main.js:43
> start@resource:///org/gnome/gjs/modules/package.js:176
> @/gnu/store/9dsfcqfnpjg81mbibxi5qvnbcz29srzy-gnome-maps-3.20.1/share/gnome-maps/org.gnome.Maps:5
>
> JS_EvaluateScript() failed
> ---
>
> So, I'm building geoclue with gobject-introspection overnight.

Did we eventually figure out where/how this thing looks for typelib
file/gobject-introspection data?  It seems to be a “simple matter” of
telling it where to look for whatever it’s looking for.  :-)

> From 95bc258f419673e1e311429383a08d850155fac9 Mon Sep 17 00:00:00 2001
> From: Leo Famulari <leo@famulari.name>
> Date: Sat, 5 Mar 2016 02:33:09 -0500
> Subject: [PATCH] gnu: Add gnome-maps.
>
> * gnu/packages/maps.scm: New file.
> * gnu-system.am (GNU_SYSTEM_MODULES): Add it.

Make sure to add a license header, but otherwise LGTM, thanks!

Ludo’.
Leo Famulari June 14, 2016, 2:21 p.m. UTC | #2
On Tue, Jun 14, 2016 at 02:17:52PM +0200, Ludovic Courtès wrote:
> Leo Famulari <leo@famulari.name> skribis:
> > It works for version 3.18.2! Attached.
> 
> Cool, let’s commit this one as a starting point!

Soon :) I need to clean it up and re-review the earlier part of the
patch series.

> > But now 3.20.1 is out, and I want to use that version. It fails like
> > this:
> >
> > ---
> > $ ./pre-inst-env guix environment --ad-hoc gnome-maps -- gnome-maps
> > (org.gnome.Maps:30607): Gjs-WARNING **: JS ERROR: Error: Requiring Geoclue, version none: Typelib file for namespace 'Geoclue' (any version) not found
> > @resource:///org/gnome/Maps/js/geoclue.js:23
> > @resource:///org/gnome/Maps/js/application.js:34
> > @resource:///org/gnome/Maps/js/main.js:43
> > start@resource:///org/gnome/gjs/modules/package.js:176
> > @/gnu/store/9dsfcqfnpjg81mbibxi5qvnbcz29srzy-gnome-maps-3.20.1/share/gnome-maps/org.gnome.Maps:5
> >
> > JS_EvaluateScript() failed
> > ---
> >
> > So, I'm building geoclue with gobject-introspection overnight.

Doing this worked. But of course there are more problems :)

> Did we eventually figure out where/how this thing looks for typelib
> file/gobject-introspection data?  It seems to be a “simple matter” of
> telling it where to look for whatever it’s looking for.  :-)

I'll contact the upstream developers for advice.
diff mbox

Patch

From 95bc258f419673e1e311429383a08d850155fac9 Mon Sep 17 00:00:00 2001
From: Leo Famulari <leo@famulari.name>
Date: Sat, 5 Mar 2016 02:33:09 -0500
Subject: [PATCH] gnu: Add gnome-maps.

* gnu/packages/maps.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
---
 gnu/packages/maps.scm | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 65 insertions(+)
 create mode 100644 gnu/packages/maps.scm

diff --git a/gnu/packages/maps.scm b/gnu/packages/maps.scm
new file mode 100644
index 0000000..057f81a
--- /dev/null
+++ b/gnu/packages/maps.scm
@@ -0,0 +1,65 @@ 
+(define-module (gnu packages maps)
+  #:use-module (guix build-system glib-or-gtk)
+  #:use-module (guix download)
+  #:use-module (guix licenses)
+  #:use-module (guix packages)
+  #:use-module (guix utils)
+  #:use-module (gnu packages glib) ; intltool
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages webkit)
+  #:use-module (gnu packages xml))
+
+(define-public gnome-maps
+  (package
+    (name "gnome-maps")
+    (version "3.18.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version) "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0y4jmh5hwskh2mnladh9hxp9k8as7crm8wwwiifvxsjjj9az2gv9"))))
+    (build-system glib-or-gtk-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after
+          'install 'wrap
+          (lambda* (#:key inputs outputs #:allow-other-keys)
+            (let ((out (assoc-ref outputs "out"))
+                  (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
+                  (goa-path (string-append
+                              (assoc-ref inputs "gnome-online-accounts")
+                              "/lib")))
+              (wrap-program (string-append out "/bin/gnome-maps")
+               `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
+               `("LD_LIBRARY_PATH" ":" prefix (,goa-path)))
+              #t))))))
+    (native-inputs
+     `(("gobject-introspection" ,gobject-introspection)
+       ("intltool" ,intltool)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("folks" ,folks)
+       ("libchamplain" ,libchamplain)
+       ("libgee" ,libgee)
+       ("libxml2" ,libxml2)
+       ("geoclue" ,geoclue)
+       ("geocode-glib" ,geocode-glib)
+       ("gfbgraph" ,gfbgraph)
+       ("gjs" ,gjs)
+       ("glib" ,glib)
+       ("gnome-online-accounts" ,gnome-online-accounts) ; necessary?
+       ("rest" ,rest)
+       ("webkitgtk" ,webkitgtk))) ; necessary?
+    (propagated-inputs
+     `(("gtk+3" ,gtk+))) ; necessary?
+    (synopsis "Graphical map viewer")
+    (description "GNOME Maps is a graphical map viewer.  It uses map data from
+the OpenStreetMap project.")
+    (home-page "https://wiki.gnome.org/Apps/Maps")
+    (license gpl2+)))
-- 
2.8.4