Patchwork [1/2] mypaint: new recipe for version 0.9.1

login
register
mail settings
Submitter Christian Charreyre
Date April 27, 2011, 2:55 p.m.
Message ID <4DB82E7C.9080206@cioinfoindus.fr>
Download mbox | patch
Permalink /patch/3009/
State Superseded
Headers show

Comments

Christian Charreyre - April 27, 2011, 2:55 p.m.
Hi all,

this new recipe will build the painting soft mypaint.

In order to correctly run on the target, it is necessary to add new
recipes dependencies in python-numpy recipe.

Here are the two patches.

Hoping it will be valuable.




 From 0cc6d007fecb3ad7f5d09a9d4897d506a5c41d39 Mon Sep 17 00:00:00 2001
From: C. Charreyre<christian.charreyre@cioinfoindus.fr>
Date: Thu, 21 Apr 2011 16:40:54 +0200
Subject: [PATCH] mypaint: new recipe for version 0.9.1

Signed-off-by: C. Charreyre<christian.charreyre@cioinfoindus.fr>
---
   recipes/mypaint/files/scons-adapt.patch |   20 +++++++++++++++++
   recipes/mypaint/mypaint_0.9.1.bb        |   36
+++++++++++++++++++++++++++++++
   2 files changed, 56 insertions(+), 0 deletions(-)
   create mode 100644 recipes/mypaint/files/scons-adapt.patch
   create mode 100644 recipes/mypaint/mypaint_0.9.1.bb

+
+
Paul Menzel - April 27, 2011, 8:40 p.m.
Dear Christian,


Am Mittwoch, den 27.04.2011, 16:55 +0200 schrieb Christian Charreyre:

> this new recipe will build the painting soft mypaint.

thank you for your patches.

> In order to correctly run on the target, it is necessary to add new
> recipes dependencies in python-numpy recipe.
> 
> Here are the two patches.
> 
> Hoping it will be valuable.

Please send each patch separately using `git send-email` or using your
mail program and removing the first From line and past the subject into
the according field of your mailer.

>  From 0cc6d007fecb3ad7f5d09a9d4897d506a5c41d39 Mon Sep 17 00:00:00 2001
> From: C. Charreyre<christian.charreyre@cioinfoindus.fr>

A space is missing. You can set it up correctly using `git config`.

> Date: Thu, 21 Apr 2011 16:40:54 +0200
> Subject: [PATCH] mypaint: new recipe for version 0.9.1
> 
> Signed-off-by: C. Charreyre<christian.charreyre@cioinfoindus.fr>
> ---
>    recipes/mypaint/files/scons-adapt.patch |   20 +++++++++++++++++
>    recipes/mypaint/mypaint_0.9.1.bb        |   36
> +++++++++++++++++++++++++++++++

Your mail program mangled the patch. Please resend as `[PATCH v2]` and
remember to turn off line wrapping.

>    2 files changed, 56 insertions(+), 0 deletions(-)
>    create mode 100644 recipes/mypaint/files/scons-adapt.patch
>    create mode 100644 recipes/mypaint/mypaint_0.9.1.bb
> 
> diff --git a/recipes/mypaint/files/scons-adapt.patch
> b/recipes/mypaint/files/scons-adapt.patch
> new file mode 100644
> index 0000000..dcad6db
> --- /dev/null
> +++ b/recipes/mypaint/files/scons-adapt.patch
> @@ -0,0 +1,20 @@
> +Author: Christian Charreyre<christian.charreyre@cioinfoindus.fr>
> +
> +Adapt scons to OE
> +Index: mypaint-0.9.1/lib/SConscript
> +===================================================================
> +--- mypaint-0.9.1.orig/lib/SConscript    2011-04-21 11:31:29.000000000
> +0200
> ++++ mypaint-0.9.1/lib/SConscript    2011-04-21 11:35:30.000000000 +0200
> +@@ -1,5 +1,11 @@
> + Import('env')
> +-import sys
> ++import sys, os
> ++env.Replace(SHCXX = os.environ['CXX'])
> ++env.Replace(SHLINK = os.environ['CXX'])
> ++env.Replace(LDMODULEFLAGS = os.environ['TARGET_LDFLAGS'])
> ++env.Append(LDMODULEFLAGS = ['-Wl,--hash-style=gnu'])
> ++env.Append(LDMODULEFLAGS = ['-shared'])
> ++env.Replace(PATH = os.environ['PATH'])

Did you send this upstream so that they can improve the build system for
cross compilation?

> +
> + # For the record: I know that scons supports swig. But it doesn't scan
> for #include in the generated code.
> + #
> diff --git a/recipes/mypaint/mypaint_0.9.1.bb
> b/recipes/mypaint/mypaint_0.9.1.bb
> new file mode 100644
> index 0000000..a7e5077
> --- /dev/null
> +++ b/recipes/mypaint/mypaint_0.9.1.bb
> @@ -0,0 +1,36 @@
> +DESCRIPTION="fast and easy open-source graphics application for digital
> painters"
> +LICENSE="GPL"
> +SECTION = "x11/applications"
> +PRIORITY = "optional"
> +HOMEPAGE = "http://mypaint.intilinux.com/"
> +
> +RDEPENDS_${PN} = "python-numpy python-image python-json"

Can you sort those lexicographically.

> +
> +SRC_URI = "http://download.gna.org/mypaint/${PN}-${PV}.tar.bz2 \
> +    file://scons-adapt.patch \
> +"
> +
> +inherit distutils scons
> +
> +do_compile() {
> +    STAGING_INCDIR=${STAGING_INCDIR} \
> +    STAGING_LIBDIR=${STAGING_LIBDIR} \
> +    BUILD_SYS=${BUILD_SYS} \
> +    HOST_SYS=${HOST_SYS} \
> +    PATH=${PATH} scons_do_compile
> +}

I do not know Scons, but it looks strange that the above is needed and
not done automatically.

> +
> +do_install() {
> +    BUILD_SYS=${BUILD_SYS} \
> +    HOST_SYS=${HOST_SYS} \
> +    scons_do_install
> +}
> +
> +FILES_${PN} += "${datadir}"
> +
> +SRC_URI[md5sum] = "6249a16359a438d6dc658f5765b35515"
> +SRC_URI[sha256sum] =
> "407b599f62fb0d6e711fee57d22e64d3aec88825364fb5f7f73b9f0940aa7aed"

Please put it right at the top under `SRC_URI`.

> +
> +INSANE_SKIP_${PN} = True

Please note in the commit message or in the recipe as a comment what
error you get/why this is needed.

> +
> +

Please remove the empty lines at the end.


Thanks,

Paul
Christian Charreyre - April 28, 2011, 8:41 a.m.
Dear Paul,

sorry for all these mistakes, it is my first patch submission and I'm 
not quite operational ....

A few questions for some of your comments :

Le 27/04/2011 22:40, Paul Menzel a écrit :
> Dear Christian,
>
>
> Am Mittwoch, den 27.04.2011, 16:55 +0200 schrieb Christian Charreyre:
>
>> this new recipe will build the painting soft mypaint.
> thank you for your patches.
>
>> In order to correctly run on the target, it is necessary to add new
>> recipes dependencies in python-numpy recipe.
>>
>> Here are the two patches.
>>
>> Hoping it will be valuable.
> Please send each patch separately using `git send-email` or using your
> mail program and removing the first From line and past the subject into
> the according field of your mailer.
>
When you says "send each patch separetely", do you lean that I must 
split "recipes/mypaint/files/scons-adapt.patch" and 
"recipes/mypaint/mypaint_0.9.1.bb" in 2 separate patches, or that I must 
split those related to mypaint and those related to python-numpy ? The 
second alternative has been done.

I was thinking that when 2 files changes are correlated, they must be in 
the same patch, no ?

>>    From 0cc6d007fecb3ad7f5d09a9d4897d506a5c41d39 Mon Sep 17 00:00:00 2001
>> From: C. Charreyre<christian.charreyre@cioinfoindus.fr>
> A space is missing. You can set it up correctly using `git config`.
I suppose the missing space is before the 2nd From with my email 
address. Is is ok ?
>> Date: Thu, 21 Apr 2011 16:40:54 +0200
>> Subject: [PATCH] mypaint: new recipe for version 0.9.1
>>
>> Signed-off-by: C. Charreyre<christian.charreyre@cioinfoindus.fr>
>> ---
>>     recipes/mypaint/files/scons-adapt.patch |   20 +++++++++++++++++
>>     recipes/mypaint/mypaint_0.9.1.bb        |   36
>> +++++++++++++++++++++++++++++++
> Your mail program mangled the patch. Please resend as `[PATCH v2]` and
> remember to turn off line wrapping.
OK, noted.
>>     2 files changed, 56 insertions(+), 0 deletions(-)
>>     create mode 100644 recipes/mypaint/files/scons-adapt.patch
>>     create mode 100644 recipes/mypaint/mypaint_0.9.1.bb
>>
>> diff --git a/recipes/mypaint/files/scons-adapt.patch
>> b/recipes/mypaint/files/scons-adapt.patch
>> new file mode 100644
>> index 0000000..dcad6db
>> --- /dev/null
>> +++ b/recipes/mypaint/files/scons-adapt.patch
>> @@ -0,0 +1,20 @@
>> +Author: Christian Charreyre<christian.charreyre@cioinfoindus.fr>
>> +
>> +Adapt scons to OE
>> +Index: mypaint-0.9.1/lib/SConscript
>> +===================================================================
>> +--- mypaint-0.9.1.orig/lib/SConscript    2011-04-21 11:31:29.000000000
>> +0200
>> ++++ mypaint-0.9.1/lib/SConscript    2011-04-21 11:35:30.000000000 +0200
>> +@@ -1,5 +1,11 @@
>> + Import('env')
>> +-import sys
>> ++import sys, os
>> ++env.Replace(SHCXX = os.environ['CXX'])
>> ++env.Replace(SHLINK = os.environ['CXX'])
>> ++env.Replace(LDMODULEFLAGS = os.environ['TARGET_LDFLAGS'])
>> ++env.Append(LDMODULEFLAGS = ['-Wl,--hash-style=gnu'])
>> ++env.Append(LDMODULEFLAGS = ['-shared'])
>> ++env.Replace(PATH = os.environ['PATH'])
> Did you send this upstream so that they can improve the build system for
> cross compilation?
I think I can't send it upstream, because this is specific to OE 
(TARGET_LDFLAGS for instance is defined by OE).
In fact I didn't knew scons at all, and there are very few recipes with 
this compilation system, so I have tried to have mypaint successfully 
cross-compiled in OE with this patch.
If someone can improve that, it would be fine.
>> +
>> + # For the record: I know that scons supports swig. But it doesn't scan
>> for #include in the generated code.
>> + #
>> diff --git a/recipes/mypaint/mypaint_0.9.1.bb
>> b/recipes/mypaint/mypaint_0.9.1.bb
>> new file mode 100644
>> index 0000000..a7e5077
>> --- /dev/null
>> +++ b/recipes/mypaint/mypaint_0.9.1.bb
>> @@ -0,0 +1,36 @@
>> +DESCRIPTION="fast and easy open-source graphics application for digital
>> painters"
>> +LICENSE="GPL"
>> +SECTION = "x11/applications"
>> +PRIORITY = "optional"
>> +HOMEPAGE = "http://mypaint.intilinux.com/"
>> +
>> +RDEPENDS_${PN} = "python-numpy python-image python-json"
> Can you sort those lexicographically.
OK, noted.
>> +
>> +SRC_URI = "http://download.gna.org/mypaint/${PN}-${PV}.tar.bz2 \
>> +    file://scons-adapt.patch \
>> +"
>> +
>> +inherit distutils scons
>> +
>> +do_compile() {
>> +    STAGING_INCDIR=${STAGING_INCDIR} \
>> +    STAGING_LIBDIR=${STAGING_LIBDIR} \
>> +    BUILD_SYS=${BUILD_SYS} \
>> +    HOST_SYS=${HOST_SYS} \
>> +    PATH=${PATH} scons_do_compile
>> +}
> I do not know Scons, but it looks strange that the above is needed and
> not done automatically.
Same reply as above, there are few recipes with scons, I've found this 
tip in one recipe and applied it here to get the build completed.
>> +
>> +do_install() {
>> +    BUILD_SYS=${BUILD_SYS} \
>> +    HOST_SYS=${HOST_SYS} \
>> +    scons_do_install
>> +}
>> +
>> +FILES_${PN} += "${datadir}"
>> +
>> +SRC_URI[md5sum] = "6249a16359a438d6dc658f5765b35515"
>> +SRC_URI[sha256sum] =
>> "407b599f62fb0d6e711fee57d22e64d3aec88825364fb5f7f73b9f0940aa7aed"
> Please put it right at the top under `SRC_URI`.
I don't understand what is the problem. What part has to be placed under 
'SRC_URI' ?
>> +
>> +INSANE_SKIP_${PN} = True
> Please note in the commit message or in the recipe as a comment what
> error you get/why this is needed.
OK, noted.
>> +
>> +
> Please remove the empty lines at the end.
OK, noted.
>
> Thanks,
>
> Paul
Thanks for your comments that will improve my future submissions.
>
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
Eric BENARD - April 28, 2011, 9:37 a.m.
Hi,

On 28/04/2011 10:41, Christian Charreyre wrote:
> sorry for all these mistakes, it is my first patch submission and I'm not
> quite operational ....
>

please check :
http://www.openembedded.org/index.php/How_to_submit_a_patch_to_OpenEmbedded
and
http://www.openembedded.org/index.php/GitPhraseBook

which should provide you most answers to generate a patch and send it using git.

Eric
Paul Menzel - April 28, 2011, 7:30 p.m.
Dear Christian,


Am Donnerstag, den 28.04.2011, 10:41 +0200 schrieb Christian Charreyre:

> sorry for all these mistakes,

no problem at all.

> it is my first patch submission and I'm not quite operational ....

I hope there will be a lot more. ;-)

> A few questions for some of your comments :
> 
> Le 27/04/2011 22:40, Paul Menzel a écrit :

> > Am Mittwoch, den 27.04.2011, 16:55 +0200 schrieb Christian Charreyre:
> >
> >> this new recipe will build the painting soft mypaint.
> > thank you for your patches.
> >
> >> In order to correctly run on the target, it is necessary to add new
> >> recipes dependencies in python-numpy recipe.
> >>
> >> Here are the two patches.
> >>
> >> Hoping it will be valuable.
> > Please send each patch separately using `git send-email` or using your
> > mail program and removing the first From line and past the subject into
> > the according field of your mailer.
> >
> When you says "send each patch separetely", do you lean that I must 
> split "recipes/mypaint/files/scons-adapt.patch" and 
> "recipes/mypaint/mypaint_0.9.1.bb" in 2 separate patches, or that I must 
> split those related to mypaint and those related to python-numpy ? The 
> second alternative has been done.

My bet. Reading the two Signed-off-by lines got me on the wrong track in
the beginning. Please ignore my comment.

> I was thinking that when 2 files changes are correlated, they must be in 
> the same patch, no ?

You are of course right on this point. I am sorry.

> >>    From 0cc6d007fecb3ad7f5d09a9d4897d506a5c41d39 Mon Sep 17 00:00:00 2001
> >> From: C. Charreyre<christian.charreyre@cioinfoindus.fr>
> > A space is missing. You can set it up correctly using `git config`.
> I suppose the missing space is before the 2nd From with my email 
> address. Is is ok ?

That is correct. My comments always refer two the last line above.

> >> Date: Thu, 21 Apr 2011 16:40:54 +0200
> >> Subject: [PATCH] mypaint: new recipe for version 0.9.1

I forgot. Please add also a note what build configuration you used.

> >> Signed-off-by: C. Charreyre<christian.charreyre@cioinfoindus.fr>
> >> ---
> >>     recipes/mypaint/files/scons-adapt.patch |   20 +++++++++++++++++
> >>     recipes/mypaint/mypaint_0.9.1.bb        |   36
> >> +++++++++++++++++++++++++++++++
> > Your mail program mangled the patch. Please resend as `[PATCH v2]` and
> > remember to turn off line wrapping.
> OK, noted.
> >>     2 files changed, 56 insertions(+), 0 deletions(-)
> >>     create mode 100644 recipes/mypaint/files/scons-adapt.patch
> >>     create mode 100644 recipes/mypaint/mypaint_0.9.1.bb
> >>
> >> diff --git a/recipes/mypaint/files/scons-adapt.patch
> >> b/recipes/mypaint/files/scons-adapt.patch
> >> new file mode 100644
> >> index 0000000..dcad6db
> >> --- /dev/null
> >> +++ b/recipes/mypaint/files/scons-adapt.patch
> >> @@ -0,0 +1,20 @@
> >> +Author: Christian Charreyre<christian.charreyre@cioinfoindus.fr>
> >> +
> >> +Adapt scons to OE
> >> +Index: mypaint-0.9.1/lib/SConscript
> >> +===================================================================
> >> +--- mypaint-0.9.1.orig/lib/SConscript    2011-04-21 11:31:29.000000000
> >> +0200
> >> ++++ mypaint-0.9.1/lib/SConscript    2011-04-21 11:35:30.000000000 +0200
> >> +@@ -1,5 +1,11 @@
> >> + Import('env')
> >> +-import sys
> >> ++import sys, os
> >> ++env.Replace(SHCXX = os.environ['CXX'])
> >> ++env.Replace(SHLINK = os.environ['CXX'])
> >> ++env.Replace(LDMODULEFLAGS = os.environ['TARGET_LDFLAGS'])
> >> ++env.Append(LDMODULEFLAGS = ['-Wl,--hash-style=gnu'])
> >> ++env.Append(LDMODULEFLAGS = ['-shared'])
> >> ++env.Replace(PATH = os.environ['PATH'])
> > Did you send this upstream so that they can improve the build system for
> > cross compilation?
> I think I can't send it upstream, because this is specific to OE 
> (TARGET_LDFLAGS for instance is defined by OE).
> In fact I didn't knew scons at all, and there are very few recipes with 
> this compilation system, so I have tried to have mypaint successfully 
> cross-compiled in OE with this patch.
> If someone can improve that, it would be fine.

Maybe you can just report an issue upstream that cross compilation
fails.

[…]

> >> +SRC_URI = "http://download.gna.org/mypaint/${PN}-${PV}.tar.bz2 \
> >> +    file://scons-adapt.patch \
> >> +"
> >> +
> >> +inherit distutils scons
> >> +
> >> +do_compile() {
> >> +    STAGING_INCDIR=${STAGING_INCDIR} \
> >> +    STAGING_LIBDIR=${STAGING_LIBDIR} \
> >> +    BUILD_SYS=${BUILD_SYS} \
> >> +    HOST_SYS=${HOST_SYS} \
> >> +    PATH=${PATH} scons_do_compile
> >> +}
> > I do not know Scons, but it looks strange that the above is needed and
> > not done automatically.
> Same reply as above, there are few recipes with scons, I've found this 
> tip in one recipe and applied it here to get the build completed.

I understand. Did you try with the default `do_compile`? If it does not
work leave it so it works.

> >> +
> >> +do_install() {
> >> +    BUILD_SYS=${BUILD_SYS} \
> >> +    HOST_SYS=${HOST_SYS} \
> >> +    scons_do_install
> >> +}
> >> +
> >> +FILES_${PN} += "${datadir}"
> >> +
> >> +SRC_URI[md5sum] = "6249a16359a438d6dc658f5765b35515"
> >> +SRC_URI[sha256sum] =
> >> "407b599f62fb0d6e711fee57d22e64d3aec88825364fb5f7f73b9f0940aa7aed"
> > Please put it right at the top under `SRC_URI`.
> I don't understand what is the problem. What part has to be placed under 
> 'SRC_URI' ?

`SRC_URI = "http://download.gna.org/mypaint/…` is defined at the top.
Put the checksums right below it.

[…]

> Thanks for your comments that will improve my future submissions.

Thank you for your response. I hope we will get your next patch
iteration included.


Thanks,

Paul
Christian Charreyre - April 29, 2011, 2:51 p.m.
Dear Paul,

Le 28/04/2011 21:30, Paul Menzel a écrit :
> Dear Christian,
>
>
> Am Donnerstag, den 28.04.2011, 10:41 +0200 schrieb Christian Charreyre:

[...]

> I hope there will be a lot more. ;-)
>

Hope so also.

[...]
>>>> +SRC_URI = "http://download.gna.org/mypaint/${PN}-${PV}.tar.bz2 \
>>>> +    file://scons-adapt.patch \
>>>> +"
>>>> +
>>>> +inherit distutils scons
>>>> +
>>>> +do_compile() {
>>>> +    STAGING_INCDIR=${STAGING_INCDIR} \
>>>> +    STAGING_LIBDIR=${STAGING_LIBDIR} \
>>>> +    BUILD_SYS=${BUILD_SYS} \
>>>> +    HOST_SYS=${HOST_SYS} \
>>>> +    PATH=${PATH} scons_do_compile
>>>> +}
>>> I do not know Scons, but it looks strange that the above is needed and
>>> not done automatically.
>> Same reply as above, there are few recipes with scons, I've found this
>> tip in one recipe and applied it here to get the build completed.
> I understand. Did you try with the default `do_compile`? If it does not
> work leave it so it works.

Yes, with the default do_compile the compilation tells that these 
variables are undefined and abort.
scons uses python, and the variables are not available in the python's 
env. unless I redefines them here.

[...]

> Thank you for your response. I hope we will get your next patch
> iteration included.
>

I'll try to correct everything and post it again in v2.

> Thanks,
>
> Paul
>
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel

Patch

diff --git a/recipes/mypaint/files/scons-adapt.patch
b/recipes/mypaint/files/scons-adapt.patch
new file mode 100644
index 0000000..dcad6db
--- /dev/null
+++ b/recipes/mypaint/files/scons-adapt.patch
@@ -0,0 +1,20 @@ 
+Author: Christian Charreyre<christian.charreyre@cioinfoindus.fr>
+
+Adapt scons to OE
+Index: mypaint-0.9.1/lib/SConscript
+===================================================================
+--- mypaint-0.9.1.orig/lib/SConscript    2011-04-21 11:31:29.000000000
+0200
++++ mypaint-0.9.1/lib/SConscript    2011-04-21 11:35:30.000000000 +0200
+@@ -1,5 +1,11 @@
+ Import('env')
+-import sys
++import sys, os
++env.Replace(SHCXX = os.environ['CXX'])
++env.Replace(SHLINK = os.environ['CXX'])
++env.Replace(LDMODULEFLAGS = os.environ['TARGET_LDFLAGS'])
++env.Append(LDMODULEFLAGS = ['-Wl,--hash-style=gnu'])
++env.Append(LDMODULEFLAGS = ['-shared'])
++env.Replace(PATH = os.environ['PATH'])
+
+ # For the record: I know that scons supports swig. But it doesn't scan
for #include in the generated code.
+ #
diff --git a/recipes/mypaint/mypaint_0.9.1.bb
b/recipes/mypaint/mypaint_0.9.1.bb
new file mode 100644
index 0000000..a7e5077
--- /dev/null
+++ b/recipes/mypaint/mypaint_0.9.1.bb
@@ -0,0 +1,36 @@ 
+DESCRIPTION="fast and easy open-source graphics application for digital
painters"
+LICENSE="GPL"
+SECTION = "x11/applications"
+PRIORITY = "optional"
+HOMEPAGE = "http://mypaint.intilinux.com/"
+
+RDEPENDS_${PN} = "python-numpy python-image python-json"
+
+SRC_URI = "http://download.gna.org/mypaint/${PN}-${PV}.tar.bz2 \
+    file://scons-adapt.patch \
+"
+
+inherit distutils scons
+
+do_compile() {
+    STAGING_INCDIR=${STAGING_INCDIR} \
+    STAGING_LIBDIR=${STAGING_LIBDIR} \
+    BUILD_SYS=${BUILD_SYS} \
+    HOST_SYS=${HOST_SYS} \
+    PATH=${PATH} scons_do_compile
+}
+
+do_install() {
+    BUILD_SYS=${BUILD_SYS} \
+    HOST_SYS=${HOST_SYS} \
+    scons_do_install
+}
+
+FILES_${PN} += "${datadir}"
+
+SRC_URI[md5sum] = "6249a16359a438d6dc658f5765b35515"
+SRC_URI[sha256sum] =
"407b599f62fb0d6e711fee57d22e64d3aec88825364fb5f7f73b9f0940aa7aed"
+
+INSANE_SKIP_${PN} = True