* [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).