* [PATCH 01/13] gnu: subversion: Propagate env variables to hooks.
2014-11-21 5:40 [PATCH 00/13] Add gourmet (and dependent python packages) Eric Bavier
@ 2014-11-21 5:40 ` Eric Bavier
2014-11-21 22:02 ` Ludovic Courtès
2014-11-21 5:40 ` [PATCH 02/13] gnu: python: Add sqlite input Eric Bavier
` (12 subsequent siblings)
13 siblings, 1 reply; 42+ messages in thread
From: Eric Bavier @ 2014-11-21 5:40 UTC (permalink / raw)
To: guix-devel; +Cc: Eric Bavier
* gnu/packages/patches/subversion-propagate-env-to-hooks.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/version-control.scm (subversion): Use it.
---
gnu-system.am | 1 +
.../subversion-propagate-env-to-hooks.patch | 14 ++++++++++++++
gnu/packages/version-control.scm | 8 +++++---
3 files changed, 20 insertions(+), 3 deletions(-)
create mode 100644 gnu/packages/patches/subversion-propagate-env-to-hooks.patch
diff --git a/gnu-system.am b/gnu-system.am
index d39d869..5fd18e8 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -418,6 +418,7 @@ dist_patch_DATA = \
gnu/packages/patches/soprano-find-clucene.patch \
gnu/packages/patches/source-highlight-regexrange-test.patch \
gnu/packages/patches/sqlite-large-page-size-fix.patch \
+ gnu/packages/patches/subversion-propagate-env-to-hooks.patch \
gnu/packages/patches/superlu-dist-scotchmetis.patch \
gnu/packages/patches/tcsh-fix-autotest.patch \
gnu/packages/patches/teckit-cstdio.patch \
diff --git a/gnu/packages/patches/subversion-propagate-env-to-hooks.patch b/gnu/packages/patches/subversion-propagate-env-to-hooks.patch
new file mode 100644
index 0000000..55cecab
--- /dev/null
+++ b/gnu/packages/patches/subversion-propagate-env-to-hooks.patch
@@ -0,0 +1,14 @@
+* Hooks need to inherit environment variables such as PATH, otherwise simple
+ things like `ls` might fail in a hook.
+
+--- subversion-1.7.18/subversion/libsvn_repos/hooks.c 2011-07-26 11:48:50.000000000 -0500
++++ subversion-1.7.18/subversion/libsvn_repos/hooks.c 2014-09-27 11:53:37.444830624 -0500
+@@ -196,7 +196,7 @@
+ (apr_err, _("Can't create null stdout for hook '%s'"), cmd);
+ }
+
+- err = svn_io_start_cmd2(&cmd_proc, ".", cmd, args, FALSE,
++ err = svn_io_start_cmd2(&cmd_proc, ".", cmd, args, TRUE,
+ FALSE, stdin_handle, result != NULL, null_handle,
+ TRUE, NULL, pool);
+
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 0b52f0c..5d2eb58 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -297,11 +297,13 @@ property manipulation.")
(version "1.7.18")
(source (origin
(method url-fetch)
- (uri (string-append "http://archive.apache.org/dist/subversion/subversion-"
- version ".tar.bz2"))
+ (uri (string-append "http://archive.apache.org/dist/subversion/"
+ "subversion-" version ".tar.bz2"))
(sha256
(base32
- "06nrqnn3qq1hhskkcdbm0ilk2xv6ay2gyf2c7qvxp6xncb782wzn"))))
+ "06nrqnn3qq1hhskkcdbm0ilk2xv6ay2gyf2c7qvxp6xncb782wzn"))
+ (patches
+ (list (search-patch "subversion-propagate-env-to-hooks.patch")))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-cons-after
--
1.7.9.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* Re: [PATCH 01/13] gnu: subversion: Propagate env variables to hooks.
2014-11-21 5:40 ` [PATCH 01/13] gnu: subversion: Propagate env variables to hooks Eric Bavier
@ 2014-11-21 22:02 ` Ludovic Courtès
2014-11-21 22:24 ` Eric Bavier
0 siblings, 1 reply; 42+ messages in thread
From: Ludovic Courtès @ 2014-11-21 22:02 UTC (permalink / raw)
To: Eric Bavier; +Cc: guix-devel, Eric Bavier
Eric Bavier <ericbavier@gmail.com> skribis:
> * gnu/packages/patches/subversion-propagate-env-to-hooks.patch: New patch.
> * gnu-system.am (dist_patch_DATA): Add it.
> * gnu/packages/version-control.scm (subversion): Use it.
[...]
> +++ b/gnu/packages/patches/subversion-propagate-env-to-hooks.patch
> @@ -0,0 +1,14 @@
> +* Hooks need to inherit environment variables such as PATH, otherwise simple
> + things like `ls` might fail in a hook.
What’s the upstream status of this patch? I’m imagine it a useful
property even for FHS distros. IOW, what about submitting it upstream
if it’s not already done?
That looks good, but I want to make sure we’re not changing something
that was purposefully made this way.
Ludo’.
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 01/13] gnu: subversion: Propagate env variables to hooks.
2014-11-21 22:02 ` Ludovic Courtès
@ 2014-11-21 22:24 ` Eric Bavier
2014-11-22 5:15 ` Eric Bavier
0 siblings, 1 reply; 42+ messages in thread
From: Eric Bavier @ 2014-11-21 22:24 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel, Eric Bavier
Ludovic Courtès writes:
> Eric Bavier <ericbavier@gmail.com> skribis:
>
>> * gnu/packages/patches/subversion-propagate-env-to-hooks.patch: New patch.
>> * gnu-system.am (dist_patch_DATA): Add it.
>> * gnu/packages/version-control.scm (subversion): Use it.
>
> [...]
>
>> +++ b/gnu/packages/patches/subversion-propagate-env-to-hooks.patch
>> @@ -0,0 +1,14 @@
>> +* Hooks need to inherit environment variables such as PATH, otherwise simple
>> + things like `ls` might fail in a hook.
>
> What’s the upstream status of this patch? I’m imagine it a useful
> property even for FHS distros. IOW, what about submitting it upstream
> if it’s not already done?
It looks like they did change the behavior in 1.8. I can't tell at this
point from the source if it would fix our use-case. If it does, perhaps
we could upgrade our subversion to 1.8.10?
> That looks good, but I want to make sure we’re not changing something
> that was purposefully made this way.
If the behavior is similar in 1.8.10, I'll get in contact with the
developers.
--
Eric Bavier
Please avoid sending me Word or PowerPoint attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 01/13] gnu: subversion: Propagate env variables to hooks.
2014-11-21 22:24 ` Eric Bavier
@ 2014-11-22 5:15 ` Eric Bavier
2014-11-22 11:02 ` Ludovic Courtès
0 siblings, 1 reply; 42+ messages in thread
From: Eric Bavier @ 2014-11-22 5:15 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: Guix-devel, Eric Bavier
[-- Attachment #1: Type: text/plain, Size: 1728 bytes --]
On Fri, Nov 21, 2014 at 4:24 PM, Eric Bavier <ericbavier@gmail.com> wrote:
>
> Ludovic Courtès writes:
>
> > Eric Bavier <ericbavier@gmail.com> skribis:
> >
> >> * gnu/packages/patches/subversion-propagate-env-to-hooks.patch: New
> patch.
> >> * gnu-system.am (dist_patch_DATA): Add it.
> >> * gnu/packages/version-control.scm (subversion): Use it.
> >
> > [...]
> >
> >> +++ b/gnu/packages/patches/subversion-propagate-env-to-hooks.patch
> >> @@ -0,0 +1,14 @@
> >> +* Hooks need to inherit environment variables such as PATH, otherwise
> simple
> >> + things like `ls` might fail in a hook.
> >
> > That looks good, but I want to make sure we’re not changing something
> > that was purposefully made this way.
>
> If the behavior is similar in 1.8.10, I'll get in contact with the
> developers.
>
According to the subversion documentation, the desired behavior is to
execute hooks in an empty environment for security reasons (see
http://svnbook.red-bean.com/en/1.7/svn.reposadmin.create.html#svn.reposadmin.create.hooks
).
So it looks like this is a small bug in libtool. The wrapper scripts
libtool generates for programs use `ls' to resolve symbolic links and is
the only utility program invoked without an absolute file name (the only
other utility being sed). If such a wrapper script is executed with no
PATH set, then we get "ls: command not found" errors. I don't think it's
unreasonable to expect libtool's wrappers to be able to execute in an empty
environment.
We could patch our libtool to use absolute file names for ls. WDYT?
`~Eric
--
Please avoid sending me Word or PowerPoint attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html
[-- Attachment #2: Type: text/html, Size: 2588 bytes --]
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 01/13] gnu: subversion: Propagate env variables to hooks.
2014-11-22 5:15 ` Eric Bavier
@ 2014-11-22 11:02 ` Ludovic Courtès
2014-11-25 5:42 ` Eric Bavier
0 siblings, 1 reply; 42+ messages in thread
From: Ludovic Courtès @ 2014-11-22 11:02 UTC (permalink / raw)
To: Eric Bavier; +Cc: Guix-devel, Eric Bavier
Eric Bavier <ericbavier@gmail.com> skribis:
> On Fri, Nov 21, 2014 at 4:24 PM, Eric Bavier <ericbavier@gmail.com> wrote:
>
>>
>> Ludovic Courtès writes:
>>
>> > Eric Bavier <ericbavier@gmail.com> skribis:
>> >
>> >> * gnu/packages/patches/subversion-propagate-env-to-hooks.patch: New
>> patch.
>> >> * gnu-system.am (dist_patch_DATA): Add it.
>> >> * gnu/packages/version-control.scm (subversion): Use it.
>> >
>> > [...]
>> >
>> >> +++ b/gnu/packages/patches/subversion-propagate-env-to-hooks.patch
>> >> @@ -0,0 +1,14 @@
>> >> +* Hooks need to inherit environment variables such as PATH, otherwise
>> simple
>> >> + things like `ls` might fail in a hook.
>> >
>> > That looks good, but I want to make sure we’re not changing something
>> > that was purposefully made this way.
>>
>> If the behavior is similar in 1.8.10, I'll get in contact with the
>> developers.
>>
>
> According to the subversion documentation, the desired behavior is to
> execute hooks in an empty environment for security reasons (see
> http://svnbook.red-bean.com/en/1.7/svn.reposadmin.create.html#svn.reposadmin.create.hooks
> ).
OK, so I think it’s important to stick to this behavior.
> So it looks like this is a small bug in libtool. The wrapper scripts
> libtool generates for programs use `ls' to resolve symbolic links and is
> the only utility program invoked without an absolute file name (the only
> other utility being sed). If such a wrapper script is executed with no
> PATH set, then we get "ls: command not found" errors. I don't think it's
> unreasonable to expect libtool's wrappers to be able to execute in an empty
> environment.
I see. So the patch is there “just” to allow tests to run, right?
Second, the problem should affect everyone, including FHS systems, no?
How do people work around it?
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 01/13] gnu: subversion: Propagate env variables to hooks.
2014-11-22 11:02 ` Ludovic Courtès
@ 2014-11-25 5:42 ` Eric Bavier
2014-11-25 8:03 ` Ludovic Courtès
0 siblings, 1 reply; 42+ messages in thread
From: Eric Bavier @ 2014-11-25 5:42 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: Guix-devel, Eric Bavier
[-- Attachment #1: Type: text/plain, Size: 3069 bytes --]
On Sat, Nov 22, 2014 at 5:02 AM, Ludovic Courtès <ludo@gnu.org> wrote:
> Eric Bavier <ericbavier@gmail.com> skribis:
>
> > On Fri, Nov 21, 2014 at 4:24 PM, Eric Bavier <ericbavier@gmail.com>
> wrote:
> >
> >>
> >> Ludovic Courtès writes:
> >>
> >> > Eric Bavier <ericbavier@gmail.com> skribis:
> >> >
> >> >> * gnu/packages/patches/subversion-propagate-env-to-hooks.patch: New
> >> patch.
> >> >> * gnu-system.am (dist_patch_DATA): Add it.
> >> >> * gnu/packages/version-control.scm (subversion): Use it.
> >> >
> >> > [...]
> >> >
> >> >> +++ b/gnu/packages/patches/subversion-propagate-env-to-hooks.patch
> >> >> @@ -0,0 +1,14 @@
> >> >> +* Hooks need to inherit environment variables such as PATH,
> otherwise
> >> simple
> >> >> + things like `ls` might fail in a hook.
> >> >
> >> > That looks good, but I want to make sure we’re not changing something
> >> > that was purposefully made this way.
> >>
> >> If the behavior is similar in 1.8.10, I'll get in contact with the
> >> developers.
> >>
> >
> > According to the subversion documentation, the desired behavior is to
> > execute hooks in an empty environment for security reasons (see
> >
> http://svnbook.red-bean.com/en/1.7/svn.reposadmin.create.html#svn.reposadmin.create.hooks
> > ).
>
> OK, so I think it’s important to stick to this behavior.
>
Agreed.
>
> > So it looks like this is a small bug in libtool. The wrapper scripts
> > libtool generates for programs use `ls' to resolve symbolic links and is
> > the only utility program invoked without an absolute file name (the only
> > other utility being sed). If such a wrapper script is executed with no
> > PATH set, then we get "ls: command not found" errors. I don't think it's
> > unreasonable to expect libtool's wrappers to be able to execute in an
> empty
> > environment.
>
> I see. So the patch is there “just” to allow tests to run, right?
>
Only for tests to pass, yes.
> Second, the problem should affect everyone, including FHS systems, no?
>
The culprit, I think, is a small difference in behavior of bash. If PATH
is unset (such as within svn's hook environment), then `bash -c 'echo
$PATH'` on an FHS system prints something like
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", but Guix's
bash prints "/no-such-path". In the first case, `ls` will resolve to
"/bin/ls", but will not be found in the second.
> How do people work around it?
>
Given that behavior, people have nothing to work around. Does Nix's bash
behave differently?
I'm not sure that our bash needs to be changed in any way. It's current
behavior seems in line with Guix's way of things.
I was able to get the tests to pass by simply patching the references to ls
that libtool emits in its wrappers. I think this might be the way to go
for now, while also submitting a bug to libtool.
Thoughts?
`~Eric
--
Please avoid sending me Word or PowerPoint attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html
[-- Attachment #2: Type: text/html, Size: 4790 bytes --]
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 01/13] gnu: subversion: Propagate env variables to hooks.
2014-11-25 5:42 ` Eric Bavier
@ 2014-11-25 8:03 ` Ludovic Courtès
2014-11-25 16:51 ` Eric Bavier
0 siblings, 1 reply; 42+ messages in thread
From: Ludovic Courtès @ 2014-11-25 8:03 UTC (permalink / raw)
To: Eric Bavier; +Cc: Guix-devel, Eric Bavier
Eric Bavier <ericbavier@gmail.com> skribis:
> The culprit, I think, is a small difference in behavior of bash. If PATH
> is unset (such as within svn's hook environment), then `bash -c 'echo
> $PATH'` on an FHS system prints something like
> "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", but Guix's
> bash prints "/no-such-path". In the first case, `ls` will resolve to
> "/bin/ls", but will not be found in the second.
OK. The /no-such-path comes from the compile-time settings of our Bash,
in (gnu packages bash).
We could perhaps fix it to refer to Coreutils, but that’s a bit tricky.
(Similarly, ‘getconf PATH’ with our libc returns something non-sensical,
but I’m not sure what can be done about it.)
> Given that behavior, people have nothing to work around. Does Nix's bash
> behave differently?
No.
> I'm not sure that our bash needs to be changed in any way. It's current
> behavior seems in line with Guix's way of things.
Yes.
> I was able to get the tests to pass by simply patching the references to ls
> that libtool emits in its wrappers. I think this might be the way to go
> for now,
Yes, sounds good.
> while also submitting a bug to libtool.
I don’t think so. Often, the problem is when such scripts contain
absolute file names, like /usr/bin/file, which we need to patch. This
time they’re “doing it right”, so let’s not suggest the evil thing. :-)
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 01/13] gnu: subversion: Propagate env variables to hooks.
2014-11-25 8:03 ` Ludovic Courtès
@ 2014-11-25 16:51 ` Eric Bavier
2014-11-25 17:09 ` Ludovic Courtès
0 siblings, 1 reply; 42+ messages in thread
From: Eric Bavier @ 2014-11-25 16:51 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: Guix-devel, Eric Bavier
Ludovic Courtès writes:
> Eric Bavier <ericbavier@gmail.com> skribis:
>
>> The culprit, I think, is a small difference in behavior of bash. If PATH
>> is unset (such as within svn's hook environment), then `bash -c 'echo
>> $PATH'` on an FHS system prints something like
>> "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", but Guix's
>> bash prints "/no-such-path". In the first case, `ls` will resolve to
>> "/bin/ls", but will not be found in the second.
>
> OK. The /no-such-path comes from the compile-time settings of our Bash,
> in (gnu packages bash).
>
> We could perhaps fix it to refer to Coreutils, but that’s a bit
> tricky.
I'll fix our subversion, but we'll need to keep this option in mind in
the future. It doesn't look like it would be *too* tricky ;)
>> I was able to get the tests to pass by simply patching the references to ls
>> that libtool emits in its wrappers. I think this might be the way to go
>> for now,
>
> Yes, sounds good.
>
>> while also submitting a bug to libtool.
>
> I don’t think so. Often, the problem is when such scripts contain
> absolute file names, like /usr/bin/file, which we need to patch. This
> time they’re “doing it right”, so let’s not suggest the evil thing.
> :-)
My thought was that libtool could get the absolute file name to ls
during configure, as it does already with a number of the other tools it
uses. I agree that we don't want a "fix" that leaves us with yet more
things to patch.
--
Eric Bavier
Please avoid sending me Word or PowerPoint attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 01/13] gnu: subversion: Propagate env variables to hooks.
2014-11-25 16:51 ` Eric Bavier
@ 2014-11-25 17:09 ` Ludovic Courtès
0 siblings, 0 replies; 42+ messages in thread
From: Ludovic Courtès @ 2014-11-25 17:09 UTC (permalink / raw)
To: Eric Bavier; +Cc: Guix-devel, Eric Bavier
Eric Bavier <ericbavier@gmail.com> skribis:
> Ludovic Courtès writes:
>
>> Eric Bavier <ericbavier@gmail.com> skribis:
>>
>>> The culprit, I think, is a small difference in behavior of bash. If PATH
>>> is unset (such as within svn's hook environment), then `bash -c 'echo
>>> $PATH'` on an FHS system prints something like
>>> "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", but Guix's
>>> bash prints "/no-such-path". In the first case, `ls` will resolve to
>>> "/bin/ls", but will not be found in the second.
>>
>> OK. The /no-such-path comes from the compile-time settings of our Bash,
>> in (gnu packages bash).
>>
>> We could perhaps fix it to refer to Coreutils, but that’s a bit
>> tricky.
>
> I'll fix our subversion, but we'll need to keep this option in mind in
> the future. It doesn't look like it would be *too* tricky ;)
OK.
What would make it tricky is the fact that the “final” packages built in
(gnu packages commencement) must not retain references to the bootstrap
tools. So the final Bash must refer to the final Coreutils, not to the
bootstrap Coreutils.
>>> I was able to get the tests to pass by simply patching the references to ls
>>> that libtool emits in its wrappers. I think this might be the way to go
>>> for now,
>>
>> Yes, sounds good.
>>
>>> while also submitting a bug to libtool.
>>
>> I don’t think so. Often, the problem is when such scripts contain
>> absolute file names, like /usr/bin/file, which we need to patch. This
>> time they’re “doing it right”, so let’s not suggest the evil thing.
>> :-)
>
> My thought was that libtool could get the absolute file name to ls
> during configure, as it does already with a number of the other tools it
> uses.
Oh right, I had misunderstood your proposal. That’s a good idea.
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 42+ messages in thread
* [PATCH 02/13] gnu: python: Add sqlite input.
2014-11-21 5:40 [PATCH 00/13] Add gourmet (and dependent python packages) Eric Bavier
2014-11-21 5:40 ` [PATCH 01/13] gnu: subversion: Propagate env variables to hooks Eric Bavier
@ 2014-11-21 5:40 ` Eric Bavier
2014-11-21 9:28 ` Ludovic Courtès
2014-11-21 5:40 ` [PATCH 03/13] gnu: Add python-sqlalchemy Eric Bavier
` (11 subsequent siblings)
13 siblings, 1 reply; 42+ messages in thread
From: Eric Bavier @ 2014-11-21 5:40 UTC (permalink / raw)
To: guix-devel; +Cc: Eric Bavier
* gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch,
gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch: New patches.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/python.scm (python-2)[source]: Add patch.
[inputs]: Add sqlite.
(python)[source]: Add patch.
---
gnu-system.am | 2 ++
.../patches/python-sqlite-3.8.4-test-fix.patch | 15 +++++++++++++++
.../patches/python2-sqlite-3.8.4-test-fix.patch | 15 +++++++++++++++
gnu/packages/python.scm | 8 +++++++-
4 files changed, 39 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch
create mode 100644 gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch
diff --git a/gnu-system.am b/gnu-system.am
index 5fd18e8..6bdd6f0 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -406,6 +406,8 @@ dist_patch_DATA = \
gnu/packages/patches/pybugz-stty.patch \
gnu/packages/patches/python-fix-tests.patch \
gnu/packages/patches/python-libffi-mips-n32-fix.patch \
+ gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch \
+ gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch \
gnu/packages/patches/qt4-tests.patch \
gnu/packages/patches/ratpoison-shell.patch \
gnu/packages/patches/readline-link-ncurses.patch \
diff --git a/gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch b/gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch
new file mode 100644
index 0000000..2f8b159
--- /dev/null
+++ b/gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch
@@ -0,0 +1,15 @@
+From resolution of upstream python issue #20901: http://bugs.python.org/issue20901
+
+diff --git a/Lib/sqlite3/test/hooks.py b/Lib/sqlite3/test/hooks.py
+--- Lib/sqlite3/test/hooks.py
++++ Lib/sqlite3/test/hooks.py
+@@ -162,7 +162,7 @@ class ProgressTests(unittest.TestCase):
+ create table bar (a, b)
+ """)
+ second_count = len(progress_calls)
+- self.assertGreater(first_count, second_count)
++ self.assertGreaterEqual(first_count, second_count)
+
+ def CheckCancelOperation(self):
+ """
+
diff --git a/gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch b/gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch
new file mode 100644
index 0000000..f121e88
--- /dev/null
+++ b/gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch
@@ -0,0 +1,15 @@
+From resolution of upstream python issue #20901: http://bugs.python.org/issue20901
+
+diff --git a/Lib/sqlite3/test/hooks.py b/Lib/sqlite3/test/hooks.py
+--- Lib/sqlite3/test/hooks.py
++++ Lib/sqlite3/test/hooks.py
+@@ -162,7 +162,7 @@ class ProgressTests(unittest.TestCase):
+ create table bar (a, b)
+ """)
+ second_count = len(progress_calls)
+- self.assertTrue(first_count > second_count)
++ self.assertGreaterEqual(first_count, second_count)
+
+ def CheckCancelOperation(self):
+ """
+
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 3786604..229e140 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -55,7 +55,8 @@
(method url-fetch)
(uri (string-append "https://www.python.org/ftp/python/"
version "/Python-" version ".tar.xz"))
- (patches (list (search-patch "python-libffi-mips-n32-fix.patch")))
+ (patches (list (search-patch "python-libffi-mips-n32-fix.patch")
+ (search-patch "python2-sqlite-3.8.4-test-fix.patch")))
(patch-flags '("-p0"))
(sha256
(base32
@@ -109,6 +110,7 @@
(let ((bz2 (assoc-ref %build-inputs "bzip2"))
(gdbm (assoc-ref %build-inputs "gdbm"))
(libffi (assoc-ref %build-inputs "libffi"))
+ (sqlite (assoc-ref %build-inputs "sqlite"))
(openssl (assoc-ref %build-inputs "openssl"))
(readline (assoc-ref %build-inputs "readline"))
(zlib (assoc-ref %build-inputs "zlib")))
@@ -117,6 +119,7 @@
(string-append "CPPFLAGS="
"-I" bz2 "/include "
"-I" gdbm "/include "
+ "-I" sqlite "/include "
"-I" openssl "/include "
"-I" readline "/include "
"-I" zlib "/include")
@@ -124,6 +127,7 @@
"-L" bz2 "/lib "
"-L" gdbm "/lib "
"-L" libffi "/lib "
+ "-L" sqlite "/lib "
"-L" openssl "/lib "
"-L" readline "/lib "
"-L" zlib "/lib")))
@@ -167,6 +171,7 @@
`(("bzip2" ,bzip2)
("gdbm" ,gdbm)
("libffi" ,libffi) ; for ctypes
+ ("sqlite" ,(@ (gnu packages databases) sqlite)) ; prevent circular refs
("openssl" ,openssl)
("readline" ,readline)
("zlib" ,zlib)
@@ -198,6 +203,7 @@ data types.")
(uri (string-append "https://www.python.org/ftp/python/"
version "/Python-" version ".tar.xz"))
(patches (list (search-patch "python-fix-tests.patch")
+ (search-patch "python-sqlite-3.8.4-test-fix.patch")
(search-patch "python-libffi-mips-n32-fix.patch")))
(patch-flags '("-p0"))
(sha256
--
1.7.9.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* Re: [PATCH 02/13] gnu: python: Add sqlite input.
2014-11-21 5:40 ` [PATCH 02/13] gnu: python: Add sqlite input Eric Bavier
@ 2014-11-21 9:28 ` Ludovic Courtès
2014-11-21 13:11 ` Eric Bavier
0 siblings, 1 reply; 42+ messages in thread
From: Ludovic Courtès @ 2014-11-21 9:28 UTC (permalink / raw)
To: Eric Bavier; +Cc: guix-devel, Eric Bavier
Eric Bavier <ericbavier@gmail.com> skribis:
> * gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch,
> gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch: New patches.
> * gnu-system.am (dist_patch_DATA): Add them.
> * gnu/packages/python.scm (python-2)[source]: Add patch.
> [inputs]: Add sqlite.
> (python)[source]: Add patch.
[...]
> @@ -167,6 +171,7 @@
> `(("bzip2" ,bzip2)
> ("gdbm" ,gdbm)
> ("libffi" ,libffi) ; for ctypes
> + ("sqlite" ,(@ (gnu packages databases) sqlite)) ; prevent circular refs
Unfortunately, that doesn’t prevent anything: it’s roughly equivalent to
having #:use-module (gnu packages databases).
However, maybe the circular dependency is not a problem here. Does
“make clean-go && make” succeed?
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 02/13] gnu: python: Add sqlite input.
2014-11-21 9:28 ` Ludovic Courtès
@ 2014-11-21 13:11 ` Eric Bavier
0 siblings, 0 replies; 42+ messages in thread
From: Eric Bavier @ 2014-11-21 13:11 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: Guix-devel, Eric Bavier
[-- Attachment #1: Type: text/plain, Size: 1273 bytes --]
On Fri, Nov 21, 2014 at 3:28 AM, Ludovic Courtès <ludo@gnu.org> wrote:
> Eric Bavier <ericbavier@gmail.com> skribis:
>
> > * gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch,
> > gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch: New patches.
> > * gnu-system.am (dist_patch_DATA): Add them.
> > * gnu/packages/python.scm (python-2)[source]: Add patch.
> > [inputs]: Add sqlite.
> > (python)[source]: Add patch.
>
> [...]
>
> > @@ -167,6 +171,7 @@
> > `(("bzip2" ,bzip2)
> > ("gdbm" ,gdbm)
> > ("libffi" ,libffi) ; for ctypes
> > + ("sqlite" ,(@ (gnu packages databases) sqlite)) ; prevent
> circular refs
>
> Unfortunately, that doesn’t prevent anything: it’s roughly equivalent to
> having #:use-module (gnu packages databases).
>
Interesting, ok. I thought I'd seem some other such comment elsewhere, but
maybe I'm mistaken.
> However, maybe the circular dependency is not a problem here. Does
> “make clean-go && make” succeed?
>
It does succeed, yes. So maybe it isn't a problem. I'll remove that bit.
Thanks.
`~Eric
--
Please avoid sending me Word or PowerPoint attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html
[-- Attachment #2: Type: text/html, Size: 2257 bytes --]
^ permalink raw reply [flat|nested] 42+ messages in thread
* [PATCH 03/13] gnu: Add python-sqlalchemy.
2014-11-21 5:40 [PATCH 00/13] Add gourmet (and dependent python packages) Eric Bavier
2014-11-21 5:40 ` [PATCH 01/13] gnu: subversion: Propagate env variables to hooks Eric Bavier
2014-11-21 5:40 ` [PATCH 02/13] gnu: python: Add sqlite input Eric Bavier
@ 2014-11-21 5:40 ` Eric Bavier
2014-11-21 22:03 ` Ludovic Courtès
2014-11-21 5:40 ` [PATCH 04/13] gnu: Export symbols in (gnu packages image) upfront Eric Bavier
` (10 subsequent siblings)
13 siblings, 1 reply; 42+ messages in thread
From: Eric Bavier @ 2014-11-21 5:40 UTC (permalink / raw)
To: guix-devel; +Cc: Eric Bavier
* gnu/packages/python.scm (python-sqlalchemy, python2-sqlalchemy): New
variables.
---
gnu/packages/python.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 229e140..6238e4f 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -1879,3 +1879,38 @@ writing C extensions for Python as easy as Python itself.")
(name "python2-cython")
(inputs
`(("python-2" ,python-2))))) ; this is not automatically changed
+
+(define-public python-sqlalchemy
+ (package
+ (name "python-sqlalchemy")
+ (version "0.9.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://pypi.python.org/packages/source/S/"
+ "SQLAlchemy/SQLAlchemy-" version ".tar.gz"))
+ (sha256
+ (base32
+ "059ayifj5l08v6vv56anhyibyllscn10dlzr2fcw68gz1hfjdzsz"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-cython" ,python-cython) ;for c extensions
+ ("python-pytest" ,python-pytest)
+ ("python-mock" ,python-mock))) ;for tests
+ (arguments
+ `(#:phases (alist-replace
+ 'check
+ (lambda _ (zero? (system* "py.test")))
+ %standard-phases)))
+ (home-page "http://www.sqlalchemy.org")
+ (synopsis "Database Abstraction Library")
+ (description
+ "SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that
+gives application developers the full power and flexibility of SQL. It
+provides a full suite of well known enterprise-level persistence patterns,
+designed for efficient and high-performing database access, adapted into a
+simple and Pythonic domain language.")
+ (license x11)))
+
+(define-public python2-sqlalchemy
+ (package-with-python2 python-sqlalchemy))
--
1.7.9.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [PATCH 04/13] gnu: Export symbols in (gnu packages image) upfront.
2014-11-21 5:40 [PATCH 00/13] Add gourmet (and dependent python packages) Eric Bavier
` (2 preceding siblings ...)
2014-11-21 5:40 ` [PATCH 03/13] gnu: Add python-sqlalchemy Eric Bavier
@ 2014-11-21 5:40 ` Eric Bavier
2014-11-21 5:41 ` [PATCH 05/13] gnu: Export ghostscript module symbols up-front Eric Bavier
` (9 subsequent siblings)
13 siblings, 0 replies; 42+ messages in thread
From: Eric Bavier @ 2014-11-21 5:40 UTC (permalink / raw)
To: guix-devel; +Cc: Eric Bavier
* gnu/packages/image.scm [module]: Export symbols in module definition.
---
gnu/packages/image.scm | 38 ++++++++++++++++++++++++++------------
1 file changed, 26 insertions(+), 12 deletions(-)
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 7a22bf4..2cb64c2 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -33,9 +33,23 @@
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
- #:use-module (srfi srfi-1))
+ #:use-module (srfi srfi-1)
-(define-public libpng
+ ;; Export variables up-front to allow circular dependency with the
+ ;; 'ghostscript' module.
+ #:export (libpng
+ libjpeg
+ libjpeg-8
+ libtiff
+ libwmf
+ jbig2dec
+ openjpeg
+ giflib
+ imlib2
+ giblib
+ freeimage))
+
+(define libpng
(package
(name "libpng")
(version "1.5.17")
@@ -62,7 +76,7 @@ library. It supports almost all PNG features and is extensible.")
(license license:zlib)
(home-page "http://www.libpng.org/pub/png/libpng.html")))
-(define-public libjpeg
+(define libjpeg
(package
(name "libjpeg")
(version "9a")
@@ -83,7 +97,7 @@ image files in PBMPLUS PPM/PGM, GIF, BMP, and Targa file formats.")
(license license:ijg)
(home-page "http://www.ijg.org/")))
-(define-public libjpeg-8
+(define libjpeg-8
(package (inherit libjpeg)
(version "8d")
(source (origin
@@ -93,7 +107,7 @@ image files in PBMPLUS PPM/PGM, GIF, BMP, and Targa file formats.")
(sha256 (base32
"1cz0dy05mgxqdgjf52p54yxpyy95rgl30cnazdrfmw7hfca9n0h0"))))))
-(define-public libtiff
+(define libtiff
(package
(name "libtiff")
(version "4.0.3")
@@ -122,7 +136,7 @@ collection of tools for doing simple manipulations of TIFF images.")
"See COPYRIGHT in the distribution."))
(home-page "http://www.libtiff.org/")))
-(define-public libwmf
+(define libwmf
(package
(name "libwmf")
(version "0.2.8.4")
@@ -155,7 +169,7 @@ the W3C's XML-based Scaleable Vector Graphic (SVG) format.")
;; 'COPYING' is the GPLv2, but file headers say LGPLv2.0+.
(license license:lgpl2.0+)))
-(define-public jbig2dec
+(define jbig2dec
(package
(name "jbig2dec")
(version "0.11")
@@ -184,7 +198,7 @@ work.")
(home-page "http://jbig2dec.sourceforge.net/")
(license license:gpl2+)))
-(define-public openjpeg
+(define openjpeg
(package
(name "openjpeg")
(version "2.0.0")
@@ -220,7 +234,7 @@ error-resilience, a Java-viewer for j2k-images, ...")
(home-page "http://jbig2dec.sourceforge.net/")
(license license:bsd-2)))
-(define-public giflib
+(define giflib
(package
(name "giflib")
(version "4.2.3")
@@ -268,7 +282,7 @@ compose, and analyze GIF images.")
(home-page "http://giflib.sourceforge.net/")
(license license:x11)))
-(define-public imlib2
+(define imlib2
(package
(name "imlib2")
(version "1.4.6")
@@ -316,7 +330,7 @@ This is a complete rewrite over the Imlib 1.x series. The architecture is
more modular, simple, and flexible.")
(license license:imlib2)))
-(define-public giblib
+(define giblib
(package
(name "giblib")
(version "1.2.4")
@@ -343,7 +357,7 @@ supplies a generic doubly-linked list and some string functions.")
(license (license:x11-style "file://COPYING"
"See 'COPYING' in the distribution."))))
-(define-public freeimage
+(define freeimage
(package
(name "freeimage")
(version "3.16.0")
--
1.7.9.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [PATCH 05/13] gnu: Export ghostscript module symbols up-front.
2014-11-21 5:40 [PATCH 00/13] Add gourmet (and dependent python packages) Eric Bavier
` (3 preceding siblings ...)
2014-11-21 5:40 ` [PATCH 04/13] gnu: Export symbols in (gnu packages image) upfront Eric Bavier
@ 2014-11-21 5:41 ` Eric Bavier
2014-11-21 22:04 ` Ludovic Courtès
2014-11-21 5:41 ` [PATCH 06/13] gnu: Add python-pillow Eric Bavier
` (8 subsequent siblings)
13 siblings, 1 reply; 42+ messages in thread
From: Eric Bavier @ 2014-11-21 5:41 UTC (permalink / raw)
To: guix-devel; +Cc: Eric Bavier
* gnu/packages/ghostscript.scm [module]: Export symbols up-front.
---
gnu/packages/ghostscript.scm | 23 ++++++++++++++++-------
1 file changed, 16 insertions(+), 7 deletions(-)
diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm
index f21eead..f519d1b 100644
--- a/gnu/packages/ghostscript.scm
+++ b/gnu/packages/ghostscript.scm
@@ -28,9 +28,18 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
- #:use-module (guix build-system gnu))
+ #:use-module (guix build-system gnu)
-(define-public lcms
+ ;; Export variables up-front to allow circular dependency with the 'python'
+ ;; module.
+ #:export (lcms
+ libpaper
+ psutils
+ ghostscript
+ gs-fonts
+ libspectre))
+
+(define lcms
(package
(name "lcms")
(version "2.4")
@@ -53,7 +62,7 @@ Consortium standard (ICC), approved as ISO 15076-1.")
(license license:x11)
(home-page "http://www.littlecms.com/")))
-(define-public libpaper
+(define libpaper
(package
(name "libpaper")
(version "1.1.24")
@@ -73,7 +82,7 @@ paper size.")
(license license:gpl2)
(home-page "http://packages.qa.debian.org/libp/libpaper.html")))
-(define-public psutils
+(define psutils
(package
(name "psutils")
(version "17")
@@ -115,7 +124,7 @@ printing, and psresize, for adjusting page sizes.")
"See LICENSE in the distribution."))
(home-page "http://knackered.org/angus/psutils/")))
-(define-public ghostscript
+(define ghostscript
(package
(name "ghostscript")
(version "9.06.0")
@@ -163,7 +172,7 @@ output file formats and printers.")
(license license:gpl3+)
(home-page "http://www.gnu.org/software/ghostscript/")))
-(define-public gs-fonts
+(define gs-fonts
(package
(name "gs-fonts")
(version "8.11")
@@ -205,7 +214,7 @@ Ghostscript. It currently includes the 35 standard PostScript fonts.")
(license license:gpl2)
(home-page "http://sourceforge.net/projects/gs-fonts/")))
-(define-public libspectre
+(define libspectre
(package
(name "libspectre")
(version "0.2.7")
--
1.7.9.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [PATCH 06/13] gnu: Add python-pillow.
2014-11-21 5:40 [PATCH 00/13] Add gourmet (and dependent python packages) Eric Bavier
` (4 preceding siblings ...)
2014-11-21 5:41 ` [PATCH 05/13] gnu: Export ghostscript module symbols up-front Eric Bavier
@ 2014-11-21 5:41 ` Eric Bavier
2014-11-21 22:05 ` Ludovic Courtès
2014-11-21 5:41 ` [PATCH 07/13] gnu: Add python-distutils-extra Eric Bavier
` (7 subsequent siblings)
13 siblings, 1 reply; 42+ messages in thread
From: Eric Bavier @ 2014-11-21 5:41 UTC (permalink / raw)
To: guix-devel; +Cc: Eric Bavier
* gnu/packages/python.scm (python-pillow, python2-pillow): New variables.
---
gnu/packages/python.scm | 52 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 6238e4f..9e6d3c9 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -31,6 +31,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages gdbm)
#:use-module (gnu packages icu4c)
+ #:use-module (gnu packages image)
#:use-module (gnu packages libffi)
#:use-module (gnu packages readline)
#:use-module (gnu packages openssl)
@@ -38,6 +39,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages databases)
#:use-module (gnu packages zip)
+ #:use-module (gnu packages ghostscript)
#:use-module (gnu packages multiprecision)
#:use-module (guix packages)
#:use-module (guix download)
@@ -1914,3 +1916,53 @@ simple and Pythonic domain language.")
(define-public python2-sqlalchemy
(package-with-python2 python-sqlalchemy))
+
+(define-public python-pillow
+ (package
+ (name "python-pillow")
+ (version "2.6.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://pypi.python.org/packages/source/P/"
+ "Pillow/Pillow-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0iw36c73wkhz88wa78v6l43llsb080ihw8yq7adhfqxdib7l4hzr"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-setuptools" ,python-setuptools)
+ ("python-nose" ,python-nose)))
+ (inputs
+ `(("lcms" ,lcms)
+ ("zlib" ,zlib)
+ ("libjpeg" ,libjpeg)
+ ("openjpeg" ,openjpeg)
+ ("libtiff" ,libtiff)))
+ (propagated-inputs
+ `(;; Used at runtime for pkg_resources
+ ("python-setuptools" ,python-setuptools)))
+ (arguments
+ `(#:phases (alist-cons-after
+ 'install 'check-installed
+ (lambda _
+ (begin
+ (setenv "HOME" (getcwd))
+ (and (zero? (system* "python" "selftest.py" "--installed"))
+ (zero? (system* "python" "test-installed.py")))))
+ (alist-delete 'check %standard-phases))))
+ (home-page "https://pypi.python.org/pypi/Pillow")
+ (synopsis "Fork of the Python Imaging Library")
+ (description
+ "The Python Imaging Library adds image processing capabilities to your
+Python interpreter. This library provides extensive file format support, an
+efficient internal representation, and fairly powerful image processing
+capabilities. The core image library is designed for fast access to data
+stored in a few basic pixel formats. It should provide a solid foundation for
+a general image processing tool.")
+ (license (x11-style
+ "http://www.pythonware.com/products/pil/license.htm"
+ "The PIL Software License"))))
+
+(define-public python2-pillow
+ (package-with-python2 python-pillow))
--
1.7.9.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [PATCH 07/13] gnu: Add python-distutils-extra.
2014-11-21 5:40 [PATCH 00/13] Add gourmet (and dependent python packages) Eric Bavier
` (5 preceding siblings ...)
2014-11-21 5:41 ` [PATCH 06/13] gnu: Add python-pillow Eric Bavier
@ 2014-11-21 5:41 ` Eric Bavier
2014-11-21 22:07 ` Ludovic Courtès
2014-11-21 5:41 ` [PATCH 08/13] gnu: Add python-elib.intl Eric Bavier
` (6 subsequent siblings)
13 siblings, 1 reply; 42+ messages in thread
From: Eric Bavier @ 2014-11-21 5:41 UTC (permalink / raw)
To: guix-devel; +Cc: Eric Bavier
* gnu/packages/python.scm (python-distutils-extra, python2-distutils-extra):
New variables.
---
gnu/packages/python.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 9e6d3c9..aab3d35 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -1917,6 +1917,31 @@ simple and Pythonic domain language.")
(define-public python2-sqlalchemy
(package-with-python2 python-sqlalchemy))
+(define-public python-distutils-extra
+ (package
+ (name "python-distutils-extra")
+ (version "2.38")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://launchpad.net/python-distutils-extra/trunk/"
+ version "/+download/python-distutils-extra-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0lx15kcbby9zisx33p2h5hgakgwh2bvh0ibag8z0px4j6ifhs41x"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-setuptools" ,python-setuptools)))
+ (home-page "https://launchpad.net/python-distutils-extra/")
+ (synopsis "Enhancements to Python's distutils")
+ (description
+ "Enables you to easily integrate gettext support, themed icons, and
+scrollkeeper-based documentation into Python's distutils.")
+ (license gpl2)))
+
+(define-public python2-distutils-extra
+ (package-with-python2 python-distutils-extra))
(define-public python-pillow
(package
(name "python-pillow")
--
1.7.9.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [PATCH 08/13] gnu: Add python-elib.intl.
2014-11-21 5:40 [PATCH 00/13] Add gourmet (and dependent python packages) Eric Bavier
` (6 preceding siblings ...)
2014-11-21 5:41 ` [PATCH 07/13] gnu: Add python-distutils-extra Eric Bavier
@ 2014-11-21 5:41 ` Eric Bavier
2014-11-21 22:06 ` Ludovic Courtès
2014-11-21 5:41 ` [PATCH 09/13] guix: Add MPL1.1 license Eric Bavier
` (5 subsequent siblings)
13 siblings, 1 reply; 42+ messages in thread
From: Eric Bavier @ 2014-11-21 5:41 UTC (permalink / raw)
To: guix-devel; +Cc: Eric Bavier
* gnu/packages/python.scm (python-elib.intl, python2-elib.intl): New
variables.
---
gnu/packages/python.scm | 38 +++++++++++++++++++++++++++++++++++++-
1 file changed, 37 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index aab3d35..a967c74 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -24,7 +24,7 @@
(define-module (gnu packages python)
#:use-module ((guix licenses)
#:select (asl2.0 bsd-3 bsd-2 bsd-style cc0 expat x11 x11-style
- gpl2 gpl2+ gpl3+ lgpl2.0+ lgpl2.1+
+ gpl2 gpl2+ gpl3+ lgpl2.0+ lgpl2.1+ lgpl3+
psfl public-domain))
#:use-module ((guix licenses) #:select (zlib) #:prefix license:)
#:use-module (gnu packages)
@@ -43,6 +43,7 @@
#:use-module (gnu packages multiprecision)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
@@ -1942,6 +1943,41 @@ scrollkeeper-based documentation into Python's distutils.")
(define-public python2-distutils-extra
(package-with-python2 python-distutils-extra))
+
+(define-public python2-elib.intl
+ (package
+ (name "python2-elib.intl")
+ (version "0.0.3")
+ (source
+ (origin
+ ;; This project doesn't tag releases or publish tarballs, so we take
+ ;; source from a (semi-arbitrary, i.e. latest as of now) git commit.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dieterv/elib.intl.git")
+ (commit "d09997cfef")))
+ (sha256
+ (base32
+ "0y7vzff9xgbnaay7m0va1arl6g68ncwrvbgwl7jqlclsahzzb09d"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python2-setuptools" ,python2-setuptools)))
+ (arguments
+ ;; incompatible with Python 3 (exception syntax)
+ `(#:python ,python-2
+ #:tests? #f
+ ;; With standard flags, the install phase attempts to create a zip'd
+ ;; egg file, and fails with an error: 'ZIP does not support timestamps
+ ;; before 1980'
+ #:configure-flags '("--single-version-externally-managed"
+ "--record=elib.txt")))
+ (home-page "https://github.com/dieterv/elib.intl")
+ (synopsis "Enhanced internationalization for Python")
+ (description
+ "The elib.intl module provides enhanced internationalization (I18N)
+services for your Python modules and applications.")
+ (license lgpl3+)))
+
(define-public python-pillow
(package
(name "python-pillow")
--
1.7.9.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [PATCH 09/13] guix: Add MPL1.1 license.
2014-11-21 5:40 [PATCH 00/13] Add gourmet (and dependent python packages) Eric Bavier
` (7 preceding siblings ...)
2014-11-21 5:41 ` [PATCH 08/13] gnu: Add python-elib.intl Eric Bavier
@ 2014-11-21 5:41 ` Eric Bavier
2014-11-21 22:08 ` Ludovic Courtès
2014-11-21 5:41 ` [PATCH 10/13] gnu: Add python-pycairo Eric Bavier
` (4 subsequent siblings)
13 siblings, 1 reply; 42+ messages in thread
From: Eric Bavier @ 2014-11-21 5:41 UTC (permalink / raw)
To: guix-devel; +Cc: Eric Bavier
* guix/licenses.scm (mpl1.1): New variable.
---
guix/licenses.scm | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/guix/licenses.scm b/guix/licenses.scm
index 8b7ea53..9ed4929 100644
--- a/guix/licenses.scm
+++ b/guix/licenses.scm
@@ -39,7 +39,7 @@
ibmpl1.0
imlib2
lgpl2.0 lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3 lgpl3+
- mpl2.0
+ mpl1.1 mpl2.0
openldap2.8 openssl
psfl public-domain
qpl
@@ -231,6 +231,11 @@ which may be a file:// URI pointing the package's tree."
"https://www.gnu.org/licenses/lgpl.html"
"https://www.gnu.org/licenses/license-list#LGPLv3"))
+(define mpl1.1
+ (license "MPL 1.1"
+ "http://directory.fsf.org/wiki/License:MPLv1.1"
+ "https://www.gnu.org/licenses/license-list#MPL"))
+
(define mpl2.0
(license "MPL 2.0"
"http://directory.fsf.org/wiki/License:MPLv2.0"
--
1.7.9.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [PATCH 10/13] gnu: Add python-pycairo.
2014-11-21 5:40 [PATCH 00/13] Add gourmet (and dependent python packages) Eric Bavier
` (8 preceding siblings ...)
2014-11-21 5:41 ` [PATCH 09/13] guix: Add MPL1.1 license Eric Bavier
@ 2014-11-21 5:41 ` Eric Bavier
2014-11-21 22:11 ` Ludovic Courtès
2014-11-21 5:41 ` [PATCH 11/13] gnu: Add python-pygobject Eric Bavier
` (3 subsequent siblings)
13 siblings, 1 reply; 42+ messages in thread
From: Eric Bavier @ 2014-11-21 5:41 UTC (permalink / raw)
To: guix-devel; +Cc: Eric Bavier
* gnu/packages/python.scm (python-pycairo, python2-py2cairo): New variables.
---
gnu/packages/python.scm | 60 ++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 59 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index a967c74..5698481 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -24,7 +24,7 @@
(define-module (gnu packages python)
#:use-module ((guix licenses)
#:select (asl2.0 bsd-3 bsd-2 bsd-style cc0 expat x11 x11-style
- gpl2 gpl2+ gpl3+ lgpl2.0+ lgpl2.1+ lgpl3+
+ gpl2 gpl2+ gpl3+ lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3+
psfl public-domain))
#:use-module ((guix licenses) #:select (zlib) #:prefix license:)
#:use-module (gnu packages)
@@ -2027,3 +2027,61 @@ a general image processing tool.")
(define-public python2-pillow
(package-with-python2 python-pillow))
+
+(define-public python-pycairo
+ (package
+ (name "python-pycairo")
+ (version "1.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://cairographics.org/releases/pycairo-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "1gjkf8x6hyx1skq3hhwcbvwifxvrf9qxis5vx8x5igmmgs70g94s"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (propagated-inputs ;pycairo.pc references cairo
+ `(("cairo" ,(@ (gnu packages gtk) cairo)))) ;prevent circular references
+ (arguments
+ `(#:tests? #f
+ #:phases (alist-cons-before
+ 'build 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (zero? (system* "./waf" "configure"
+ (string-append "--prefix="
+ (assoc-ref outputs "out")))))
+ (alist-replace
+ 'build
+ (lambda _
+ (zero? (system* "./waf" "build")))
+ (alist-replace
+ 'install
+ (lambda _
+ (zero? (system* "./waf" "install")))
+ %standard-phases)))))
+ (home-page "http://cairographics.org/pycairo/")
+ (synopsis "Python bindings for cairo")
+ (description
+ "Pycairo is a set of Python bindings for the cairo graphics library.")
+ (license lgpl3+)))
+
+(define-public python2-py2cairo
+ (package (inherit python-pycairo)
+ (name "python2-py2cairo")
+ (version "1.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://cairographics.org/releases/py2cairo-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "0cblk919wh6w0pgb45zf48xwxykfif16qk264yga7h9fdkq3j16k"))))
+ (arguments
+ `(#:python ,python-2
+ ,@(package-arguments python-pycairo)))
+ ;; Dual-licensed under LGPL 2.1 or Mozilla Public License 1.1
+ (license '(lgpl2.1 mpl1.1))))
--
1.7.9.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [PATCH 11/13] gnu: Add python-pygobject.
2014-11-21 5:40 [PATCH 00/13] Add gourmet (and dependent python packages) Eric Bavier
` (9 preceding siblings ...)
2014-11-21 5:41 ` [PATCH 10/13] gnu: Add python-pycairo Eric Bavier
@ 2014-11-21 5:41 ` Eric Bavier
2014-11-21 22:12 ` Ludovic Courtès
2014-11-21 5:41 ` [PATCH 12/13] gnu: Add python2-pygtk Eric Bavier
` (2 subsequent siblings)
13 siblings, 1 reply; 42+ messages in thread
From: Eric Bavier @ 2014-11-21 5:41 UTC (permalink / raw)
To: guix-devel; +Cc: Eric Bavier
* gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch:
New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/glib.scm (python-pygobject, python2-pygobject-2): New
variables.
---
gnu-system.am | 1 +
gnu/packages/glib.scm | 84 ++++++++++++++++++++
...on2-pygobject-2-gi-info-type-error-domain.patch | 39 +++++++++
3 files changed, 124 insertions(+)
create mode 100644 gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch
diff --git a/gnu-system.am b/gnu-system.am
index 6bdd6f0..41af6d1 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -408,6 +408,7 @@ dist_patch_DATA = \
gnu/packages/patches/python-libffi-mips-n32-fix.patch \
gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch \
gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch \
+ gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
gnu/packages/patches/qt4-tests.patch \
gnu/packages/patches/ratpoison-shell.patch \
gnu/packages/patches/readline-link-ncurses.patch \
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 9076643..494d3f9 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -22,6 +22,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages base)
@@ -37,6 +38,7 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages bash)
#:use-module (gnu packages file)
+ #:use-module (gnu packages which)
#:use-module (gnu packages xorg)
#:use-module (gnu packages m4)
@@ -408,3 +410,85 @@ has an ease of use unmatched by other C++ callback libraries.")
"Glibmm provides a C++ programming interface to the part of GLib that are
useful for C++.")
(license license:lgpl2.1+)))
+
+(define-public python2-pygobject-2
+ (package
+ (name "python2-pygobject")
+ ;; This was the last version to declare the 2.0 platform number, i.e. its
+ ;; pkg-config files were named pygobject-2.0.pc
+ (version "2.28.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/pygobject/"
+ (version-major+minor version)
+ "/pygobject-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1f5dfxjnil2glfwxnqr14d2cjfbkghsbsn8n04js2c2icr7iv2pv"))
+ (patches
+ (list (search-patch
+ "python2-pygobject-2-gi-info-type-error-domain.patch")))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("which" ,which)
+ ("glib-bin" ,glib "bin") ;for tests: glib-compile-schemas
+ ("pkg-config" ,pkg-config)
+ ("dbus" ,dbus))) ;for tests
+ (inputs
+ `(("python" ,python-2)
+ ("glib" ,glib)
+ ("python2-py2cairo" ,python2-py2cairo)
+ ("gobject-introspection" ,gobject-introspection)))
+ (propagated-inputs
+ `(("libffi" ,libffi))) ;mentioned in pygobject-2.0.pc
+ (arguments
+ `(#:tests? #f ;segfaults during tests
+ #:configure-flags '("LIBS=-lcairo-gobject")))
+ (home-page "https://pypi.python.org/pypi/PyGObject")
+ (synopsis "Python bindings for GObject")
+ (description
+ "Python bindings for GLib, GObject, and GIO.")
+ (license license:lgpl2.1+)))
+
+(define-public python-pygobject
+ (package
+ (name "python-pygobject")
+ (version "3.12.2") ;last version that works with
+ ;gobject-introspection 1.38
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/pygobject/"
+ (version-major+minor version)
+ "/pygobject-" version ".tar.xz"))
+ (sha256
+ (base32
+ "08m5yad1hjdax4g39w6lgjk4124mcwpa8fc5iyvb8nygk8s3syky"))))
+ ;; 3.14.0: 0m1d75iwxa6k1xbkn6c6yq5r10pxnf7i5c2a5yvwsnab7ylzz7kp
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("which" ,which)
+ ("glib-bin" ,glib "bin") ;for tests: glib-compile-schemas
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("python" ,python)
+ ("glib" ,glib)
+ ("python-pycairo" ,python-pycairo)
+ ("gobject-introspection" ,gobject-introspection)
+ ("libffi" ,libffi)))
+ (arguments
+ ;; TODO: failing tests: test_native_calls_async
+ ;; test_native_calls_async_errors test_native_calls_sync
+ ;; test_native_calls_sync_errors test_python_calls_async
+ ;; test_python_calls_async_error test_python_calls_async_error_result
+ ;; test_python_calls_sync test_python_calls_sync_errors
+ ;; test_python_calls_sync_noargs test_callback_user_data_middle_none
+ ;; test_callback_user_data_middle_single
+ ;; test_callback_user_data_middle_tuple
+ '(#:tests? #f))
+ (home-page "https://pypi.python.org/pypi/PyGObject")
+ (synopsis "Python bindings for GObject")
+ (description
+ "Python bindings for GLib, GObject, and GIO.")
+ (license license:lgpl2.1+)))
diff --git a/gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch b/gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch
new file mode 100644
index 0000000..6a08e56
--- /dev/null
+++ b/gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch
@@ -0,0 +1,39 @@
+From e5df32ffbf37481dbb6a70c4d4e7b7b9778c5549 Mon Sep 17 00:00:00 2001
+From: "John (J5) Palmieri" <johnp@redhat.com>
+Date: Sat, 13 Aug 2011 04:13:28 -0400
+Subject: remove references to deprecated GI_INFO_TYPE_ERROR_DOMAIN
+
+
+diff --git a/gi/pygi-info.c b/gi/pygi-info.c
+index 8729e25..007b609 100644
+--- a/gi/pygi-info.c
++++ b/gi/pygi-info.c
+@@ -165,9 +165,6 @@ _pygi_info_new (GIBaseInfo *info)
+ case GI_INFO_TYPE_CONSTANT:
+ type = &PyGIConstantInfo_Type;
+ break;
+- case GI_INFO_TYPE_ERROR_DOMAIN:
+- type = &PyGIErrorDomainInfo_Type;
+- break;
+ case GI_INFO_TYPE_UNION:
+ type = &PyGIUnionInfo_Type;
+ break;
+@@ -484,7 +481,6 @@ _pygi_g_type_info_size (GITypeInfo *type_info)
+ case GI_INFO_TYPE_INVALID:
+ case GI_INFO_TYPE_FUNCTION:
+ case GI_INFO_TYPE_CONSTANT:
+- case GI_INFO_TYPE_ERROR_DOMAIN:
+ case GI_INFO_TYPE_VALUE:
+ case GI_INFO_TYPE_SIGNAL:
+ case GI_INFO_TYPE_PROPERTY:
+@@ -863,7 +859,6 @@ pygi_g_struct_info_is_simple (GIStructInfo *struct_info)
+ case GI_INFO_TYPE_INVALID:
+ case GI_INFO_TYPE_FUNCTION:
+ case GI_INFO_TYPE_CONSTANT:
+- case GI_INFO_TYPE_ERROR_DOMAIN:
+ case GI_INFO_TYPE_VALUE:
+ case GI_INFO_TYPE_SIGNAL:
+ case GI_INFO_TYPE_PROPERTY:
+--
+cgit v0.10.1
+
--
1.7.9.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [PATCH 12/13] gnu: Add python2-pygtk.
2014-11-21 5:40 [PATCH 00/13] Add gourmet (and dependent python packages) Eric Bavier
` (10 preceding siblings ...)
2014-11-21 5:41 ` [PATCH 11/13] gnu: Add python-pygobject Eric Bavier
@ 2014-11-21 5:41 ` Eric Bavier
2014-11-21 22:10 ` Ludovic Courtès
2014-11-21 5:41 ` [PATCH 13/13] gnu: Add gourmet Eric Bavier
2014-11-21 9:21 ` [PATCH 00/13] Add gourmet (and dependent python packages) Andreas Enge
13 siblings, 1 reply; 42+ messages in thread
From: Eric Bavier @ 2014-11-21 5:41 UTC (permalink / raw)
To: guix-devel; +Cc: Eric Bavier
* gnu/packages/gtk.scm (python2-pygtk): New variable.
---
gnu/packages/gtk.scm | 49 ++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 48 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index d8c8a29..a4b336b 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -25,6 +25,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system python)
#:use-module (gnu packages compression)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages ghostscript)
@@ -38,7 +39,8 @@
#:use-module (gnu packages python)
#:use-module (gnu packages guile)
#:use-module (gnu packages xml)
- #:use-module (gnu packages xorg))
+ #:use-module (gnu packages xorg)
+ #:use-module ((srfi srfi-1) #:select (take)))
(define-public atk
(package
@@ -630,3 +632,48 @@ extensive documentation, including API reference and a tutorial.")
("atkmm" ,atkmm)
("gtk+" ,gtk+-2)
("glibmm" ,glibmm)))))
+
+(define-public python2-pygtk
+ (package
+ (name "python2-pygtk")
+ (version "2.24.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://ftp.gnome.org/pub/GNOME/sources"
+ "/pygtk/" (version-major+minor version)
+ "/pygtk-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "04k942gn8vl95kwf0qskkv6npclfm31d78ljkrkgyqxxcni1w76d"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("python" ,python-2)
+ ("glib" ,glib)))
+ (propagated-inputs
+ `(("python-pycairo" ,python2-py2cairo) ;loaded at runtime
+ ("python-pygobject" ,python2-pygobject-2) ;referenced in pc file
+ ("gtk+" ,gtk+-2)))
+ (arguments
+ `(#:tests? #f
+ #:phases (alist-cons-after
+ 'install 'install-pth
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (site (string-append out "/lib/python"
+ ,(version-major+minor
+ (package-version python-2))
+ "/site-packages")))
+ (call-with-output-file (string-append site "/pygtk.pth")
+ (lambda (port)
+ (format port "gtk-2.0~%")))))
+ %standard-phases)))
+ (home-page "http://www.pygtk.org/")
+ (synopsis "Python bindings for GTK")
+ (description
+ "PyGTK allows you to write full featured GTK programs in Python. It is
+targetted at GTK 2.x, and can be used in conjunction with gnome-python to
+write Gnome applications.")
+ (license license:lgpl2.1+)))
--
1.7.9.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* Re: [PATCH 12/13] gnu: Add python2-pygtk.
2014-11-21 5:41 ` [PATCH 12/13] gnu: Add python2-pygtk Eric Bavier
@ 2014-11-21 22:10 ` Ludovic Courtès
0 siblings, 0 replies; 42+ messages in thread
From: Ludovic Courtès @ 2014-11-21 22:10 UTC (permalink / raw)
To: Eric Bavier; +Cc: guix-devel, Eric Bavier
Eric Bavier <ericbavier@gmail.com> skribis:
> * gnu/packages/gtk.scm (python2-pygtk): New variable.
[...]
> + #:phases (alist-cons-after
> + 'install 'install-pth
> + (lambda* (#:key inputs outputs #:allow-other-keys)
> + (let* ((out (assoc-ref outputs "out"))
> + (site (string-append out "/lib/python"
> + ,(version-major+minor
> + (package-version python-2))
> + "/site-packages")))
> + (call-with-output-file (string-append site "/pygtk.pth")
> + (lambda (port)
> + (format port "gtk-2.0~%")))))
Please add a comment below ‘lambda*’ explaining what’s being done here.
> + (synopsis "Python bindings for GTK")
“GTK+”
> + (description
> + "PyGTK allows you to write full featured GTK programs in Python. It is
> +targetted at GTK 2.x, and can be used in conjunction with gnome-python to
> +write Gnome applications.")
Should be “GTK+” and “GNOME”.
OK to push with these changes!
Ludo’.
^ permalink raw reply [flat|nested] 42+ messages in thread
* [PATCH 13/13] gnu: Add gourmet.
2014-11-21 5:40 [PATCH 00/13] Add gourmet (and dependent python packages) Eric Bavier
` (11 preceding siblings ...)
2014-11-21 5:41 ` [PATCH 12/13] gnu: Add python2-pygtk Eric Bavier
@ 2014-11-21 5:41 ` Eric Bavier
2014-11-21 22:13 ` Ludovic Courtès
2014-11-21 9:21 ` [PATCH 00/13] Add gourmet (and dependent python packages) Andreas Enge
13 siblings, 1 reply; 42+ messages in thread
From: Eric Bavier @ 2014-11-21 5:41 UTC (permalink / raw)
To: guix-devel; +Cc: Eric Bavier
* gnu/packages/nutrition.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
---
gnu-system.am | 1 +
gnu/packages/nutrition.scm | 68 ++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 69 insertions(+)
create mode 100644 gnu/packages/nutrition.scm
diff --git a/gnu-system.am b/gnu-system.am
index 41af6d1..83e2d70 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -187,6 +187,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/node.scm \
gnu/packages/noweb.scm \
gnu/packages/ntp.scm \
+ gnu/packages/nutrition.scm \
gnu/packages/nvi.scm \
gnu/packages/ocaml.scm \
gnu/packages/ocrad.scm \
diff --git a/gnu/packages/nutrition.scm b/gnu/packages/nutrition.scm
new file mode 100644
index 0000000..48184e3
--- /dev/null
+++ b/gnu/packages/nutrition.scm
@@ -0,0 +1,68 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.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 nutrition)
+ #:use-module (guix packages)
+ #:use-module (guix licenses)
+ #:use-module (guix download)
+ #:use-module (guix build-system python)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages gtk)
+ #:use-module (gnu packages glib)
+ #:use-module (gnu packages image)
+ #:use-module (gnu packages python))
+
+(define-public gourmet
+ (package
+ (name "gourmet")
+ (version "0.17.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/thinkle/gourmet/archive/"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1qvz175arzqm10lpfx8ffadrgirs3240zzqcp0h7sl53qfwx7v8k"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("distutils-extra" ,python2-distutils-extra)
+ ("intltool" ,intltool)
+ ("python-pygtk" ,python2-pygtk))) ;for tests
+ ;; TODO: Add python-reportlab and/or python-poppler for printing/pdf
+ ;; export, and python-beautifulsoup for web import plugin.
+ (inputs
+ `(("pygtk" ,python2-pygtk)
+ ("sqlalchemy" ,python2-sqlalchemy)
+ ("python-pillow" ,python2-pillow)
+ ("elib.intl" ,python2-elib.intl)
+ ;; XXX: This really isn't an input for gourmet but of pillow. Making
+ ;; it a propagated input in pillow doesn't seem to get its site path
+ ;; into gourmet's wrapper's PYTHONPATH however...
+ ("python-setuptools" ,python2-setuptools)))
+ (arguments
+ `(#:python ,python-2 ;exception and print syntax
+ #:tests? #f)) ;tests look bitrotted
+ (home-page "http://thinkle.github.io/gourmet/")
+ (synopsis "Recipe organizer")
+ (description
+ "Gourmet Recipe Manager is a recipe-organizer that allows you to collect,
+search, organize, and browse your recipes. Gourmet can also generate shopping
+lists and calculate nutritional information. It imports Mealmaster,
+MasterCook and KRecipe files and exports PDFs, webpages, and other formats.")
+ (license gpl2+)))
--
1.7.9.5
^ permalink raw reply related [flat|nested] 42+ messages in thread
* Re: [PATCH 00/13] Add gourmet (and dependent python packages)
2014-11-21 5:40 [PATCH 00/13] Add gourmet (and dependent python packages) Eric Bavier
` (12 preceding siblings ...)
2014-11-21 5:41 ` [PATCH 13/13] gnu: Add gourmet Eric Bavier
@ 2014-11-21 9:21 ` Andreas Enge
2014-11-21 21:27 ` Ludovic Courtès
13 siblings, 1 reply; 42+ messages in thread
From: Andreas Enge @ 2014-11-21 9:21 UTC (permalink / raw)
To: Eric Bavier; +Cc: guix-devel, Eric Bavier
On Thu, Nov 20, 2014 at 11:40:55PM -0600, Eric Bavier wrote:
> The addition of sqlite to python will require a fair number of package
> rebuilds. I think I dealt with the introduced module circular dependencies in
> an acceptable manner.
This could be dealt with as last time by creating a branch wip-python, let
it build on hydra and cherry-pick the patch into master when the builds are
finished.
Andreas
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 00/13] Add gourmet (and dependent python packages)
2014-11-21 9:21 ` [PATCH 00/13] Add gourmet (and dependent python packages) Andreas Enge
@ 2014-11-21 21:27 ` Ludovic Courtès
2014-12-02 3:09 ` Eric Bavier
0 siblings, 1 reply; 42+ messages in thread
From: Ludovic Courtès @ 2014-11-21 21:27 UTC (permalink / raw)
To: Andreas Enge; +Cc: guix-devel, Eric Bavier
Andreas Enge <andreas@enge.fr> skribis:
> On Thu, Nov 20, 2014 at 11:40:55PM -0600, Eric Bavier wrote:
>> The addition of sqlite to python will require a fair number of package
>> rebuilds. I think I dealt with the introduced module circular dependencies in
>> an acceptable manner.
>
> This could be dealt with as last time by creating a branch wip-python, let
> it build on hydra and cherry-pick the patch into master when the builds are
> finished.
Yeah we can do that to reduce rebuilds for users.
Ludo’.
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 00/13] Add gourmet (and dependent python packages)
2014-11-21 21:27 ` Ludovic Courtès
@ 2014-12-02 3:09 ` Eric Bavier
2014-12-02 8:33 ` Ludovic Courtès
2014-12-02 10:56 ` Andreas Enge
0 siblings, 2 replies; 42+ messages in thread
From: Eric Bavier @ 2014-12-02 3:09 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: Guix-devel, Eric Bavier
[-- Attachment #1: Type: text/plain, Size: 924 bytes --]
On Fri, Nov 21, 2014 at 3:27 PM, Ludovic Courtès <ludo@gnu.org> wrote:
> Andreas Enge <andreas@enge.fr> skribis:
>
> > On Thu, Nov 20, 2014 at 11:40:55PM -0600, Eric Bavier wrote:
> >> The addition of sqlite to python will require a fair number of package
> >> rebuilds. I think I dealt with the introduced module circular
> dependencies in
> >> an acceptable manner.
> >
> > This could be dealt with as last time by creating a branch wip-python,
> let
> > it build on hydra and cherry-pick the patch into master when the builds
> are
> > finished.
>
> Yeah we can do that to reduce rebuilds for users.
>
I'm not knowledgeable about cherry-picking. Could I just push these
packages now? It looks like hydra is caught up with the x86-64 and i686
builds at least.
`~Eric
--
Please avoid sending me Word or PowerPoint attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html
[-- Attachment #2: Type: text/html, Size: 1496 bytes --]
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 00/13] Add gourmet (and dependent python packages)
2014-12-02 3:09 ` Eric Bavier
@ 2014-12-02 8:33 ` Ludovic Courtès
2014-12-02 10:56 ` Andreas Enge
1 sibling, 0 replies; 42+ messages in thread
From: Ludovic Courtès @ 2014-12-02 8:33 UTC (permalink / raw)
To: Eric Bavier; +Cc: Guix-devel, Eric Bavier
Eric Bavier <ericbavier@gmail.com> skribis:
> On Fri, Nov 21, 2014 at 3:27 PM, Ludovic Courtès <ludo@gnu.org> wrote:
>
>> Andreas Enge <andreas@enge.fr> skribis:
>>
>> > On Thu, Nov 20, 2014 at 11:40:55PM -0600, Eric Bavier wrote:
>> >> The addition of sqlite to python will require a fair number of package
>> >> rebuilds. I think I dealt with the introduced module circular
>> dependencies in
>> >> an acceptable manner.
>> >
>> > This could be dealt with as last time by creating a branch wip-python,
>> let
>> > it build on hydra and cherry-pick the patch into master when the builds
>> are
>> > finished.
>>
>> Yeah we can do that to reduce rebuilds for users.
>>
>
> I'm not knowledgeable about cherry-picking. Could I just push these
> packages now? It looks like hydra is caught up with the x86-64 and i686
> builds at least.
Sure, I think you can go ahead.
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 00/13] Add gourmet (and dependent python packages)
2014-12-02 3:09 ` Eric Bavier
2014-12-02 8:33 ` Ludovic Courtès
@ 2014-12-02 10:56 ` Andreas Enge
2014-12-02 12:49 ` Ludovic Courtès
2014-12-02 20:05 ` Ludovic Courtès
1 sibling, 2 replies; 42+ messages in thread
From: Andreas Enge @ 2014-12-02 10:56 UTC (permalink / raw)
To: Eric Bavier; +Cc: Guix-devel, Eric Bavier
On Mon, Dec 01, 2014 at 09:09:01PM -0600, Eric Bavier wrote:
> I'm not knowledgeable about cherry-picking. Could I just push these packages
> now? It looks like hydra is caught up with the x86-64 and i686 builds at
> least.
I suppose you could. Anyway, there seems to be a problem with hydra right
now, it has not picked up any of the commits yesterday, and I cannot ssh
into it.
Andreas
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 00/13] Add gourmet (and dependent python packages)
2014-12-02 10:56 ` Andreas Enge
@ 2014-12-02 12:49 ` Ludovic Courtès
2014-12-02 20:05 ` Ludovic Courtès
1 sibling, 0 replies; 42+ messages in thread
From: Ludovic Courtès @ 2014-12-02 12:49 UTC (permalink / raw)
To: Andreas Enge; +Cc: Guix-devel, Eric Bavier
Andreas Enge <andreas@enge.fr> skribis:
> On Mon, Dec 01, 2014 at 09:09:01PM -0600, Eric Bavier wrote:
>> I'm not knowledgeable about cherry-picking. Could I just push these packages
>> now? It looks like hydra is caught up with the x86-64 and i686 builds at
>> least.
>
> I suppose you could. Anyway, there seems to be a problem with hydra right
> now, it has not picked up any of the commits yesterday, and I cannot ssh
> into it.
Yes, there are “evaluation errors”. I’m looking into it.
Ludo’.
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [PATCH 00/13] Add gourmet (and dependent python packages)
2014-12-02 10:56 ` Andreas Enge
2014-12-02 12:49 ` Ludovic Courtès
@ 2014-12-02 20:05 ` Ludovic Courtès
1 sibling, 0 replies; 42+ messages in thread
From: Ludovic Courtès @ 2014-12-02 20:05 UTC (permalink / raw)
To: Andreas Enge; +Cc: Guix-devel, Eric Bavier
Andreas Enge <andreas@enge.fr> skribis:
> I suppose you could. Anyway, there seems to be a problem with hydra right
> now, it has not picked up any of the commits yesterday, and I cannot ssh
> into it.
Hydra is back to life.
The “evaluation error” manifested as an exception while adding the .drv
file for Pango/i686-linux to the store.
One bug is that Hydra was not using the exact same .drv as one gets with
‘guix build pango -s i686-linux’: this is because the Guile used to
download the Bash patches would be the one for x86_64-linux, not for
i686-linux. This is not really a problem since these downloads are
fixed-output derivations (which means their result doesn’t depend on the
inputs used to build them), but still, that made debugging more
difficult. This is fixed by ec38437.
Then the actual error was about the pango.drv not having a valid output
path. However, I’ve been unable to reproduce it and I don’t see how
this could happen, so I don’t know what was going on there. We’ll see
if that ever comes back...
Ludo’.
^ permalink raw reply [flat|nested] 42+ messages in thread