guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

libgit2, libgit2-glib: pkg-config file: dependencies on other libraries:


From: Danny Milosavljevic
Subject: libgit2, libgit2-glib: pkg-config file: dependencies on other libraries: how to represent them in Guix?
Date: Fri, 17 Jun 2016 19:56:57 +0200

Hi,

I'm trying to package libgit2-glib and gnome-builder.

- libgit2 has openssl as input.
- libgit2-glib installs a pkg-config file.
- gnome-builder uses libgit2-glib .

Something always complains about missing openssl parts.

For example I can get
  Package 'openssl', required by 'libgit2', not found
when building libgit2-glib.

Almost whatever else I do instead, the error wanders around in the DAG.

In order to make it work I added openssl as a propagated input in libgit2-glib. 
This does work.

But is it the right fix?

Preliminary patch see below (don't commit it!):

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 74c4be6..fd3e75b 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -115,6 +115,7 @@
   #:use-module (gnu packages samba)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages fonts)
+  #:use-module (gnu packages version-control)
   #:use-module (srfi srfi-1))
 
 (define-public brasero
@@ -1960,6 +1961,41 @@ various wrappers for the complex data types employed by 
JSON, such as arrays
 and objects.")
     (license license:lgpl2.1+)))
 
+(define-public libgit2-glib
+  (package
+    (name "libgit2-glib")
+    (version "0.24.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version) "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0ia81xlyf6qmyl89ql663piliyjmhnzrshd6q66zya0wh9lc45nn"))
+              (modules '((guix build utils)))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("glib" ,glib "bin")              ;for glib-mkenums and glib-genmarshal
+       ("gobject-introspection" ,gobject-introspection)
+       ("pkg-config" ,pkg-config)))
+    (propagated-inputs
+     `(("glib" ,glib)
+       ("libgit2" ,libgit2)
+       ("openssl" ,openssl) ; actually, this is already needed by libgit2 
itself.
+))
+    (inputs
+     `(
+       ("zlib" ,zlib)
+       ("libssh2" ,libssh2)
+       ; Note: make dist would need gtk-doc
+))
+    (home-page "https://wiki.gnome.org/Projects/Libgit2-glib";)
+    (synopsis "Git-GLib wrapper")
+    (description
+     "GIT-GLib is a C library based on GLib providing Git support.")
+    (license license:lgpl2.1+)))
+
 (define-public libxklavier
   (package
     (name "libxklavier")
@@ -5386,3 +5422,35 @@ compiled.")
 GLib/GObject code.")
     (home-page "https://wiki.gnome.org/Projects/GFBGraph";)
     (license license:lgpl2.1+)))
+
+(define-public gnome-builder
+ (package
+    (name "gnome-builder")
+    (version "3.18.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://gnome/sources/" name "/"
+                    (version-major+minor version) "/"
+                    name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0z20wlv1i6w1srrmkabqxqx2rzkp4d4n7s28ax5a936g1li9a72h"))))
+    (build-system glib-or-gtk-build-system)
+    (native-inputs
+     `(("intltool" ,intltool)
+       ("glib:bin" ,glib "bin") ; glib-compile-schemas, etc.
+       ("pkg-config" ,pkg-config)
+       ("gobject-introspection" ,gobject-introspection)))
+    (inputs
+     `(("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("gtksourceview" ,gtksourceview)
+       ("libgit2-glib" ,libgit2-glib)
+       ("libpeas" ,libpeas)))
+    (synopsis "General-Purpose Integrated Development Environment")
+    (description "GNOME Builder ...")
+    (home-page "https://wiki.gnome.org/Apps/Builder";)
+    (license license:gpl3)
+))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]