all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Danny Milosavljevic <dannym@scratchpost.org>
To: guix-devel@gnu.org
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	[thread overview]
Message-ID: <20160617195657.38541268@scratchpost.org> (raw)

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	other threads:[~2016-06-17 17:57 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-17 17:56 Danny Milosavljevic [this message]
2016-06-18  7:47 ` libgit2, libgit2-glib: pkg-config file: dependencies on other libraries: how to represent them in Guix? Ricardo Wurmus
2016-06-18  9:10   ` Danny Milosavljevic
2016-06-19 13:53     ` Ludovic Courtès
2016-06-18  9:16   ` Danny Milosavljevic

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160617195657.38541268@scratchpost.org \
    --to=dannym@scratchpost.org \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.