Patchwork [v2] mypaint: new recipe for version 0.9.1

login
register
mail settings
Submitter Christian Charreyre
Date April 29, 2011, 3:43 p.m.
Message ID <1304091838-23333-2-git-send-email-christian.charreyre@cioinfoindus.fr>
Download mbox | patch
Permalink /patch/3035/
State Superseded
Headers show

Comments

Christian Charreyre - April 29, 2011, 3:43 p.m.
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 30, 2011, 7:22 a.m.
Dear Christian,


thank you for your improved patch.

Am Freitag, den 29.04.2011, 17:43 +0200 schrieb C. Charreyre:

What distribution and machine do you use to build this?

I applied your patches. Unfortunately task compile fails with the
following error using `angstrom-2010.x` or `minimal` with `MACHINE =
"beagleboard".

        + scons_do_compile
        + '[' '' = 1 ']'
        + /oe/build-angstrom-next/angstrom-dev/sysroots/i686-linux/usr/bin/scons -j4 'CXX=arm-angstrom-linux-gnueabi-g++ -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -mthumb-interwork -mno-thumb --sysroot=/oe/build-angstrom-next/angstrom-dev/sysroots/armv7a-angstrom-linux-gnueabi' PREFIX=/usr prefix=/usr
        scons: Reading SConscript files ...
        Building for python2.6
        You need to have numpy installed.
        
        ImportError: No module named numpy:
          File "/oe/build-angstrom-next/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/mypaint-0.9.1-r0/mypaint-0.9.1/SConstruct", line 15:
            import numpy
        + oefatal 'scons build

> Signed-off-by: C. Charreyre <christian.charreyre@cioinfoindus.fr>

Maybe spell out you first name.

        git config user.name "Christian Charreyre" # maybe even
        `--global`

> ---
>  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
> 
> 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,31 @@
> +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-image python-json python-numpy"
> +
> +SRC_URI = "http://download.gna.org/mypaint/${PN}-${PV}.tar.bz2 \
> +	file://scons-adapt.patch \
> +"
> +SRC_URI[md5sum] = "6249a16359a438d6dc658f5765b35515"
> +SRC_URI[sha256sum] = "407b599f62fb0d6e711fee57d22e64d3aec88825364fb5f7f73b9f0940aa7aed"
> +
> +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}"


Thanks,

Paul
Christian Charreyre - May 2, 2011, 4:09 p.m.
Dear Paul,

my configuration is MACHINE="beagleboard" and DISTRO="angstrom-2008.1".

I've successfully reproduced your problem, that is explained by missing 
dependencies in mypaint recipe.
In fact scons normally uses python-numpy (native version) to define 
parts of the include path.
As python-numpy is not availbale in native version, I first made a 
receipe to generate it, but with Arm target and X86_64 host troubles may 
happen regarding type's length, so I patched Sconscript to give the 
correct path without python-numpy-native.

In my environment it seems to work correctly.

I will submit a new version (v3) that I hope will work better in a 
second mail.

Concerning my first name, I don't understand what happens because git 
config user.name returns "Christian Charreyre".
I have manually corrected in the v3 patch.

Regards

Le 30/04/2011 09:22, Paul Menzel a écrit :
> Dear Christian,
>
>
> thank you for your improved patch.
>
> Am Freitag, den 29.04.2011, 17:43 +0200 schrieb C. Charreyre:
>
> What distribution and machine do you use to build this?
>
> I applied your patches. Unfortunately task compile fails with the
> following error using `angstrom-2010.x` or `minimal` with `MACHINE =
> "beagleboard".
>
>          + scons_do_compile
>          + '[' '' = 1 ']'
>          + /oe/build-angstrom-next/angstrom-dev/sysroots/i686-linux/usr/bin/scons -j4 'CXX=arm-angstrom-linux-gnueabi-g++ -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -mthumb-interwork -mno-thumb --sysroot=/oe/build-angstrom-next/angstrom-dev/sysroots/armv7a-angstrom-linux-gnueabi' PREFIX=/usr prefix=/usr
>          scons: Reading SConscript files ...
>          Building for python2.6
>          You need to have numpy installed.
>
>          ImportError: No module named numpy:
>            File "/oe/build-angstrom-next/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/mypaint-0.9.1-r0/mypaint-0.9.1/SConstruct", line 15:
>              import numpy
>          + oefatal 'scons build
>
>> Signed-off-by: C. Charreyre<christian.charreyre@cioinfoindus.fr>
> Maybe spell out you first name.
>
>          git config user.name "Christian Charreyre" # maybe even
>          `--global`
>
>> ---
>>   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
>>
>> 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,31 @@
>> +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-image python-json python-numpy"
>> +
>> +SRC_URI = "http://download.gna.org/mypaint/${PN}-${PV}.tar.bz2 \
>> +	file://scons-adapt.patch \
>> +"
>> +SRC_URI[md5sum] = "6249a16359a438d6dc658f5765b35515"
>> +SRC_URI[sha256sum] = "407b599f62fb0d6e711fee57d22e64d3aec88825364fb5f7f73b9f0940aa7aed"
>> +
>> +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}"
>
> 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,31 @@ 
+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-image python-json python-numpy"
+
+SRC_URI = "http://download.gna.org/mypaint/${PN}-${PV}.tar.bz2 \
+	file://scons-adapt.patch \
+"
+SRC_URI[md5sum] = "6249a16359a438d6dc658f5765b35515"
+SRC_URI[sha256sum] = "407b599f62fb0d6e711fee57d22e64d3aec88825364fb5f7f73b9f0940aa7aed"
+
+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}"