* [PATCH 1/6] gnu: gobject-introspection: look for 'gcc' when no compiler seems available.
2013-11-30 1:13 [PATCH 0/6] Add eog Cyril Roelandt
@ 2013-11-30 1:13 ` Cyril Roelandt
2013-11-30 21:59 ` Ludovic Courtès
2013-11-30 1:13 ` [PATCH 2/6] gnu: gtk+: enable introspection Cyril Roelandt
` (4 subsequent siblings)
5 siblings, 1 reply; 41+ messages in thread
From: Cyril Roelandt @ 2013-11-30 1:13 UTC (permalink / raw)
To: guix-devel
* gnu/packages/patches/gobject-introspection.patch: New file.
---
gnu-system.am | 1 +
gnu/packages/glib.scm | 7 ++++---
gnu/packages/patches/gobject-introspection-cc.patch | 15 +++++++++++++++
3 files changed, 20 insertions(+), 3 deletions(-)
create mode 100644 gnu/packages/patches/gobject-introspection-cc.patch
diff --git a/gnu-system.am b/gnu-system.am
index 2a0a88f..5533143 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -239,6 +239,7 @@ dist_patch_DATA = \
gnu/packages/patches/glibc-bootstrap-system.patch \
gnu/packages/patches/glibc-ldd-x86_64.patch \
gnu/packages/patches/glibc-make-4.0.patch \
+ gnu/packages/patches/gobject-introspection-cc.patch \
gnu/packages/patches/grub-gets-undeclared.patch \
gnu/packages/patches/gstreamer-0.10-bison3.patch \
gnu/packages/patches/gstreamer-0.10-silly-test.patch \
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index fc65f30..1ff873d 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -176,7 +176,8 @@ dynamic loading, and an object system.")
"/gobject-introspection-"
version ".tar.xz"))
(sha256
- (base32 "0wvxyvgajmms2bb6k3pf1rdpnd79xdxamykzvxzmcyn1ag9yax9m"))))
+ (base32 "0wvxyvgajmms2bb6k3pf1rdpnd79xdxamykzvxzmcyn1ag9yax9m"))
+ (patches (list (search-patch "gobject-introspection-cc.patch")))))
(build-system gnu-build-system)
(inputs
`(("bison" ,bison)
@@ -192,8 +193,8 @@ dynamic loading, and an object system.")
'configure
(lambda* (#:key #:allow-other-keys #:rest args)
(let ((configure (assoc-ref %standard-phases 'configure)))
- ;; giscanner/sourcescanner.py looks for 'CC', let's set it here.
- (setenv "CC" "gcc")
+ (substitute* "giscanner/sourcescanner.py"
+ (("GUIX_GCC_PATH") (which "gcc")))
(apply configure args)))
%standard-phases)))
(home-page "https://wiki.gnome.org/GObjectIntrospection")
diff --git a/gnu/packages/patches/gobject-introspection-cc.patch b/gnu/packages/patches/gobject-introspection-cc.patch
new file mode 100644
index 0000000..280c5d3
--- /dev/null
+++ b/gnu/packages/patches/gobject-introspection-cc.patch
@@ -0,0 +1,15 @@
+Try $CC, 'cc', and finally 'gcc'.
+--- a/giscanner/sourcescanner.py.orig 2013-10-16 03:41:25.381719000 +0200
++++ b/giscanner/sourcescanner.py 2013-10-16 03:43:35.533719000 +0200
+@@ -277,6 +277,11 @@
+ defines = ['__GI_SCANNER__']
+ undefs = []
+ cpp_args = os.environ.get('CC', 'cc').split() # support CC="ccache gcc"
++ if (cpp_args == ['cc'] and
++ not any(map(lambda x: os.access(os.path.join(x, 'cc'), os.X_OK),
++ os.environ.get('PATH')))):
++ cpp_args = ['GUIX_GCC_PATH']
++
+ if 'cl' in cpp_args:
+ # The Microsoft compiler/preprocessor (cl) does not accept
+ # source input from stdin (the '-' flag), so we need
--
1.8.4.rc3
^ permalink raw reply related [flat|nested] 41+ messages in thread
* Re: [PATCH 1/6] gnu: gobject-introspection: look for 'gcc' when no compiler seems available.
2013-11-30 1:13 ` [PATCH 1/6] gnu: gobject-introspection: look for 'gcc' when no compiler seems available Cyril Roelandt
@ 2013-11-30 21:59 ` Ludovic Courtès
2013-12-01 3:15 ` Cyril Roelandt
0 siblings, 1 reply; 41+ messages in thread
From: Ludovic Courtès @ 2013-11-30 21:59 UTC (permalink / raw)
To: Cyril Roelandt; +Cc: guix-devel
Hello!
Thanks for looking into this!
Cyril Roelandt <tipecaml@gmail.com> skribis:
> @@ -192,8 +193,8 @@ dynamic loading, and an object system.")
> 'configure
> (lambda* (#:key #:allow-other-keys #:rest args)
> (let ((configure (assoc-ref %standard-phases 'configure)))
> - ;; giscanner/sourcescanner.py looks for 'CC', let's set it here.
> - (setenv "CC" "gcc")
> + (substitute* "giscanner/sourcescanner.py"
> + (("GUIX_GCC_PATH") (which "gcc")))
> (apply configure args)))
> %standard-phases)))
> (home-page "https://wiki.gnome.org/GObjectIntrospection")
> diff --git a/gnu/packages/patches/gobject-introspection-cc.patch b/gnu/packages/patches/gobject-introspection-cc.patch
> new file mode 100644
> index 0000000..280c5d3
> --- /dev/null
> +++ b/gnu/packages/patches/gobject-introspection-cc.patch
> @@ -0,0 +1,15 @@
> +Try $CC, 'cc', and finally 'gcc'.
> +--- a/giscanner/sourcescanner.py.orig 2013-10-16 03:41:25.381719000 +0200
> ++++ b/giscanner/sourcescanner.py 2013-10-16 03:43:35.533719000 +0200
> +@@ -277,6 +277,11 @@
> + defines = ['__GI_SCANNER__']
> + undefs = []
> + cpp_args = os.environ.get('CC', 'cc').split() # support CC="ccache gcc"
> ++ if (cpp_args == ['cc'] and
> ++ not any(map(lambda x: os.access(os.path.join(x, 'cc'), os.X_OK),
> ++ os.environ.get('PATH')))):
> ++ cpp_args = ['GUIX_GCC_PATH']
Wouldn’t it work to just do:
(substitute* "giscanner/sourcescanner.py"
(("'cc'") (which "gcc")))
That way the patch wouldn’t even be needed.
WDYT?
Ludo’.
^ permalink raw reply [flat|nested] 41+ messages in thread
* Re: [PATCH 1/6] gnu: gobject-introspection: look for 'gcc' when no compiler seems available.
2013-11-30 21:59 ` Ludovic Courtès
@ 2013-12-01 3:15 ` Cyril Roelandt
2013-12-01 22:11 ` Ludovic Courtès
0 siblings, 1 reply; 41+ messages in thread
From: Cyril Roelandt @ 2013-12-01 3:15 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel
On 11/30/2013 10:59 PM, Ludovic Courtès wrote:
> Hello!
>
> Thanks for looking into this!
>
> Cyril Roelandt <tipecaml@gmail.com> skribis:
>
>> @@ -192,8 +193,8 @@ dynamic loading, and an object system.")
>> 'configure
>> (lambda* (#:key #:allow-other-keys #:rest args)
>> (let ((configure (assoc-ref %standard-phases 'configure)))
>> - ;; giscanner/sourcescanner.py looks for 'CC', let's set it here.
>> - (setenv "CC" "gcc")
>> + (substitute* "giscanner/sourcescanner.py"
>> + (("GUIX_GCC_PATH") (which "gcc")))
>> (apply configure args)))
>> %standard-phases)))
>> (home-page "https://wiki.gnome.org/GObjectIntrospection")
>> diff --git a/gnu/packages/patches/gobject-introspection-cc.patch b/gnu/packages/patches/gobject-introspection-cc.patch
>> new file mode 100644
>> index 0000000..280c5d3
>> --- /dev/null
>> +++ b/gnu/packages/patches/gobject-introspection-cc.patch
>> @@ -0,0 +1,15 @@
>> +Try $CC, 'cc', and finally 'gcc'.
>> +--- a/giscanner/sourcescanner.py.orig 2013-10-16 03:41:25.381719000 +0200
>> ++++ b/giscanner/sourcescanner.py 2013-10-16 03:43:35.533719000 +0200
>> +@@ -277,6 +277,11 @@
>> + defines = ['__GI_SCANNER__']
>> + undefs = []
>> + cpp_args = os.environ.get('CC', 'cc').split() # support CC="ccache gcc"
>> ++ if (cpp_args == ['cc'] and
>> ++ not any(map(lambda x: os.access(os.path.join(x, 'cc'), os.X_OK),
>> ++ os.environ.get('PATH')))):
>> ++ cpp_args = ['GUIX_GCC_PATH']
>
> Wouldn’t it work to just do:
>
> (substitute* "giscanner/sourcescanner.py"
> (("'cc'") (which "gcc")))
>
> That way the patch wouldn’t even be needed.
>
> WDYT?
>
As I was saying in
https://lists.gnu.org/archive/html/guix-devel/2013-10/msg00167.html ,
I'd rather stick to what the program is supposed to do before trying
alternatives. I first try to use $CC, then 'cc', and finally (which "gcc").
Cyril.
^ permalink raw reply [flat|nested] 41+ messages in thread
* Re: [PATCH 1/6] gnu: gobject-introspection: look for 'gcc' when no compiler seems available.
2013-12-01 3:15 ` Cyril Roelandt
@ 2013-12-01 22:11 ` Ludovic Courtès
0 siblings, 0 replies; 41+ messages in thread
From: Ludovic Courtès @ 2013-12-01 22:11 UTC (permalink / raw)
To: Cyril Roelandt; +Cc: guix-devel
Cyril Roelandt <tipecaml@gmail.com> skribis:
> On 11/30/2013 10:59 PM, Ludovic Courtès wrote:
>> Hello!
>>
>> Thanks for looking into this!
>>
>> Cyril Roelandt <tipecaml@gmail.com> skribis:
>>
>>> @@ -192,8 +193,8 @@ dynamic loading, and an object system.")
>>> 'configure
>>> (lambda* (#:key #:allow-other-keys #:rest args)
>>> (let ((configure (assoc-ref %standard-phases 'configure)))
>>> - ;; giscanner/sourcescanner.py looks for 'CC', let's set it here.
>>> - (setenv "CC" "gcc")
>>> + (substitute* "giscanner/sourcescanner.py"
>>> + (("GUIX_GCC_PATH") (which "gcc")))
>>> (apply configure args)))
>>> %standard-phases)))
>>> (home-page "https://wiki.gnome.org/GObjectIntrospection")
>>> diff --git a/gnu/packages/patches/gobject-introspection-cc.patch b/gnu/packages/patches/gobject-introspection-cc.patch
>>> new file mode 100644
>>> index 0000000..280c5d3
>>> --- /dev/null
>>> +++ b/gnu/packages/patches/gobject-introspection-cc.patch
>>> @@ -0,0 +1,15 @@
>>> +Try $CC, 'cc', and finally 'gcc'.
>>> +--- a/giscanner/sourcescanner.py.orig 2013-10-16 03:41:25.381719000 +0200
>>> ++++ b/giscanner/sourcescanner.py 2013-10-16 03:43:35.533719000 +0200
>>> +@@ -277,6 +277,11 @@
>>> + defines = ['__GI_SCANNER__']
>>> + undefs = []
>>> + cpp_args = os.environ.get('CC', 'cc').split() # support CC="ccache gcc"
>>> ++ if (cpp_args == ['cc'] and
>>> ++ not any(map(lambda x: os.access(os.path.join(x, 'cc'), os.X_OK),
>>> ++ os.environ.get('PATH')))):
>>> ++ cpp_args = ['GUIX_GCC_PATH']
>>
>> Wouldn’t it work to just do:
>>
>> (substitute* "giscanner/sourcescanner.py"
>> (("'cc'") (which "gcc")))
>>
>> That way the patch wouldn’t even be needed.
>>
>> WDYT?
>>
>
> As I was saying in
> https://lists.gnu.org/archive/html/guix-devel/2013-10/msg00167.html ,
> I'd rather stick to what the program is supposed to do before trying
> alternatives. I first try to use $CC, then 'cc', and finally (which
> "gcc").
Oh right, that makes sense. OK to push!
Ludo’.
^ permalink raw reply [flat|nested] 41+ messages in thread
* [PATCH 2/6] gnu: gtk+: enable introspection.
2013-11-30 1:13 [PATCH 0/6] Add eog Cyril Roelandt
2013-11-30 1:13 ` [PATCH 1/6] gnu: gobject-introspection: look for 'gcc' when no compiler seems available Cyril Roelandt
@ 2013-11-30 1:13 ` Cyril Roelandt
2013-11-30 22:01 ` Ludovic Courtès
2013-11-30 1:13 ` [PATCH 3/6] gnu: Add libpeas Cyril Roelandt
` (3 subsequent siblings)
5 siblings, 1 reply; 41+ messages in thread
From: Cyril Roelandt @ 2013-11-30 1:13 UTC (permalink / raw)
To: guix-devel
* gnu/packages/gtk.scm (atk, gdk-pixbuf, gtk+, pango): enable introspection
---
gnu/packages/gtk.scm | 43 +++++++++++++++++++++++++++++++++++++++----
1 file changed, 39 insertions(+), 4 deletions(-)
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index dff98b9..9048fd0 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -28,6 +28,7 @@
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages glib)
#:use-module (gnu packages icu4c)
+ #:use-module (gnu packages libffi)
#:use-module (gnu packages libjpeg)
#:use-module (gnu packages libpng)
#:use-module (gnu packages libtiff)
@@ -53,6 +54,8 @@
"1c2hbg66wfvibsz2ia0ri48yr62751fn950i97c53j3b0fjifsb3"))))
(build-system gnu-build-system)
(inputs `(("glib" ,glib)
+ ("gobject-introspection" ,gobject-introspection)
+ ("libffi" ,libffi)
("pkg-config" ,pkg-config)))
(synopsis "GNOME accessibility toolkit")
(description
@@ -152,7 +155,9 @@ affine transformation (scale, rotation, shear, etc.)")
`(("cairo" ,cairo)
("harfbuzz" ,harfbuzz)))
(inputs
- `(("pkg-config" ,pkg-config)
+ `(("gobject-introspection" ,gobject-introspection)
+ ("libffi" ,libffi)
+ ("pkg-config" ,pkg-config)
("zlib" ,zlib)))
(synopsis "GNOME text and font handling library")
(description
@@ -176,6 +181,8 @@ used throughout the world.")
(build-system gnu-build-system)
(inputs
`(("glib" ,glib)
+ ("gobject-introspection", gobject-introspection)
+ ("libffi" ,libffi)
("libjpeg" ,libjpeg)
("libpng" ,libpng)
("libtiff" ,libtiff)
@@ -304,7 +311,9 @@ application suites.")
("libxinerama" ,libxinerama)
("pango" ,pango)))
(inputs
- `(("libxml2" ,libxml2)
+ `(("gobject-introspection" ,gobject-introspection)
+ ("libffi" ,libffi)
+ ("libxml2" ,libxml2)
("perl" ,perl)
("pkg-config" ,pkg-config)
("python-wrapper" ,python-wrapper)
@@ -313,8 +322,11 @@ application suites.")
`(#:phases
(alist-replace
'configure
- (lambda* (#:key #:allow-other-keys #:rest args)
- (let ((configure (assoc-ref %standard-phases 'configure)))
+ (lambda* (#:key inputs #:allow-other-keys #:rest args)
+ (let ((configure (assoc-ref %standard-phases 'configure))
+ (gir-path (lambda (pkg-name)
+ (string-append (assoc-ref inputs pkg-name)
+ "/share/gir-1.0"))))
;; Disable most tests, failing in the chroot with the message:
;; D-Bus library appears to be incorrectly set up; failed to read
;; machine uuid: Failed to open "/etc/machine-id": No such file or
@@ -322,6 +334,29 @@ application suites.")
;; See the manual page for dbus-uuidgen to correct this issue.
(substitute* "testsuite/Makefile.in"
(("SUBDIRS = gdk gtk a11y css reftests") "SUBDIRS = gdk"))
+
+ (substitute* "gdk/Makefile.in"
+ (("--add-include-path=../gdk")
+ (string-append
+ "--add-include-path=../gdk"
+ " --add-include-path=" (gir-path "gdk-pixbuf")
+ " --add-include-path=" (gir-path "pango")))
+ (("--includedir=\\.")
+ (string-append "--includedir=."
+ " --includedir=" (gir-path "gdk-pixbuf")
+ " --includedir=" (gir-path "pango"))))
+
+ (substitute* "gtk/Makefile.in"
+ (("--add-include-path=../gdk")
+ (string-append "--add-include-path=../gdk"
+ " --add-include-path=" (gir-path "atk")
+ " --add-include-path=" (gir-path "gdk-pixbuf")
+ " --add-include-path=" (gir-path "pango")))
+ (("--includedir=../gdk")
+ (string-append "--includedir=../gdk"
+ " --includedir=" (gir-path "atk")
+ " --includedir=" (gir-path "gdk-pixbuf")
+ " --includedir=" (gir-path "pango"))))
(apply configure args)))
%standard-phases)))))
--
1.8.4.rc3
^ permalink raw reply related [flat|nested] 41+ messages in thread
* Re: [PATCH 2/6] gnu: gtk+: enable introspection.
2013-11-30 1:13 ` [PATCH 2/6] gnu: gtk+: enable introspection Cyril Roelandt
@ 2013-11-30 22:01 ` Ludovic Courtès
2013-12-01 3:43 ` Cyril Roelandt
0 siblings, 1 reply; 41+ messages in thread
From: Ludovic Courtès @ 2013-11-30 22:01 UTC (permalink / raw)
To: Cyril Roelandt; +Cc: guix-devel
Cyril Roelandt <tipecaml@gmail.com> skribis:
> * gnu/packages/gtk.scm (atk, gdk-pixbuf, gtk+, pango): enable introspection
Looks good. One question though:
[...]
> (inputs `(("glib" ,glib)
> + ("gobject-introspection" ,gobject-introspection)
> + ("libffi" ,libffi)
[...]
> + `(("gobject-introspection" ,gobject-introspection)
> + ("libffi" ,libffi)
> + ("pkg-config" ,pkg-config)
[...]
> + ("gobject-introspection", gobject-introspection)
> + ("libffi" ,libffi)
[...]
> + `(("gobject-introspection" ,gobject-introspection)
> + ("libffi" ,libffi)
> + ("libxml2" ,libxml2)
Why is gobject-introspection always accompanied by libffi? Should
libffi be a propagated input of gobject-introspection?
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 41+ messages in thread
* Re: [PATCH 2/6] gnu: gtk+: enable introspection.
2013-11-30 22:01 ` Ludovic Courtès
@ 2013-12-01 3:43 ` Cyril Roelandt
2013-12-01 22:12 ` Ludovic Courtès
0 siblings, 1 reply; 41+ messages in thread
From: Cyril Roelandt @ 2013-12-01 3:43 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel
On 11/30/2013 11:01 PM, Ludovic Courtès wrote:
> Why is gobject-introspection always accompanied by libffi? Should
> libffi be a propagated input of gobject-introspection?
I've just checked that. Atk, pango (and similar packages) do not require
libffi. However, if they are compiled without libffi, then the gtk+
build will fail.
Cyril.
^ permalink raw reply [flat|nested] 41+ messages in thread
* Re: [PATCH 2/6] gnu: gtk+: enable introspection.
2013-12-01 3:43 ` Cyril Roelandt
@ 2013-12-01 22:12 ` Ludovic Courtès
2013-12-07 15:11 ` Cyril Roelandt
0 siblings, 1 reply; 41+ messages in thread
From: Ludovic Courtès @ 2013-12-01 22:12 UTC (permalink / raw)
To: Cyril Roelandt; +Cc: guix-devel
Cyril Roelandt <tipecaml@gmail.com> skribis:
> On 11/30/2013 11:01 PM, Ludovic Courtès wrote:
>> Why is gobject-introspection always accompanied by libffi? Should
>> libffi be a propagated input of gobject-introspection?
>
> I've just checked that. Atk, pango (and similar packages) do not
> require libffi. However, if they are compiled without libffi, then the
> gtk+ build will fail.
So it sounds like gobject-introspection functionality requires it in
practice, no? Or perhaps it’s libpeas that requires it?
Ludo’.
^ permalink raw reply [flat|nested] 41+ messages in thread
* Re: [PATCH 2/6] gnu: gtk+: enable introspection.
2013-12-01 22:12 ` Ludovic Courtès
@ 2013-12-07 15:11 ` Cyril Roelandt
2013-12-07 15:27 ` Ludovic Courtès
0 siblings, 1 reply; 41+ messages in thread
From: Cyril Roelandt @ 2013-12-07 15:11 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel
On 12/01/2013 11:12 PM, Ludovic Courtès wrote:
> Cyril Roelandt <tipecaml@gmail.com> skribis:
>
>> On 11/30/2013 11:01 PM, Ludovic Courtès wrote:
>>> Why is gobject-introspection always accompanied by libffi? Should
>>> libffi be a propagated input of gobject-introspection?
>>
>> I've just checked that. Atk, pango (and similar packages) do not
>> require libffi. However, if they are compiled without libffi, then the
>> gtk+ build will fail.
>
> So it sounds like gobject-introspection functionality requires it in
> practice, no? Or perhaps it’s libpeas that requires it?
>
I think it's really gtk+ that needs it. And if it can't be built, then
libpeas can't be built.
I think I'll add libffi as a propagated input of gobject-introspection.
Cyril.
^ permalink raw reply [flat|nested] 41+ messages in thread
* Re: [PATCH 2/6] gnu: gtk+: enable introspection.
2013-12-07 15:11 ` Cyril Roelandt
@ 2013-12-07 15:27 ` Ludovic Courtès
2013-12-08 20:32 ` [PATCH 2/6 v2] " Cyril Roelandt
0 siblings, 1 reply; 41+ messages in thread
From: Ludovic Courtès @ 2013-12-07 15:27 UTC (permalink / raw)
To: Cyril Roelandt; +Cc: guix-devel
Cyril Roelandt <tipecaml@gmail.com> skribis:
> On 12/01/2013 11:12 PM, Ludovic Courtès wrote:
>> Cyril Roelandt <tipecaml@gmail.com> skribis:
>>
>>> On 11/30/2013 11:01 PM, Ludovic Courtès wrote:
>>>> Why is gobject-introspection always accompanied by libffi? Should
>>>> libffi be a propagated input of gobject-introspection?
>>>
>>> I've just checked that. Atk, pango (and similar packages) do not
>>> require libffi. However, if they are compiled without libffi, then the
>>> gtk+ build will fail.
>>
>> So it sounds like gobject-introspection functionality requires it in
>> practice, no? Or perhaps it’s libpeas that requires it?
>>
>
> I think it's really gtk+ that needs it. And if it can't be built, then
> libpeas can't be built.
>
> I think I'll add libffi as a propagated input of gobject-introspection.
Yeah, it seems best. It’s part of the GIR thing:
https://developer.gnome.org/gi/1.38/gi-girffi.html
Ludo’.
^ permalink raw reply [flat|nested] 41+ messages in thread
* [PATCH 2/6 v2] gnu: gtk+: enable introspection.
2013-12-07 15:27 ` Ludovic Courtès
@ 2013-12-08 20:32 ` Cyril Roelandt
2013-12-08 23:53 ` Ludovic Courtès
0 siblings, 1 reply; 41+ messages in thread
From: Cyril Roelandt @ 2013-12-08 20:32 UTC (permalink / raw)
To: guix-devel
* gnu/packages/gtk.scm (atk, gdk-pixbuf, gtk+, pango): enable introspection
* guix/build/gnome.scm: New file.
---
Makefile.am | 1 +
gnu/packages/glib.scm | 3 ++-
gnu/packages/gtk.scm | 41 +++++++++++++++++++++++++++++++++++++----
guix/build/gnome.scm | 31 +++++++++++++++++++++++++++++++
4 files changed, 71 insertions(+), 5 deletions(-)
create mode 100644 guix/build/gnome.scm
diff --git a/Makefile.am b/Makefile.am
index a99f8c1..13088ff 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -52,6 +52,7 @@ MODULES = \
guix/ui.scm \
guix/build/download.scm \
guix/build/cmake-build-system.scm \
+ guix/build/gnome.scm \
guix/build/gnu-build-system.scm \
guix/build/gnu-dist.scm \
guix/build/linux-initrd.scm \
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 1ff873d..5a1e2e4 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -184,9 +184,10 @@ dynamic loading, and an object system.")
("cairo" ,cairo)
("flex" ,flex)
("glib" ,glib)
- ("libffi" ,libffi)
("pkg-config" ,pkg-config)
("python-2" ,python-2)))
+ (propagated-inputs
+ `(("libffi" ,libffi)))
(arguments
`(#:phases
(alist-replace
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 5aa95fe..d435b03 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -54,6 +54,7 @@
"1c2hbg66wfvibsz2ia0ri48yr62751fn950i97c53j3b0fjifsb3"))))
(build-system gnu-build-system)
(inputs `(("glib" ,glib)
+ ("gobject-introspection" ,gobject-introspection)
("pkg-config" ,pkg-config)))
(synopsis "GNOME accessibility toolkit")
(description
@@ -153,7 +154,8 @@ affine transformation (scale, rotation, shear, etc.)")
`(("cairo" ,cairo)
("harfbuzz" ,harfbuzz)))
(inputs
- `(("pkg-config" ,pkg-config)
+ `(("gobject-introspection" ,gobject-introspection)
+ ("pkg-config" ,pkg-config)
("zlib" ,zlib)))
(synopsis "GNOME text and font handling library")
(description
@@ -231,6 +233,7 @@ printing and other features typical of a source code editor.")
(build-system gnu-build-system)
(inputs
`(("glib" ,glib)
+ ("gobject-introspection", gobject-introspection)
("libjpeg" ,libjpeg)
("libpng" ,libpng)
("libtiff" ,libtiff)
@@ -359,16 +362,23 @@ application suites.")
("libxinerama" ,libxinerama)
("pango" ,pango)))
(inputs
- `(("libxml2" ,libxml2)
+ `(("gobject-introspection" ,gobject-introspection)
+ ("libxml2" ,libxml2)
("perl" ,perl)
("pkg-config" ,pkg-config)
("python-wrapper" ,python-wrapper)
("xorg-server" ,xorg-server)))
(arguments
- `(#:phases
+ `(#:modules ((guix build gnome)
+ (guix build gnu-build-system)
+ (guix build utils))
+ #:imported-modules ((guix build gnome)
+ (guix build gnu-build-system)
+ (guix build utils))
+ #:phases
(alist-replace
'configure
- (lambda* (#:key #:allow-other-keys #:rest args)
+ (lambda* (#:key inputs #:allow-other-keys #:rest args)
(let ((configure (assoc-ref %standard-phases 'configure)))
;; Disable most tests, failing in the chroot with the message:
;; D-Bus library appears to be incorrectly set up; failed to read
@@ -377,6 +387,29 @@ application suites.")
;; See the manual page for dbus-uuidgen to correct this issue.
(substitute* "testsuite/Makefile.in"
(("SUBDIRS = gdk gtk a11y css reftests") "SUBDIRS = gdk"))
+
+ (substitute* "gdk/Makefile.in"
+ (("--add-include-path=../gdk")
+ (string-append
+ "--add-include-path=../gdk"
+ " --add-include-path=" (gir-path inputs "gdk-pixbuf")
+ " --add-include-path=" (gir-path inputs "pango")))
+ (("--includedir=\\.")
+ (string-append "--includedir=."
+ " --includedir=" (gir-path inputs "gdk-pixbuf")
+ " --includedir=" (gir-path inputs "pango"))))
+
+ (substitute* "gtk/Makefile.in"
+ (("--add-include-path=../gdk")
+ (string-append "--add-include-path=../gdk"
+ " --add-include-path=" (gir-path inputs "atk")
+ " --add-include-path=" (gir-path inputs "gdk-pixbuf")
+ " --add-include-path=" (gir-path inputs "pango")))
+ (("--includedir=../gdk")
+ (string-append "--includedir=../gdk"
+ " --includedir=" (gir-path inputs "atk")
+ " --includedir=" (gir-path inputs "gdk-pixbuf")
+ " --includedir=" (gir-path inputs "pango"))))
(apply configure args)))
%standard-phases)))))
diff --git a/guix/build/gnome.scm b/guix/build/gnome.scm
new file mode 100644
index 0000000..a295fdf
--- /dev/null
+++ b/guix/build/gnome.scm
@@ -0,0 +1,31 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (guix build gnome)
+ #:export (gir-path))
+
+;;; Commentary:
+;;;
+;;; Tools commonly used when building GNOME programs.
+;;;
+;;; Code:
+
+(define (gir-path inputs pkg-name)
+ ""
+ (string-append (assoc-ref inputs pkg-name)
+ "/share/gir-1.0"))
--
1.8.4.rc3
^ permalink raw reply related [flat|nested] 41+ messages in thread
* Re: [PATCH 2/6 v2] gnu: gtk+: enable introspection.
2013-12-08 20:32 ` [PATCH 2/6 v2] " Cyril Roelandt
@ 2013-12-08 23:53 ` Ludovic Courtès
2013-12-10 23:43 ` [PATCH 2/6 v3] " Cyril Roelandt
0 siblings, 1 reply; 41+ messages in thread
From: Ludovic Courtès @ 2013-12-08 23:53 UTC (permalink / raw)
To: Cyril Roelandt; +Cc: guix-devel
Cyril Roelandt <tipecaml@gmail.com> skribis:
> * gnu/packages/gtk.scm (atk, gdk-pixbuf, gtk+, pango): enable introspection
> * guix/build/gnome.scm: New file.
[...]
> --- a/gnu/packages/glib.scm
> +++ b/gnu/packages/glib.scm
> @@ -184,9 +184,10 @@ dynamic loading, and an object system.")
> ("cairo" ,cairo)
> ("flex" ,flex)
> ("glib" ,glib)
> - ("libffi" ,libffi)
> ("pkg-config" ,pkg-config)
> ("python-2" ,python-2)))
> + (propagated-inputs
> + `(("libffi" ,libffi)))
Please add a comment saying that GIR users need to use libffi (to use
its headers, right?), hence the propagation.
> +
> + (substitute* "gdk/Makefile.in"
> + (("--add-include-path=../gdk")
> + (string-append
> + "--add-include-path=../gdk"
> + " --add-include-path=" (gir-path inputs "gdk-pixbuf")
> + " --add-include-path=" (gir-path inputs "pango")))
Add a comment above saying what this is all about (what program these
flags are for, and what they do.)
> +(define-module (guix build gnome)
> + #:export (gir-path))
> +
> +;;; Commentary:
> +;;;
> +;;; Tools commonly used when building GNOME programs.
> +;;;
> +;;; Code:
> +
> +(define (gir-path inputs pkg-name)
> + ""
> + (string-append (assoc-ref inputs pkg-name)
> + "/share/gir-1.0"))
Please add a docstring here (instead of ""), like
Return the GIR directory name for PKG-NAME found from INPUTS.
So I think ‘gir-directory’ would be more appropriate.
OK to push with these things fixed.
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 41+ messages in thread
* [PATCH 2/6 v3] gnu: gtk+: enable introspection.
2013-12-08 23:53 ` Ludovic Courtès
@ 2013-12-10 23:43 ` Cyril Roelandt
2013-12-11 21:09 ` Ludovic Courtès
0 siblings, 1 reply; 41+ messages in thread
From: Cyril Roelandt @ 2013-12-10 23:43 UTC (permalink / raw)
To: guix-devel
* gnu/packages/gtk.scm (atk, gdk-pixbuf, gtk+, pango): enable introspection
* guix/build/gnome.scm: New file.
---
Makefile.am | 1 +
gnu/packages/glib.scm | 5 ++++-
gnu/packages/gtk.scm | 43 +++++++++++++++++++++++++++++++++++++++----
guix/build/gnome.scm | 31 +++++++++++++++++++++++++++++++
4 files changed, 75 insertions(+), 5 deletions(-)
create mode 100644 guix/build/gnome.scm
diff --git a/Makefile.am b/Makefile.am
index a99f8c1..13088ff 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -52,6 +52,7 @@ MODULES = \
guix/ui.scm \
guix/build/download.scm \
guix/build/cmake-build-system.scm \
+ guix/build/gnome.scm \
guix/build/gnu-build-system.scm \
guix/build/gnu-dist.scm \
guix/build/linux-initrd.scm \
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 1ff873d..185b11a 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -184,9 +184,12 @@ dynamic loading, and an object system.")
("cairo" ,cairo)
("flex" ,flex)
("glib" ,glib)
- ("libffi" ,libffi)
("pkg-config" ,pkg-config)
("python-2" ,python-2)))
+ (propagated-inputs
+ `(;; In practice, GIR users will need libffi when using
+ ;; gobject-introspection.
+ ("libffi" ,libffi)))
(arguments
`(#:phases
(alist-replace
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 5aa95fe..f701122 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -54,6 +54,7 @@
"1c2hbg66wfvibsz2ia0ri48yr62751fn950i97c53j3b0fjifsb3"))))
(build-system gnu-build-system)
(inputs `(("glib" ,glib)
+ ("gobject-introspection" ,gobject-introspection)
("pkg-config" ,pkg-config)))
(synopsis "GNOME accessibility toolkit")
(description
@@ -153,7 +154,8 @@ affine transformation (scale, rotation, shear, etc.)")
`(("cairo" ,cairo)
("harfbuzz" ,harfbuzz)))
(inputs
- `(("pkg-config" ,pkg-config)
+ `(("gobject-introspection" ,gobject-introspection)
+ ("pkg-config" ,pkg-config)
("zlib" ,zlib)))
(synopsis "GNOME text and font handling library")
(description
@@ -231,6 +233,7 @@ printing and other features typical of a source code editor.")
(build-system gnu-build-system)
(inputs
`(("glib" ,glib)
+ ("gobject-introspection", gobject-introspection)
("libjpeg" ,libjpeg)
("libpng" ,libpng)
("libtiff" ,libtiff)
@@ -359,16 +362,23 @@ application suites.")
("libxinerama" ,libxinerama)
("pango" ,pango)))
(inputs
- `(("libxml2" ,libxml2)
+ `(("gobject-introspection" ,gobject-introspection)
+ ("libxml2" ,libxml2)
("perl" ,perl)
("pkg-config" ,pkg-config)
("python-wrapper" ,python-wrapper)
("xorg-server" ,xorg-server)))
(arguments
- `(#:phases
+ `(#:modules ((guix build gnome)
+ (guix build gnu-build-system)
+ (guix build utils))
+ #:imported-modules ((guix build gnome)
+ (guix build gnu-build-system)
+ (guix build utils))
+ #:phases
(alist-replace
'configure
- (lambda* (#:key #:allow-other-keys #:rest args)
+ (lambda* (#:key inputs #:allow-other-keys #:rest args)
(let ((configure (assoc-ref %standard-phases 'configure)))
;; Disable most tests, failing in the chroot with the message:
;; D-Bus library appears to be incorrectly set up; failed to read
@@ -377,6 +387,31 @@ application suites.")
;; See the manual page for dbus-uuidgen to correct this issue.
(substitute* "testsuite/Makefile.in"
(("SUBDIRS = gdk gtk a11y css reftests") "SUBDIRS = gdk"))
+
+ ;; We need to tell GIR where it can find some of the required .gir
+ ;; files.
+ (substitute* "gdk/Makefile.in"
+ (("--add-include-path=../gdk")
+ (string-append
+ "--add-include-path=../gdk"
+ " --add-include-path=" (gir-directory inputs "gdk-pixbuf")
+ " --add-include-path=" (gir-directory inputs "pango")))
+ (("--includedir=\\.")
+ (string-append "--includedir=."
+ " --includedir=" (gir-directory inputs "gdk-pixbuf")
+ " --includedir=" (gir-directory inputs "pango"))))
+
+ (substitute* "gtk/Makefile.in"
+ (("--add-include-path=../gdk")
+ (string-append "--add-include-path=../gdk"
+ " --add-include-path=" (gir-directory inputs "atk")
+ " --add-include-path=" (gir-directory inputs "gdk-pixbuf")
+ " --add-include-path=" (gir-directory inputs "pango")))
+ (("--includedir=../gdk")
+ (string-append "--includedir=../gdk"
+ " --includedir=" (gir-directory inputs "atk")
+ " --includedir=" (gir-directory inputs "gdk-pixbuf")
+ " --includedir=" (gir-directory inputs "pango"))))
(apply configure args)))
%standard-phases)))))
diff --git a/guix/build/gnome.scm b/guix/build/gnome.scm
new file mode 100644
index 0000000..cac4de8
--- /dev/null
+++ b/guix/build/gnome.scm
@@ -0,0 +1,31 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (guix build gnome)
+ #:export (gir-directory))
+
+;;; Commentary:
+;;;
+;;; Tools commonly used when building GNOME programs.
+;;;
+;;; Code:
+
+(define (gir-directory inputs pkg-name)
+ "Return the GIR directory name for PKG-NAME found from INPUTS."
+ (string-append (assoc-ref inputs pkg-name)
+ "/share/gir-1.0"))
--
1.8.4.rc3
^ permalink raw reply related [flat|nested] 41+ messages in thread
* [PATCH 3/6] gnu: Add libpeas.
2013-11-30 1:13 [PATCH 0/6] Add eog Cyril Roelandt
2013-11-30 1:13 ` [PATCH 1/6] gnu: gobject-introspection: look for 'gcc' when no compiler seems available Cyril Roelandt
2013-11-30 1:13 ` [PATCH 2/6] gnu: gtk+: enable introspection Cyril Roelandt
@ 2013-11-30 1:13 ` Cyril Roelandt
2013-11-30 22:03 ` Ludovic Courtès
2013-11-30 1:13 ` [PATCH 4/6] gnu: Add iso-codes Cyril Roelandt
` (2 subsequent siblings)
5 siblings, 1 reply; 41+ messages in thread
From: Cyril Roelandt @ 2013-11-30 1:13 UTC (permalink / raw)
To: guix-devel
* gnu/packages/gnome.scm (libpeas): New variable.
---
gnu/packages/gnome.scm | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 64 insertions(+)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 713b64f..96234dc 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -28,6 +28,7 @@
#:use-module (gnu packages pdf)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages libcanberra)
+ #:use-module (gnu packages libffi)
#:use-module (gnu packages libpng)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@@ -355,3 +356,66 @@ notification daemon, as defined in the Desktop Notifications spec. These
notifications can be used to inform the user about an event or display
some form of information without getting in the user's way.")
(license lgpl2.1+)))
+
+(define-public libpeas
+ (package
+ (name "libpeas")
+ (version "1.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (string-copy version 0 (string-rindex version #\.)) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "13fzyzv6c0cfdj83z1s16lv8k997wpnzyzr0wfwcfkcmvz64g1q0"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (alist-replace
+ 'configure
+ (lambda* (#:key inputs #:allow-other-keys #:rest args)
+ (let ((configure (assoc-ref %standard-phases 'configure))
+ (gir-path (lambda (pkg-name)
+ (string-append
+ (assoc-ref inputs pkg-name)
+ "/share/gir-1.0"))))
+ (substitute* "libpeas-gtk/Makefile.in"
+ (("--add-include-path")
+ (string-append
+ " --add-include-path=" (gir-path "atk")
+ " --add-include-path=" (gir-path "gdk-pixbuf")
+ " --add-include-path=" (gir-path "gtk+")
+ " --add-include-path=" (gir-path "pango")
+ " --add-include-path")))
+ (substitute* "libpeas-gtk/Makefile.in"
+ (("--includedir=\\$\\(top_builddir")
+ (string-append
+ "--includedir=" (gir-path "atk")
+ " --includedir=" (gir-path "gdk-pixbuf")
+ " --includedir=" (gir-path "gtk+")
+ " --includedir=" (gir-path "pango")
+ " --includedir=$(top_builddir")))
+ (apply configure args)))
+ %standard-phases)))
+ (inputs
+ `(("atk" ,atk)
+ ("gdk-pixbuf" ,gdk-pixbuf)
+ ("glib" ,glib)
+ ("gobject-introspection" ,gobject-introspection)
+ ("gtk+" ,gtk+)
+ ("intltool" ,intltool)
+ ("libffi" ,libffi)
+ ("pango" ,pango)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://wiki.gnome.org/Libpeas")
+ (synopsis "GObject plugin system")
+ (description
+ "libpeas is a gobject-based plugins engine, and is targetted at giving
+every application the chance to assume its own extensibility. It also has a
+set of features including, but not limited to: multiple extension points; on
+demand (lazy) programming language support for C, Python and JS; simplicity of
+the API")
+
+ (license lgpl2.0+)))
--
1.8.4.rc3
^ permalink raw reply related [flat|nested] 41+ messages in thread
* Re: [PATCH 3/6] gnu: Add libpeas.
2013-11-30 1:13 ` [PATCH 3/6] gnu: Add libpeas Cyril Roelandt
@ 2013-11-30 22:03 ` Ludovic Courtès
2013-12-01 3:45 ` Cyril Roelandt
0 siblings, 1 reply; 41+ messages in thread
From: Ludovic Courtès @ 2013-11-30 22:03 UTC (permalink / raw)
To: Cyril Roelandt; +Cc: guix-devel
Cyril Roelandt <tipecaml@gmail.com> skribis:
> * gnu/packages/gnome.scm (libpeas): New variable.
OK!
> + (lambda* (#:key inputs #:allow-other-keys #:rest args)
> + (let ((configure (assoc-ref %standard-phases 'configure))
> + (gir-path (lambda (pkg-name)
> + (string-append
> + (assoc-ref inputs pkg-name)
> + "/share/gir-1.0"))))
> + (substitute* "libpeas-gtk/Makefile.in"
> + (("--add-include-path")
> + (string-append
> + " --add-include-path=" (gir-path "atk")
> + " --add-include-path=" (gir-path "gdk-pixbuf")
> + " --add-include-path=" (gir-path "gtk+")
> + " --add-include-path=" (gir-path "pango")
> + " --add-include-path")))
If this ‘gir-path’ thing is frequent, we should factorize it in a
build-side module, say (guix build gnome). WDYT?
(That shouldn’t block this particular patch, though.)
Ludo’.
^ permalink raw reply [flat|nested] 41+ messages in thread
* Re: [PATCH 3/6] gnu: Add libpeas.
2013-11-30 22:03 ` Ludovic Courtès
@ 2013-12-01 3:45 ` Cyril Roelandt
2013-12-01 22:13 ` Ludovic Courtès
0 siblings, 1 reply; 41+ messages in thread
From: Cyril Roelandt @ 2013-12-01 3:45 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel
On 11/30/2013 11:03 PM, Ludovic Courtès wrote:
> Cyril Roelandt <tipecaml@gmail.com> skribis:
>
>> * gnu/packages/gnome.scm (libpeas): New variable.
>
> OK!
>
>> + (lambda* (#:key inputs #:allow-other-keys #:rest args)
>> + (let ((configure (assoc-ref %standard-phases 'configure))
>> + (gir-path (lambda (pkg-name)
>> + (string-append
>> + (assoc-ref inputs pkg-name)
>> + "/share/gir-1.0"))))
>> + (substitute* "libpeas-gtk/Makefile.in"
>> + (("--add-include-path")
>> + (string-append
>> + " --add-include-path=" (gir-path "atk")
>> + " --add-include-path=" (gir-path "gdk-pixbuf")
>> + " --add-include-path=" (gir-path "gtk+")
>> + " --add-include-path=" (gir-path "pango")
>> + " --add-include-path")))
>
> If this ‘gir-path’ thing is frequent, we should factorize it in a
> build-side module, say (guix build gnome). WDYT?
>
> (That shouldn’t block this particular patch, though.)
>
Yes, I think that every package using gobject-introspection will need a
gir-path method. I guess I could implement it in (guix build gnome) in
this patch.
Cyril.
^ permalink raw reply [flat|nested] 41+ messages in thread
* Re: [PATCH 3/6] gnu: Add libpeas.
2013-12-01 3:45 ` Cyril Roelandt
@ 2013-12-01 22:13 ` Ludovic Courtès
2013-12-08 20:33 ` [PATCH 3/6 v2] " Cyril Roelandt
0 siblings, 1 reply; 41+ messages in thread
From: Ludovic Courtès @ 2013-12-01 22:13 UTC (permalink / raw)
To: Cyril Roelandt; +Cc: guix-devel
Cyril Roelandt <tipecaml@gmail.com> skribis:
> On 11/30/2013 11:03 PM, Ludovic Courtès wrote:
>> Cyril Roelandt <tipecaml@gmail.com> skribis:
>>
>>> * gnu/packages/gnome.scm (libpeas): New variable.
>>
>> OK!
>>
>>> + (lambda* (#:key inputs #:allow-other-keys #:rest args)
>>> + (let ((configure (assoc-ref %standard-phases 'configure))
>>> + (gir-path (lambda (pkg-name)
>>> + (string-append
>>> + (assoc-ref inputs pkg-name)
>>> + "/share/gir-1.0"))))
>>> + (substitute* "libpeas-gtk/Makefile.in"
>>> + (("--add-include-path")
>>> + (string-append
>>> + " --add-include-path=" (gir-path "atk")
>>> + " --add-include-path=" (gir-path "gdk-pixbuf")
>>> + " --add-include-path=" (gir-path "gtk+")
>>> + " --add-include-path=" (gir-path "pango")
>>> + " --add-include-path")))
>>
>> If this ‘gir-path’ thing is frequent, we should factorize it in a
>> build-side module, say (guix build gnome). WDYT?
>>
>> (That shouldn’t block this particular patch, though.)
>>
>
> Yes, I think that every package using gobject-introspection will need
> a gir-path method. I guess I could implement it in (guix build gnome)
> in this patch.
Or that can be another patch later, so we can move forward; either way.
Ludo’.
^ permalink raw reply [flat|nested] 41+ messages in thread
* [PATCH 3/6 v2] gnu: Add libpeas.
2013-12-01 22:13 ` Ludovic Courtès
@ 2013-12-08 20:33 ` Cyril Roelandt
2013-12-08 23:55 ` Ludovic Courtès
0 siblings, 1 reply; 41+ messages in thread
From: Cyril Roelandt @ 2013-12-08 20:33 UTC (permalink / raw)
To: guix-devel
* gnu/packages/gnome.scm (libpeas): New variable.
---
gnu/packages/gnome.scm | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 64 insertions(+)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 713b64f..6b852fb 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -355,3 +355,67 @@ notification daemon, as defined in the Desktop Notifications spec. These
notifications can be used to inform the user about an event or display
some form of information without getting in the user's way.")
(license lgpl2.1+)))
+
+(define-public libpeas
+ (package
+ (name "libpeas")
+ (version "1.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (string-copy version 0 (string-rindex version #\.)) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "13fzyzv6c0cfdj83z1s16lv8k997wpnzyzr0wfwcfkcmvz64g1q0"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:modules ((guix build gnome)
+ (guix build gnu-build-system)
+ (guix build utils))
+ #:imported-modules ((guix build gnome)
+ (guix build gnu-build-system)
+ (guix build utils))
+ #:phases
+ (alist-replace
+ 'configure
+ (lambda* (#:key inputs #:allow-other-keys #:rest args)
+ (let ((configure (assoc-ref %standard-phases 'configure)))
+ (substitute* "libpeas-gtk/Makefile.in"
+ (("--add-include-path")
+ (string-append
+ " --add-include-path=" (gir-path inputs "atk")
+ " --add-include-path=" (gir-path inputs "gdk-pixbuf")
+ " --add-include-path=" (gir-path inputs "gtk+")
+ " --add-include-path=" (gir-path inputs "pango")
+ " --add-include-path")))
+ (substitute* "libpeas-gtk/Makefile.in"
+ (("--includedir=\\$\\(top_builddir")
+ (string-append
+ " --includedir=" (gir-path inputs "atk")
+ " --includedir=" (gir-path inputs "gdk-pixbuf")
+ " --includedir=" (gir-path inputs "gtk+")
+ " --includedir=" (gir-path inputs "pango")
+ " --includedir=$(top_builddir")))
+ (apply configure args)))
+ %standard-phases)))
+ (inputs
+ `(("atk" ,atk)
+ ("gdk-pixbuf" ,gdk-pixbuf)
+ ("glib" ,glib)
+ ("gobject-introspection" ,gobject-introspection)
+ ("gtk+" ,gtk+)
+ ("intltool" ,intltool)
+ ("pango" ,pango)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://wiki.gnome.org/Libpeas")
+ (synopsis "GObject plugin system")
+ (description
+ "libpeas is a gobject-based plugins engine, and is targetted at giving
+every application the chance to assume its own extensibility. It also has a
+set of features including, but not limited to: multiple extension points; on
+demand (lazy) programming language support for C, Python and JS; simplicity of
+the API")
+
+ (license lgpl2.0+)))
--
1.8.4.rc3
^ permalink raw reply related [flat|nested] 41+ messages in thread
* Re: [PATCH 3/6 v2] gnu: Add libpeas.
2013-12-08 20:33 ` [PATCH 3/6 v2] " Cyril Roelandt
@ 2013-12-08 23:55 ` Ludovic Courtès
2013-12-10 23:44 ` [PATCH 3/6 v6] " Cyril Roelandt
0 siblings, 1 reply; 41+ messages in thread
From: Ludovic Courtès @ 2013-12-08 23:55 UTC (permalink / raw)
To: Cyril Roelandt; +Cc: guix-devel
Cyril Roelandt <tipecaml@gmail.com> skribis:
> * gnu/packages/gnome.scm (libpeas): New variable.
[...]
> + (uri (string-append "mirror://gnome/sources/" name "/"
> + (string-copy version 0 (string-rindex version #\.)) "/"
> + name "-" version ".tar.xz"))
OK to push with ‘substring’ instead of ‘string-copy’.
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 41+ messages in thread
* [PATCH 3/6 v6] gnu: Add libpeas.
2013-12-08 23:55 ` Ludovic Courtès
@ 2013-12-10 23:44 ` Cyril Roelandt
2013-12-11 21:10 ` Ludovic Courtès
0 siblings, 1 reply; 41+ messages in thread
From: Cyril Roelandt @ 2013-12-10 23:44 UTC (permalink / raw)
To: guix-devel
* gnu/packages/gnome.scm (libpeas): New variable.
---
gnu/packages/gnome.scm | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 64 insertions(+)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 713b64f..e83190a 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -355,3 +355,67 @@ notification daemon, as defined in the Desktop Notifications spec. These
notifications can be used to inform the user about an event or display
some form of information without getting in the user's way.")
(license lgpl2.1+)))
+
+(define-public libpeas
+ (package
+ (name "libpeas")
+ (version "1.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (substring version 0 (string-rindex version #\.)) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "13fzyzv6c0cfdj83z1s16lv8k997wpnzyzr0wfwcfkcmvz64g1q0"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:modules ((guix build gnome)
+ (guix build gnu-build-system)
+ (guix build utils))
+ #:imported-modules ((guix build gnome)
+ (guix build gnu-build-system)
+ (guix build utils))
+ #:phases
+ (alist-replace
+ 'configure
+ (lambda* (#:key inputs #:allow-other-keys #:rest args)
+ (let ((configure (assoc-ref %standard-phases 'configure)))
+ (substitute* "libpeas-gtk/Makefile.in"
+ (("--add-include-path")
+ (string-append
+ " --add-include-path=" (gir-directory inputs "atk")
+ " --add-include-path=" (gir-directory inputs "gdk-pixbuf")
+ " --add-include-path=" (gir-directory inputs "gtk+")
+ " --add-include-path=" (gir-directory inputs "pango")
+ " --add-include-path")))
+ (substitute* "libpeas-gtk/Makefile.in"
+ (("--includedir=\\$\\(top_builddir")
+ (string-append
+ " --includedir=" (gir-directory inputs "atk")
+ " --includedir=" (gir-directory inputs "gdk-pixbuf")
+ " --includedir=" (gir-directory inputs "gtk+")
+ " --includedir=" (gir-directory inputs "pango")
+ " --includedir=$(top_builddir")))
+ (apply configure args)))
+ %standard-phases)))
+ (inputs
+ `(("atk" ,atk)
+ ("gdk-pixbuf" ,gdk-pixbuf)
+ ("glib" ,glib)
+ ("gobject-introspection" ,gobject-introspection)
+ ("gtk+" ,gtk+)
+ ("intltool" ,intltool)
+ ("pango" ,pango)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://wiki.gnome.org/Libpeas")
+ (synopsis "GObject plugin system")
+ (description
+ "libpeas is a gobject-based plugins engine, and is targetted at giving
+every application the chance to assume its own extensibility. It also has a
+set of features including, but not limited to: multiple extension points; on
+demand (lazy) programming language support for C, Python and JS; simplicity of
+the API")
+
+ (license lgpl2.0+)))
--
1.8.4.rc3
^ permalink raw reply related [flat|nested] 41+ messages in thread
* [PATCH 4/6] gnu: Add iso-codes.
2013-11-30 1:13 [PATCH 0/6] Add eog Cyril Roelandt
` (2 preceding siblings ...)
2013-11-30 1:13 ` [PATCH 3/6] gnu: Add libpeas Cyril Roelandt
@ 2013-11-30 1:13 ` Cyril Roelandt
2013-11-30 22:05 ` Ludovic Courtès
2013-11-30 1:13 ` [PATCH 5/6] gnu: Add gnome-desktop Cyril Roelandt
2013-11-30 1:13 ` [PATCH 6/6] gnu: Add eog Cyril Roelandt
5 siblings, 1 reply; 41+ messages in thread
From: Cyril Roelandt @ 2013-11-30 1:13 UTC (permalink / raw)
To: guix-devel
* gnu/packages/iso-codes.scm: New file.
* gnu-system.am: Add it.
---
gnu-system.am | 1 +
gnu/packages/iso-codes.scm | 73 ++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 74 insertions(+)
create mode 100644 gnu/packages/iso-codes.scm
diff --git a/gnu-system.am b/gnu-system.am
index 5533143..14a2c0f 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -99,6 +99,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/imagemagick.scm \
gnu/packages/indent.scm \
gnu/packages/irssi.scm \
+ gnu/packages/iso-codes.scm \
gnu/packages/kde.scm \
gnu/packages/ld-wrapper.scm \
gnu/packages/less.scm \
diff --git a/gnu/packages/iso-codes.scm b/gnu/packages/iso-codes.scm
new file mode 100644
index 0000000..8d9277d
--- /dev/null
+++ b/gnu/packages/iso-codes.scm
@@ -0,0 +1,73 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages iso-codes)
+ #:use-module ((guix licenses) #:select (gpl2+))
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu)
+ #:use-module (gnu packages gettext)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages python))
+
+(define-public iso-codes
+ (package
+ (name "iso-codes")
+ (version "3.47")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://pkg-isocodes.alioth.debian.org/downloads/iso-codes-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "1ka2rrnfwbydklpx9p1cw74z03v5h0df3pjplq5ic689jngcv6a8"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("gettext" ,gnu-gettext)
+ ("perl" ,perl)
+ ("python-2" ,python-2)))
+ (home-page "http://pkg-isocodes.alioth.debian.org/")
+ (synopsis "Various ISO standards")
+ (description
+ "This package provides lists of various ISO standards (e.g. country,
+language, language scripts, and currency names) in one place, rather
+than repeated in many programs throughout the system.
+
+Currently there are lists of languages and countries embedded in
+several different programs, which leads to dozens of lists of
+200 languages, translated into more than 30 languages... not
+very efficient.
+
+With this package, we create a single \"gettext domain\" for every
+supported ISO standard which contains the translations of
+that domain. It is easy for a programmer to re-use those
+translations instead of maintaining their own translation
+infrastructure. Moreover, the programmer does not need to follow
+changes in the ISO standard and will not work with outdated
+information.
+
+To use this translation infrastructure, the programmer just needs
+to call dgettext() in their program.
+
+Example:
+ dgettext(\"iso_639\", \"French\")
+will return the translation for \"French\", depending on the
+current locale.")
+ ; Some bits use the lgpl2
+ (license gpl2+)))
--
1.8.4.rc3
^ permalink raw reply related [flat|nested] 41+ messages in thread
* Re: [PATCH 4/6] gnu: Add iso-codes.
2013-11-30 1:13 ` [PATCH 4/6] gnu: Add iso-codes Cyril Roelandt
@ 2013-11-30 22:05 ` Ludovic Courtès
2013-12-01 3:47 ` Cyril Roelandt
0 siblings, 1 reply; 41+ messages in thread
From: Ludovic Courtès @ 2013-11-30 22:05 UTC (permalink / raw)
To: Cyril Roelandt; +Cc: guix-devel
Cyril Roelandt <tipecaml@gmail.com> skribis:
> * gnu/packages/iso-codes.scm: New file.
> * gnu-system.am: Add it.
OK!
It would be best to shorten the ‘description’ to two paragraphs or so,
though.
Ludo’.
^ permalink raw reply [flat|nested] 41+ messages in thread
* Re: [PATCH 4/6] gnu: Add iso-codes.
2013-11-30 22:05 ` Ludovic Courtès
@ 2013-12-01 3:47 ` Cyril Roelandt
2013-12-01 22:13 ` Ludovic Courtès
0 siblings, 1 reply; 41+ messages in thread
From: Cyril Roelandt @ 2013-12-01 3:47 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel
On 11/30/2013 11:05 PM, Ludovic Courtès wrote:
> Cyril Roelandt <tipecaml@gmail.com> skribis:
>
>> * gnu/packages/iso-codes.scm: New file.
>> * gnu-system.am: Add it.
>
> OK!
>
> It would be best to shorten the ‘description’ to two paragraphs or so,
> though.
>
I'd love to keep the first three paragraphs (up until "outdated
information"). WDYT ?
Cyril.
^ permalink raw reply [flat|nested] 41+ messages in thread
* Re: [PATCH 4/6] gnu: Add iso-codes.
2013-12-01 3:47 ` Cyril Roelandt
@ 2013-12-01 22:13 ` Ludovic Courtès
2013-12-08 20:33 ` [PATCH 4/6 v2] " Cyril Roelandt
0 siblings, 1 reply; 41+ messages in thread
From: Ludovic Courtès @ 2013-12-01 22:13 UTC (permalink / raw)
To: Cyril Roelandt; +Cc: guix-devel
Cyril Roelandt <tipecaml@gmail.com> skribis:
> On 11/30/2013 11:05 PM, Ludovic Courtès wrote:
>> Cyril Roelandt <tipecaml@gmail.com> skribis:
>>
>>> * gnu/packages/iso-codes.scm: New file.
>>> * gnu-system.am: Add it.
>>
>> OK!
>>
>> It would be best to shorten the ‘description’ to two paragraphs or so,
>> though.
>>
>
> I'd love to keep the first three paragraphs (up until "outdated
> information"). WDYT ?
OK, fine.
Ludo'.
^ permalink raw reply [flat|nested] 41+ messages in thread
* [PATCH 4/6 v2] gnu: Add iso-codes.
2013-12-01 22:13 ` Ludovic Courtès
@ 2013-12-08 20:33 ` Cyril Roelandt
2013-12-08 23:55 ` Ludovic Courtès
0 siblings, 1 reply; 41+ messages in thread
From: Cyril Roelandt @ 2013-12-08 20:33 UTC (permalink / raw)
To: guix-devel
* gnu/packages/iso-codes.scm: New file.
* gnu-system.am: Add it.
---
gnu-system.am | 1 +
gnu/packages/iso-codes.scm | 65 ++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 66 insertions(+)
create mode 100644 gnu/packages/iso-codes.scm
diff --git a/gnu-system.am b/gnu-system.am
index 8caad30..48273f6 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -100,6 +100,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/imagemagick.scm \
gnu/packages/indent.scm \
gnu/packages/irssi.scm \
+ gnu/packages/iso-codes.scm \
gnu/packages/kde.scm \
gnu/packages/ld-wrapper.scm \
gnu/packages/less.scm \
diff --git a/gnu/packages/iso-codes.scm b/gnu/packages/iso-codes.scm
new file mode 100644
index 0000000..e1424b8
--- /dev/null
+++ b/gnu/packages/iso-codes.scm
@@ -0,0 +1,65 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages iso-codes)
+ #:use-module ((guix licenses) #:select (gpl2+))
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu)
+ #:use-module (gnu packages gettext)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages python))
+
+(define-public iso-codes
+ (package
+ (name "iso-codes")
+ (version "3.47")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://pkg-isocodes.alioth.debian.org/downloads/iso-codes-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "1ka2rrnfwbydklpx9p1cw74z03v5h0df3pjplq5ic689jngcv6a8"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("gettext" ,gnu-gettext)
+ ("perl" ,perl)
+ ("python-2" ,python-2)))
+ (home-page "http://pkg-isocodes.alioth.debian.org/")
+ (synopsis "Various ISO standards")
+ (description
+ "This package provides lists of various ISO standards (e.g. country,
+language, language scripts, and currency names) in one place, rather
+than repeated in many programs throughout the system.
+
+Currently there are lists of languages and countries embedded in
+several different programs, which leads to dozens of lists of
+200 languages, translated into more than 30 languages... not
+very efficient.
+
+With this package, we create a single \"gettext domain\" for every
+supported ISO standard which contains the translations of
+that domain. It is easy for a programmer to re-use those
+translations instead of maintaining their own translation
+infrastructure. Moreover, the programmer does not need to follow
+changes in the ISO standard and will not work with outdated
+information.")
+ ; Some bits use the lgpl2
+ (license gpl2+)))
--
1.8.4.rc3
^ permalink raw reply related [flat|nested] 41+ messages in thread
* [PATCH 5/6] gnu: Add gnome-desktop.
2013-11-30 1:13 [PATCH 0/6] Add eog Cyril Roelandt
` (3 preceding siblings ...)
2013-11-30 1:13 ` [PATCH 4/6] gnu: Add iso-codes Cyril Roelandt
@ 2013-11-30 1:13 ` Cyril Roelandt
2013-11-30 22:07 ` Ludovic Courtès
2013-11-30 1:13 ` [PATCH 6/6] gnu: Add eog Cyril Roelandt
5 siblings, 1 reply; 41+ messages in thread
From: Cyril Roelandt @ 2013-11-30 1:13 UTC (permalink / raw)
To: guix-devel
* gnu/packages/gnome.scm (gnome-desktop): New variable.
---
gnu/packages/gnome.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 96234dc..7d483be 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -27,6 +27,7 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages pdf)
#:use-module (gnu packages ghostscript)
+ #:use-module (gnu packages iso-codes)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages libffi)
#:use-module (gnu packages libpng)
@@ -71,6 +72,47 @@ Desktop. It is designed to be as simple as possible and has some unique
features to enable users to create their discs easily and quickly.")
(license gpl2+)))
+(define-public gnome-desktop
+ (package
+ (name "gnome-desktop")
+ (version "3.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/3.10/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0p5p6wvmy5zvcdnmp5h2biz7rjrcw99chq5kkwcnb68flcmkb1ry"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("intltool" ,intltool)
+ ("gdk-pixbuf" ,gdk-pixbuf)
+ ("glib" ,glib)
+ ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+ ("gtk+" ,gtk+)
+ ("iso-codes" ,iso-codes)
+ ("itstool" ,itstool)
+ ("libx11" ,libx11)
+ ("libxext" ,libxext)
+ ("libxkbfile" ,libxkbfile)
+ ("libxrandr" ,libxrandr)
+ ("pkg-config" ,pkg-config)
+ ("xkeyboard-config" ,xkeyboard-config)))
+ (home-page "https://www.gnome.org/")
+ (synopsis
+ "The libgnome-desktop library, the gnome-about program and some
+desktop-wide documents.")
+ (description
+ "The libgnome-desktop library provides API shared by several applications
+on the desktop, but that cannot live in the platform for various reasons. There
+is no API or ABI guarantee, although we are doing our best to provide
+stability. Documentation for the API is available with gtk-doc.
+
+The gnome-about program helps find which version of GNOME is installed.")
+ ; Some bits under the LGPL.
+ (license gpl2+)))
+
(define-public gnome-doc-utils
(package
(name "gnome-doc-utils")
--
1.8.4.rc3
^ permalink raw reply related [flat|nested] 41+ messages in thread
* Re: [PATCH 5/6] gnu: Add gnome-desktop.
2013-11-30 1:13 ` [PATCH 5/6] gnu: Add gnome-desktop Cyril Roelandt
@ 2013-11-30 22:07 ` Ludovic Courtès
2013-12-08 20:34 ` [PATCH 5/6 v2] " Cyril Roelandt
0 siblings, 1 reply; 41+ messages in thread
From: Ludovic Courtès @ 2013-11-30 22:07 UTC (permalink / raw)
To: Cyril Roelandt; +Cc: guix-devel
Cyril Roelandt <tipecaml@gmail.com> skribis:
> * gnu/packages/gnome.scm (gnome-desktop): New variable.
OK, but:
> + (synopsis
> + "The libgnome-desktop library, the gnome-about program and some
> +desktop-wide documents.")
should be a short phrase, not a sentence, and one that does not repeat
the package name, like: “libgnome-desktop, gnome-about, and desktop-wide
documents”.
Thanks!
Ludo’.
^ permalink raw reply [flat|nested] 41+ messages in thread
* [PATCH 5/6 v2] gnu: Add gnome-desktop.
2013-11-30 22:07 ` Ludovic Courtès
@ 2013-12-08 20:34 ` Cyril Roelandt
2013-12-08 23:57 ` Ludovic Courtès
0 siblings, 1 reply; 41+ messages in thread
From: Cyril Roelandt @ 2013-12-08 20:34 UTC (permalink / raw)
To: guix-devel
* gnu/packages/gnome.scm (gnome-desktop): New variable.
---
gnu/packages/gnome.scm | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 6b852fb..5940f68 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -27,6 +27,7 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages pdf)
#:use-module (gnu packages ghostscript)
+ #:use-module (gnu packages iso-codes)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages libpng)
#:use-module (gnu packages perl)
@@ -70,6 +71,46 @@ Desktop. It is designed to be as simple as possible and has some unique
features to enable users to create their discs easily and quickly.")
(license gpl2+)))
+(define-public gnome-desktop
+ (package
+ (name "gnome-desktop")
+ (version "3.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/3.10/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0p5p6wvmy5zvcdnmp5h2biz7rjrcw99chq5kkwcnb68flcmkb1ry"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("intltool" ,intltool)
+ ("gdk-pixbuf" ,gdk-pixbuf)
+ ("glib" ,glib)
+ ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+ ("gtk+" ,gtk+)
+ ("iso-codes" ,iso-codes)
+ ("itstool" ,itstool)
+ ("libx11" ,libx11)
+ ("libxext" ,libxext)
+ ("libxkbfile" ,libxkbfile)
+ ("libxrandr" ,libxrandr)
+ ("pkg-config" ,pkg-config)
+ ("xkeyboard-config" ,xkeyboard-config)))
+ (home-page "https://www.gnome.org/")
+ (synopsis
+ "Libgnome-desktop, gnome-about and desktop-wide documents.")
+ (description
+ "The libgnome-desktop library provides API shared by several applications
+on the desktop, but that cannot live in the platform for various reasons. There
+is no API or ABI guarantee, although we are doing our best to provide
+stability. Documentation for the API is available with gtk-doc.
+
+The gnome-about program helps find which version of GNOME is installed.")
+ ; Some bits under the LGPL.
+ (license gpl2+)))
+
(define-public gnome-doc-utils
(package
(name "gnome-doc-utils")
--
1.8.4.rc3
^ permalink raw reply related [flat|nested] 41+ messages in thread
* Re: [PATCH 5/6 v2] gnu: Add gnome-desktop.
2013-12-08 20:34 ` [PATCH 5/6 v2] " Cyril Roelandt
@ 2013-12-08 23:57 ` Ludovic Courtès
2013-12-09 0:06 ` Cyril Roelandt
0 siblings, 1 reply; 41+ messages in thread
From: Ludovic Courtès @ 2013-12-08 23:57 UTC (permalink / raw)
To: Cyril Roelandt; +Cc: guix-devel
Cyril Roelandt <tipecaml@gmail.com> skribis:
> * gnu/packages/gnome.scm (gnome-desktop): New variable.
[...]
> + (synopsis
> + "Libgnome-desktop, gnome-about and desktop-wide documents.")
OK to push with this changed to:
"libgnome-desktop, gnome-about, and desktop-wide documents"
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 41+ messages in thread
* Re: [PATCH 5/6 v2] gnu: Add gnome-desktop.
2013-12-08 23:57 ` Ludovic Courtès
@ 2013-12-09 0:06 ` Cyril Roelandt
2013-12-09 17:34 ` Ludovic Courtès
0 siblings, 1 reply; 41+ messages in thread
From: Cyril Roelandt @ 2013-12-09 0:06 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel
On 12/09/2013 12:57 AM, Ludovic Courtès wrote:
> Cyril Roelandt <tipecaml@gmail.com> skribis:
>
>> * gnu/packages/gnome.scm (gnome-desktop): New variable.
>
> [...]
>
>> + (synopsis
>> + "Libgnome-desktop, gnome-about and desktop-wide documents.")
>
> OK to push with this changed to:
>
> "libgnome-desktop, gnome-about, and desktop-wide documents"
>
Should we really not capitalize the first letter of the first word of a
sentence ? Are you strongly against the Oxford comma ? OK for the final dot.
Cyril.
^ permalink raw reply [flat|nested] 41+ messages in thread
* Re: [PATCH 5/6 v2] gnu: Add gnome-desktop.
2013-12-09 0:06 ` Cyril Roelandt
@ 2013-12-09 17:34 ` Ludovic Courtès
2013-12-10 23:44 ` [PATCH 5/6 v3] " Cyril Roelandt
0 siblings, 1 reply; 41+ messages in thread
From: Ludovic Courtès @ 2013-12-09 17:34 UTC (permalink / raw)
To: Cyril Roelandt; +Cc: guix-devel
Cyril Roelandt <tipecaml@gmail.com> skribis:
> On 12/09/2013 12:57 AM, Ludovic Courtès wrote:
>> Cyril Roelandt <tipecaml@gmail.com> skribis:
>>
>>> * gnu/packages/gnome.scm (gnome-desktop): New variable.
>>
>> [...]
>>
>>> + (synopsis
>>> + "Libgnome-desktop, gnome-about and desktop-wide documents.")
>>
>> OK to push with this changed to:
>>
>> "libgnome-desktop, gnome-about, and desktop-wide documents"
>>
>
> Should we really not capitalize the first letter of the first word of
> a sentence ?
Well, sometimes the case is fixed by the spelling of the name. Here the
name is ‘libgnome-desktop’, which is why I’d always write it this way,
but either way is fine with me for this one. :-)
Ludo’.
^ permalink raw reply [flat|nested] 41+ messages in thread
* [PATCH 5/6 v3] gnu: Add gnome-desktop.
2013-12-09 17:34 ` Ludovic Courtès
@ 2013-12-10 23:44 ` Cyril Roelandt
2013-12-11 21:11 ` Ludovic Courtès
0 siblings, 1 reply; 41+ messages in thread
From: Cyril Roelandt @ 2013-12-10 23:44 UTC (permalink / raw)
To: guix-devel
* gnu/packages/gnome.scm (gnome-desktop): New variable.
---
gnu/packages/gnome.scm | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index e83190a..b2a89bf 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -27,6 +27,7 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages pdf)
#:use-module (gnu packages ghostscript)
+ #:use-module (gnu packages iso-codes)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages libpng)
#:use-module (gnu packages perl)
@@ -70,6 +71,46 @@ Desktop. It is designed to be as simple as possible and has some unique
features to enable users to create their discs easily and quickly.")
(license gpl2+)))
+(define-public gnome-desktop
+ (package
+ (name "gnome-desktop")
+ (version "3.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/3.10/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0p5p6wvmy5zvcdnmp5h2biz7rjrcw99chq5kkwcnb68flcmkb1ry"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("intltool" ,intltool)
+ ("gdk-pixbuf" ,gdk-pixbuf)
+ ("glib" ,glib)
+ ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+ ("gtk+" ,gtk+)
+ ("iso-codes" ,iso-codes)
+ ("itstool" ,itstool)
+ ("libx11" ,libx11)
+ ("libxext" ,libxext)
+ ("libxkbfile" ,libxkbfile)
+ ("libxrandr" ,libxrandr)
+ ("pkg-config" ,pkg-config)
+ ("xkeyboard-config" ,xkeyboard-config)))
+ (home-page "https://www.gnome.org/")
+ (synopsis
+ "libgnome-desktop, gnome-about, and desktop-wide documents")
+ (description
+ "The libgnome-desktop library provides API shared by several applications
+on the desktop, but that cannot live in the platform for various reasons. There
+is no API or ABI guarantee, although we are doing our best to provide
+stability. Documentation for the API is available with gtk-doc.
+
+The gnome-about program helps find which version of GNOME is installed.")
+ ; Some bits under the LGPL.
+ (license gpl2+)))
+
(define-public gnome-doc-utils
(package
(name "gnome-doc-utils")
--
1.8.4.rc3
^ permalink raw reply related [flat|nested] 41+ messages in thread
* Re: [PATCH 5/6 v3] gnu: Add gnome-desktop.
2013-12-10 23:44 ` [PATCH 5/6 v3] " Cyril Roelandt
@ 2013-12-11 21:11 ` Ludovic Courtès
2013-12-12 6:07 ` John Darrington
0 siblings, 1 reply; 41+ messages in thread
From: Ludovic Courtès @ 2013-12-11 21:11 UTC (permalink / raw)
To: Cyril Roelandt; +Cc: guix-devel
Cyril Roelandt <tipecaml@gmail.com> skribis:
> * gnu/packages/gnome.scm (gnome-desktop): New variable.
[...]
> + (inputs
> + `(("intltool" ,intltool)
> + ("gdk-pixbuf" ,gdk-pixbuf)
> + ("glib" ,glib)
> + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
> + ("gtk+" ,gtk+)
> + ("iso-codes" ,iso-codes)
> + ("itstool" ,itstool)
> + ("libx11" ,libx11)
> + ("libxext" ,libxext)
> + ("libxkbfile" ,libxkbfile)
> + ("libxrandr" ,libxrandr)
> + ("pkg-config" ,pkg-config)
> + ("xkeyboard-config" ,xkeyboard-config)))
Actually ‘intltool’ and ‘pkg-config’ should be in ‘native-inputs’ (you
want to be able to run them during the build process when
cross-compiling.)
OK to push with that fixed.
Thanks!
Ludo’.
^ permalink raw reply [flat|nested] 41+ messages in thread
* Re: [PATCH 5/6 v3] gnu: Add gnome-desktop.
2013-12-11 21:11 ` Ludovic Courtès
@ 2013-12-12 6:07 ` John Darrington
2013-12-12 21:22 ` Ludovic Courtès
0 siblings, 1 reply; 41+ messages in thread
From: John Darrington @ 2013-12-12 6:07 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel
[-- Attachment #1: Type: text/plain, Size: 677 bytes --]
On Wed, Dec 11, 2013 at 10:11:32PM +0100, Ludovic Courtès wrote:
Actually ‘intltool’ and ‘pkg-config’ should be in ‘native-inputs’ (you
want to be able to run them during the build process when
cross-compiling.)
There are lots of instances > 200 where this mistake has been made. I have a patch
which fixes most of them. I have a patch which fixes most of them, but it's not quite
ready yet. I hope to post it for review shortly.
J'
--
PGP Public key ID: 1024D/2DE827B3
fingerprint = 8797 A26D 0854 2EAB 0285 A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 41+ messages in thread
* Re: [PATCH 5/6 v3] gnu: Add gnome-desktop.
2013-12-12 6:07 ` John Darrington
@ 2013-12-12 21:22 ` Ludovic Courtès
0 siblings, 0 replies; 41+ messages in thread
From: Ludovic Courtès @ 2013-12-12 21:22 UTC (permalink / raw)
To: John Darrington; +Cc: guix-devel
John Darrington <john@darrington.wattle.id.au> skribis:
> On Wed, Dec 11, 2013 at 10:11:32PM +0100, Ludovic Courtès wrote:
>
> Actually ‘intltool’ and ‘pkg-config’ should be in ‘native-inputs’ (you
> want to be able to run them during the build process when
> cross-compiling.)
>
> There are lots of instances > 200 where this mistake has been made. I have a patch
> which fixes most of them. I have a patch which fixes most of them, but it's not quite
> ready yet. I hope to post it for review shortly.
Great, thanks!
Ludo’.
^ permalink raw reply [flat|nested] 41+ messages in thread
* [PATCH 6/6] gnu: Add eog.
2013-11-30 1:13 [PATCH 0/6] Add eog Cyril Roelandt
` (4 preceding siblings ...)
2013-11-30 1:13 ` [PATCH 5/6] gnu: Add gnome-desktop Cyril Roelandt
@ 2013-11-30 1:13 ` Cyril Roelandt
2013-11-30 22:06 ` Ludovic Courtès
5 siblings, 1 reply; 41+ messages in thread
From: Cyril Roelandt @ 2013-11-30 1:13 UTC (permalink / raw)
To: guix-devel
* gnu/packages/gnome.scm (eog): New variable.
---
gnu/packages/gnome.scm | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 71 insertions(+)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 7d483be..029f756 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -21,6 +21,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
+ #:use-module (gnu packages compression)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages gstreamer)
@@ -34,6 +35,7 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+ #:use-module (gnu packages shared-mime-info)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
@@ -72,6 +74,75 @@ Desktop. It is designed to be as simple as possible and has some unique
features to enable users to create their discs easily and quickly.")
(license gpl2+)))
+(define-public eog
+ (package
+ (name "eog")
+ (version "3.10.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/eog/"
+ (string-copy version 0 (string-rindex version #\.)) "/"
+ "eog-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1nm126gskhq7p2b2a8vl7sc5rvgzyah7hxzikafhnimcm3xsnjfl"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(; TODO: The compilation fails when using libjpeg. Find why.
+ #:configure-flags '("--without-libjpeg")
+ #:phases
+ (alist-replace
+ 'configure
+ (lambda* (#:key inputs #:allow-other-keys #:rest args)
+ (let ((configure (assoc-ref %standard-phases 'configure))
+ (gir-path (lambda (pkg-name)
+ (string-append
+ (assoc-ref inputs pkg-name)
+ "/share/gir-1.0"))))
+ (substitute* "src/Makefile.in"
+ (("@HAVE_INTROSPECTION_TRUE@INTROSPECTION_SCANNER_ARGS")
+ (string-append
+ "@HAVE_INTROSPECTION_TRUE@INTROSPECTION_COMPILER_ARGS ="
+ " --includedir=" (gir-path "atk")
+ " --includedir=" (gir-path "gdk-pixbuf")
+ " --includedir=" (gir-path "gtk+")
+ " --includedir=" (gir-path "pango")
+ "\n@HAVE_INTROSPECTION_TRUE@INTROSPECTION_SCANNER_ARGS ="
+ " --add-include-path=" (gir-path "atk")
+ " --add-include-path=" (gir-path "gdk-pixbuf")
+ " --add-include-path=" (gir-path "gtk+")
+ " --add-include-path=" (gir-path "pango"))))
+ (apply configure args)))
+ %standard-phases)))
+ (inputs
+ `(("atk" ,atk)
+ ("gdk-pixbuf" ,gdk-pixbuf)
+ ("glib" ,glib)
+ ("gnome-desktop" ,gnome-desktop)
+ ("gnome-icon-theme" ,gnome-icon-theme)
+ ("gobject-introspection" ,gobject-introspection)
+ ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+ ("gtk+" ,gtk+)
+ ("intltool" ,intltool)
+ ("itstool" ,itstool)
+ ("libffi" ,libffi)
+ ("libpeas" ,libpeas)
+ ("libxkbfile" ,libxkbfile)
+ ("pango" ,pango)
+ ("pkg-config" ,pkg-config)
+ ("shared-mime-info" ,shared-mime-info)
+ ("zlib" ,zlib)))
+ (home-page "https://projects.gnome.org/eog/")
+ (synopsis "The Eye of GNOME image viewer.")
+ (description
+ "The Eye of GNOME image viewer is the official image viewer for the GNOME
+Desktop environment. With it, you can view single image files, as well as large
+image collections.
+
+The Eye of GNOME supports a variety of image file formats. The GdkPixbuf
+library determines which file formats Eye of GNOME can load and save.")
+ (license gpl2+)))
+
(define-public gnome-desktop
(package
(name "gnome-desktop")
--
1.8.4.rc3
^ permalink raw reply related [flat|nested] 41+ messages in thread