unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH 1/3] gnu: gtkmm-2 New variable
@ 2014-02-02 10:27 John Darrington
  2014-02-02 10:27 ` [PATCH 2/3] gnu: boost: New module John Darrington
  2014-02-02 10:27 ` [PATCH 3/3] gnu: inkscape: " John Darrington
  0 siblings, 2 replies; 7+ messages in thread
From: John Darrington @ 2014-02-02 10:27 UTC (permalink / raw)
  To: guix-devel; +Cc: John Darrington

* gnu/packages/gtk.scm (gtkmm-2): New variable.
---
 gnu/packages/gtk.scm |   19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index fcfbcc4..2a01f89 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -590,3 +590,22 @@ are easily extensible via inheritance.  You can create user interfaces either
 in code or with the Glade User Interface designer, using libglademm.  There's
 extensive documentation, including API reference and a tutorial.")
     (license license:lgpl2.1+)))
+
+
+(define-public gtkmm-2
+  (package (inherit gtkmm)
+    (version "2.24.2")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "mirror://gnome/sources/gtkmm/"
+                                 (string-take version 4) "/gtkmm-"
+                                 version ".tar.xz"))
+             (sha256
+              (base32
+               "0gcm91sc1a05c56kzh74l370ggj0zz8nmmjvjaaxgmhdq8lpl369"))))
+    (propagated-inputs
+     `(("pangomm" ,pangomm)
+       ("cairomm" ,cairomm)
+       ("atkmm" ,atkmm)
+       ("gtk+" ,gtk+-2)
+       ("glibmm" ,glibmm)))))
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/3] gnu: boost: New module
  2014-02-02 10:27 [PATCH 1/3] gnu: gtkmm-2 New variable John Darrington
@ 2014-02-02 10:27 ` John Darrington
  2014-02-03 21:18   ` Ludovic Courtès
  2014-02-02 10:27 ` [PATCH 3/3] gnu: inkscape: " John Darrington
  1 sibling, 1 reply; 7+ messages in thread
From: John Darrington @ 2014-02-02 10:27 UTC (permalink / raw)
  To: guix-devel; +Cc: John Darrington

* gnu/packages/boost.scm  New file
* gnu-system.am: New file boost.scm
---
 gnu-system.am          |    1 +
 gnu/packages/boost.scm |   98 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 99 insertions(+)
 create mode 100644 gnu/packages/boost.scm

diff --git a/gnu-system.am b/gnu-system.am
index 8f70e51..0a1f305 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -40,6 +40,7 @@ GNU_SYSTEM_MODULES =				\
   gnu/packages/bdb.scm				\
   gnu/packages/bdw-gc.scm			\
   gnu/packages/bison.scm			\
+  gnu/packages/boost.scm			\
   gnu/packages/bootstrap.scm			\
   gnu/packages/cdrom.scm			\
   gnu/packages/cflow.scm			\
diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm
new file mode 100644
index 0000000..f495937
--- /dev/null
+++ b/gnu/packages/boost.scm
@@ -0,0 +1,98 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 John Darrington <jmd@gnu.org>
+;;;
+;;; 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 boost)
+  #:use-module ((guix licenses)
+                #:renamer (symbol-prefix-proc 'license:))
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages tcsh)
+  #:use-module (gnu packages perl))
+
+(define-public boost
+  (package
+    (name "boost")
+    (version "1.55.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://sourceforge/boost/boost_"
+                    (string-map (lambda (x) (if (eq? x #\.) #\_ x)) version)
+                    ".tar.bz2"))
+              (sha256
+               (base32
+                "0lkv5dzssbl5fmh2nkaszi8x9qbj80pr4acf9i26sj3rvlih1w7z"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("perl" ,perl)
+       ("python" ,python-2)
+       ("tcsh" ,tcsh)))
+    (arguments
+     `(#:phases
+       (alist-replace
+        'configure 
+        (lambda* (#:key outputs #:allow-other-keys) 
+          (let ((out (assoc-ref outputs "out")))
+            (substitute* '("libs/config/configure"
+                           "libs/spirit/classic/phoenix/test/runtest.sh"
+                           "tools/build/v2/doc/bjam.qbk"
+                           "tools/build/v2/engine/boehm_gc/aclocal.m4"
+                           "tools/build/v2/engine/boehm_gc/config.guess"
+                           "tools/build/v2/engine/boehm_gc/configure"
+                           "tools/build/v2/engine/boehm_gc/configure.ac"
+                           "tools/build/v2/engine/boehm_gc/install-sh"
+                           "tools/build/v2/engine/boehm_gc/libtool.m4"
+                           "tools/build/v2/engine/boehm_gc/ltmain.sh"
+                           "tools/build/v2/engine/boehm_gc/Makefile.direct"
+                           "tools/build/v2/engine/boehm_gc/Makefile.dj"
+                           "tools/build/v2/engine/boehm_gc/missing"
+                           "tools/build/v2/engine/boehm_gc/PCR-Makefile"
+                           "tools/build/v2/engine/execunix.c"
+                           "tools/build/v2/engine/Jambase"
+                           "tools/build/v2/engine/jambase.c")
+              (("/bin/sh") (which "sh")))
+
+            (setenv "SHELL" (which "sh"))
+            
+            (zero? (system* "./bootstrap.sh" 
+                            (string-append "--prefix=" out) 
+                            "--with-toolset=gcc"))))
+        (alist-replace
+         'build
+         (lambda* (#:key outputs #:allow-other-keys #:rest args) 
+           (zero? (system* "./b2" "threading=multi" "link=shared")))
+         
+         (alist-replace
+          'check
+          (lambda* (#:key outputs #:allow-other-keys #:rest args) #t)
+          
+          (alist-replace
+           'install
+           (lambda* (#:key outputs #:allow-other-keys #:rest args) 
+             (zero? (system* "./b2" "install" "threading=multi" "link=shared")))
+           %standard-phases))))))
+    
+    (home-page "http://boost.org")
+    (synopsis "peer-reviewed portable C++ source libraries")
+    (description  "A collection of libraries intended to be widely useful, and usable across
+    a broad spectrum of applications.")
+    (license (license:x11-style "http://www.boost.org/LICENSE_1_0.txt" 
+             "Some components have other similar licences."))))
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 3/3] gnu: inkscape: New module
  2014-02-02 10:27 [PATCH 1/3] gnu: gtkmm-2 New variable John Darrington
  2014-02-02 10:27 ` [PATCH 2/3] gnu: boost: New module John Darrington
@ 2014-02-02 10:27 ` John Darrington
  2014-02-03 21:20   ` Ludovic Courtès
  1 sibling, 1 reply; 7+ messages in thread
From: John Darrington @ 2014-02-02 10:27 UTC (permalink / raw)
  To: guix-devel; +Cc: John Darrington

* gnu/packages/inkscape.scm: New file
* gnu-system.am: New file inkscape.scm
---
 gnu-system.am                                   |    1 +
 gnu/packages/inkscape.scm                       |   79 +++++++++++++++++++++++
 gnu/packages/patches/inkscape-stray-comma.patch |   13 ++++
 3 files changed, 93 insertions(+)
 create mode 100644 gnu/packages/inkscape.scm
 create mode 100644 gnu/packages/patches/inkscape-stray-comma.patch

diff --git a/gnu-system.am b/gnu-system.am
index 0a1f305..b625a98 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -109,6 +109,7 @@ GNU_SYSTEM_MODULES =				\
   gnu/packages/idutils.scm			\
   gnu/packages/imagemagick.scm			\
   gnu/packages/indent.scm			\
+  gnu/packages/inkscape.scm			\
   gnu/packages/irssi.scm			\
   gnu/packages/iso-codes.scm			\
   gnu/packages/kde.scm				\
diff --git a/gnu/packages/inkscape.scm b/gnu/packages/inkscape.scm
new file mode 100644
index 0000000..5837c32
--- /dev/null
+++ b/gnu/packages/inkscape.scm
@@ -0,0 +1,79 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 John Darrington <jmd@gnu.org>
+;;;
+;;; 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 inkscape)
+  #:use-module ((guix licenses)
+                #:renamer (symbol-prefix-proc 'license:))
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages aspell)
+  #:use-module (gnu packages bdw-gc)
+  #:use-module (gnu packages boost)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages maths)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages pdf)
+  #:use-module (gnu packages popt)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages xml)
+  #:use-module (gnu packages ghostscript)
+  #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages libpng)
+  #:use-module (gnu packages pkg-config))
+
+(define-public inkscape
+  (package
+    (name "inkscape")
+    (version "0.48.4")
+    (source (origin
+              (method url-fetch)
+             (uri (string-append
+                   "mirror://sourceforge/inkscape/inkscape-" version ".tar.gz"))
+             (sha256
+              (base32
+               "0nhxsgrgsx6zrgpkd1akxjvmdqjp8ccnsvlwxh62l0brg84fw6bf"))
+             (patches (list (search-patch "inkscape-stray-comma.patch")))))
+    (build-system gnu-build-system)
+    (inputs 
+     `(("aspell" ,aspell) 
+       ("gtkmm" ,gtkmm-2)
+       ("gtk" ,gtk+-2)
+       ("gsl" ,gsl)
+       ("poppler" ,poppler)
+       ("libpng" ,libpng)
+       ("libxml2" ,libxml2)
+       ("libxslt" ,libxslt)
+       ("libgc" ,libgc)
+       ("freetype" ,freetype)
+       ("popt" ,popt)
+       ("python" ,python-2)
+       ("lcms" ,lcms)
+       ("boost" ,boost)))
+    (native-inputs
+     `(("intltool" ,intltool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)))
+    (home-page "http://inkscape.org/")
+    (synopsis "vector graphics editor")
+    (description "Inkscape is a free vector graphics editor similar to
+proprietary competitors. What sets Inkscape apart is its use of Scalable
+Vector Graphics (SVG), an open XML-based W3C standard, as the native format.")   
+    (license license:gpl2))) ;; Somewhat ambiguous whether v2 or v2+ is intended
diff --git a/gnu/packages/patches/inkscape-stray-comma.patch b/gnu/packages/patches/inkscape-stray-comma.patch
new file mode 100644
index 0000000..0b000d9
--- /dev/null
+++ b/gnu/packages/patches/inkscape-stray-comma.patch
@@ -0,0 +1,13 @@
+This is verbatim from Upstream:        http://bazaar.launchpad.net/~inkscape.dev/inkscape/RELEASE_0_48_BRANCH/diff/9943
+--- a/src/widgets/desktop-widget.h	2011-06-06 06:43:00 +0000
++++ b/src/widgets/desktop-widget.h	2013-01-05 14:34:09 +0000
+@@ -239,7 +239,7 @@
+ private:
+     GtkWidget *tool_toolbox;
+     GtkWidget *aux_toolbox;
+-    GtkWidget *commands_toolbox,;
++    GtkWidget *commands_toolbox;
+     GtkWidget *snap_toolbox;
+ 
+     static void init(SPDesktopWidget *widget);
+
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/3] gnu: boost: New module
  2014-02-02 10:27 ` [PATCH 2/3] gnu: boost: New module John Darrington
@ 2014-02-03 21:18   ` Ludovic Courtès
  0 siblings, 0 replies; 7+ messages in thread
From: Ludovic Courtès @ 2014-02-03 21:18 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel

Hi!

Thanks for looking into those big packages!

John Darrington <jmd@gnu.org> skribis:

> +       (alist-replace
> +        'configure 
> +        (lambda* (#:key outputs #:allow-other-keys) 
> +          (let ((out (assoc-ref outputs "out")))
> +            (substitute* '("libs/config/configure"
> +                           "libs/spirit/classic/phoenix/test/runtest.sh"
> +                           "tools/build/v2/doc/bjam.qbk"
> +                           "tools/build/v2/engine/boehm_gc/aclocal.m4"
> +                           "tools/build/v2/engine/boehm_gc/config.guess"
> +                           "tools/build/v2/engine/boehm_gc/configure"
> +                           "tools/build/v2/engine/boehm_gc/configure.ac"
> +                           "tools/build/v2/engine/boehm_gc/install-sh"
> +                           "tools/build/v2/engine/boehm_gc/libtool.m4"
> +                           "tools/build/v2/engine/boehm_gc/ltmain.sh"
> +                           "tools/build/v2/engine/boehm_gc/Makefile.direct"
> +                           "tools/build/v2/engine/boehm_gc/Makefile.dj"
> +                           "tools/build/v2/engine/boehm_gc/missing"
> +                           "tools/build/v2/engine/boehm_gc/PCR-Makefile"
> +                           "tools/build/v2/engine/execunix.c"
> +                           "tools/build/v2/engine/Jambase"
> +                           "tools/build/v2/engine/jambase.c")
> +              (("/bin/sh") (which "sh")))

Boehm GC doesn’t need patching, because it uses an Autoconf-generated
‘configure’, so it honors $SHELL and $CONFIG_SHELL.  Could you try
(setenv "CONFIG_SHELL" (which "sh"))?

Even better: can Boost be told to use our libgc instead of building its
own?

As for the other scripts, why do they need to be patched?  Normally the
patch-shebang phase should have taken care of the shebang of
‘libs/config/configure’, ‘runtest.sh’, etc.

> +            (setenv "SHELL" (which "sh"))
> +            
> +            (zero? (system* "./bootstrap.sh" 
> +                            (string-append "--prefix=" out) 
> +                            "--with-toolset=gcc"))))
> +        (alist-replace
> +         'build
> +         (lambda* (#:key outputs #:allow-other-keys #:rest args) 
> +           (zero? (system* "./b2" "threading=multi" "link=shared")))

Since both ‘outputs’ and ‘args’ are ignored, just write:

  (lambda _
    (zero? ...))

(where ‘_’ is by convention a placeholder.)

> +         (alist-replace
> +          'check
> +          (lambda* (#:key outputs #:allow-other-keys #:rest args) #t)

Just use #:tests? #f instead of replacing the ‘check’ phase.

> +    (synopsis "peer-reviewed portable C++ source libraries")

Capitalization.

> +    (description  "A collection of libraries intended to be widely useful, and usable across
> +    a broad spectrum of applications.")

Extra spaces, line too long.

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 3/3] gnu: inkscape: New module
  2014-02-02 10:27 ` [PATCH 3/3] gnu: inkscape: " John Darrington
@ 2014-02-03 21:20   ` Ludovic Courtès
  2014-02-04  7:54     ` John Darrington
  0 siblings, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2014-02-03 21:20 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel

John Darrington <jmd@gnu.org> skribis:

> * gnu/packages/inkscape.scm: New file
> * gnu-system.am: New file inkscape.scm

Nice!

You forgot to add the patch file to ‘gnu-system.am’ (also please follow
the ChangeLog convention here.)

OK to commit with this small change.

Ludo’.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 3/3] gnu: inkscape: New module
  2014-02-03 21:20   ` Ludovic Courtès
@ 2014-02-04  7:54     ` John Darrington
  2014-02-04  8:08       ` Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: John Darrington @ 2014-02-04  7:54 UTC (permalink / raw)
  To: Ludovic Court??s; +Cc: guix-devel, John Darrington

On Mon, Feb 03, 2014 at 10:20:22PM +0100, Ludovic Court??s wrote:
     John Darrington <jmd@gnu.org> skribis:
     
     > * gnu/packages/inkscape.scm: New file
     > * gnu-system.am: New file inkscape.scm
     
     You forgot to add the patch file to ???gnu-system.am??? (also please follow
     the ChangeLog convention here.)

Can you explain which bit of the changelog convention I haven't followed.

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.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 3/3] gnu: inkscape: New module
  2014-02-04  7:54     ` John Darrington
@ 2014-02-04  8:08       ` Ludovic Courtès
  0 siblings, 0 replies; 7+ messages in thread
From: Ludovic Courtès @ 2014-02-04  8:08 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel, John Darrington

John Darrington <john@darrington.wattle.id.au> skribis:

> On Mon, Feb 03, 2014 at 10:20:22PM +0100, Ludovic Court??s wrote:
>      John Darrington <jmd@gnu.org> skribis:
>      
>      > * gnu/packages/inkscape.scm: New file
>      > * gnu-system.am: New file inkscape.scm
>      
>      You forgot to add the patch file to ???gnu-system.am??? (also please follow
>      the ChangeLog convention here.)
>
> Can you explain which bit of the changelog convention I haven't followed.

I think it’s easily guessed by looking at previous commits or the GCS.
;-)

It should be:

--8<---------------cut here---------------start------------->8---
* gnu/packages/inkscape.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add inkscape.scm.
--8<---------------cut here---------------end--------------->8---

Ludo’.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2014-02-04  8:13 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-02 10:27 [PATCH 1/3] gnu: gtkmm-2 New variable John Darrington
2014-02-02 10:27 ` [PATCH 2/3] gnu: boost: New module John Darrington
2014-02-03 21:18   ` Ludovic Courtès
2014-02-02 10:27 ` [PATCH 3/3] gnu: inkscape: " John Darrington
2014-02-03 21:20   ` Ludovic Courtès
2014-02-04  7:54     ` John Darrington
2014-02-04  8:08       ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).