Message ID | 1304091838-23333-2-git-send-email-christian.charreyre@cioinfoindus.fr |
---|---|
State | Superseded |
Headers | show |
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}"
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
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
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