Patchwork [v4] mypaint: new recipe for version 0.9.1

login
register
mail settings
Submitter Christian Charreyre
Date May 2, 2011, 5:40 p.m.
Message ID <1304358039-20934-1-git-send-email-christian.charreyre@cioinfoindus.fr>
Download mbox | patch
Permalink /patch/3073/
State New, archived
Headers show

Comments

Christian Charreyre - May 2, 2011, 5:40 p.m.
Signed-off-by: Christian 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 - May 4, 2011, 8:56 a.m.
Dear Christian,


we are almost there.


Am Montag, den 02.05.2011, 19:40 +0200 schrieb Christian Charreyre:

Please remember to add what build configuration you used. (You can just
paste it from the BitBake output.)

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

If you send patch iterations (v2, v3, v4, …) it is common to put below
»---« what changed in the iterations to make it easier for reviewers to
know what changed. Put »---« behind that, since it is not needed for the
actual commit message.

Example:

Commit message.

S-o-b: Joe User <joe@example.org>
---
v2: add foo to DEPENDS
v3: reorder to adhere to styleguide
v4: change install to …
---
diff

>  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,50 @@
> +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.
> + # 
> +Index: mypaint-0.9.1/SConstruct
> +===================================================================
> +--- mypaint-0.9.1.orig/SConstruct	2011-03-04 15:44:59.000000000 +0100
> ++++ mypaint-0.9.1/SConstruct	2011-05-02 17:21:17.000000000 +0200
> +@@ -11,13 +11,6 @@
> + if sys.platform == "win32":
> +     python = 'python' # usually no versioned binaries on Windows
> + 
> +-try: 
> +-    import numpy
> +-except ImportError:
> +-    print 'You need to have numpy installed.'
> +-    print
> +-    raise
> +-
> + SConsignFile() # no .scsonsign into $PREFIX please
> + 
> + if sys.platform == "darwin":
> +@@ -40,8 +33,9 @@
> + 
> + env.Append(CXXFLAGS=' -Wall -Wno-sign-compare -Wno-write-strings')
> + 
> +-# Get the numpy include path (for numpy/arrayobject.h).
> +-numpy_path = numpy.get_include()
> ++# Defines the numpy include path (for numpy/arrayobject.h).
> ++# This is specefic to OE, to avoid to build python-numpy-native

spec*i*fic

> ++numpy_path = os.environ['STAGING_DIR_TARGET']+os.environ['PYTHON_SITEPACKAGES_DIR']+'/numpy/core/include'
> + env.Append(CPPPATH=numpy_path)
> + 
> + 
> 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,37 @@
> +DESCRIPTION="fast and easy open-source graphics application for digital painters"
> +LICENSE="GPL"
> +SECTION = "x11/applications"
> +PRIORITY = "optional"
> +HOMEPAGE = "http://mypaint.intilinux.com/"
> +
> +DEPENDS = "glib-2.0 libpng python-numpy"
> +RDEPENDS_${PN} = "python-image python-json"

I am now getting the following build error

        + /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
        swig -o mypaintlib_wrap.cpp -noproxydel -python -c++ mypaintlib.i
        sh: swig: command not found
        scons: *** Error 127
        + oefatal 'scons build execution failed.'
        + echo FATAL: 'scons build execution failed.'
        FATAL: scons build execution failed.
        + exit 1

which I fixed by building `swig-native` beforehand. Please add
`swig-native` to `DEPENDS`. You probably did not encounter this error
since you have it installed locally.

[…]


Thank you very much for your patience and improved patches,

Paul
Eric BENARD - May 4, 2011, 3:34 p.m.
Hi Paul,

On 04/05/2011 10:56, Paul Menzel wrote:
> Please remember to add what build configuration you used. (You can just
> paste it from the BitBake output.)
>
You asked this several times on the list but this part is not in the commit 
log policy : http://wiki.openembedded.org/index.php/Commit_log_example

Eric
Paul Menzel - May 4, 2011, 4:48 p.m.
Dear Eric,


Am Mittwoch, den 04.05.2011, 17:34 +0200 schrieb Eric Bénard:
> Hi Paul,
> 
> On 04/05/2011 10:56, Paul Menzel wrote:
> > Please remember to add what build configuration you used. (You can just
> > paste it from the BitBake output.)
>
> You asked this several times on the list but this part is not in the commit 
> log policy : http://wiki.openembedded.org/index.php/Commit_log_example

I know and therefore I do *not* NACK patches and even commit them if the
build configuration is not in the commit message. Still I think it
belongs to useful commit messages to be able to reproduce something and
therefore I am asking for it.


Thanks,

Paul
Eric BENARD - May 4, 2011, 4:57 p.m.
Hi Paul,

On 04/05/2011 18:48, Paul Menzel wrote:
> Am Mittwoch, den 04.05.2011, 17:34 +0200 schrieb Eric Bénard:
>> On 04/05/2011 10:56, Paul Menzel wrote:
>>> Please remember to add what build configuration you used. (You can just
>>> paste it from the BitBake output.)
>>
>> You asked this several times on the list but this part is not in the commit
>> log policy : http://wiki.openembedded.org/index.php/Commit_log_example
>
> I know and therefore I do *not* NACK patches and even commit them if the
> build configuration is not in the commit message. Still I think it
> belongs to useful commit messages to be able to reproduce something and
> therefore I am asking for it.
>
maybe this information could go under the commit log, between two --- lines as 
this makes git log more difficult to read and this information in mostly 
useful for patch review.

Eric
Paul Menzel - May 4, 2011, 6:51 p.m.
Dear Eric,


Am Mittwoch, den 04.05.2011, 18:57 +0200 schrieb Eric Bénard:

> On 04/05/2011 18:48, Paul Menzel wrote:
> > Am Mittwoch, den 04.05.2011, 17:34 +0200 schrieb Eric Bénard:
> >> On 04/05/2011 10:56, Paul Menzel wrote:
> >>> Please remember to add what build configuration you used. (You can just
> >>> paste it from the BitBake output.)
> >>
> >> You asked this several times on the list but this part is not in the commit
> >> log policy : http://wiki.openembedded.org/index.php/Commit_log_example
> >
> > I know and therefore I do *not* NACK patches and even commit them if the
> > build configuration is not in the commit message. Still I think it
> > belongs to useful commit messages to be able to reproduce something and
> > therefore I am asking for it.
> >
> maybe this information could go under the commit log, between two --- lines as 
> this makes git log more difficult to read and this information in mostly 
> useful for patch review.

In my opinion it is not so important for the review but for later bug
tracking.

Take the following example.

	$ git log recipes/prboom/

Why did those compilation fixes needed to be applied. Knowing what
distribution and machine was used I could conclude what other versions
of recipes were used and do some debugging.


Thanks,

Paul

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,50 @@ 
+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.
+ # 
+Index: mypaint-0.9.1/SConstruct
+===================================================================
+--- mypaint-0.9.1.orig/SConstruct	2011-03-04 15:44:59.000000000 +0100
++++ mypaint-0.9.1/SConstruct	2011-05-02 17:21:17.000000000 +0200
+@@ -11,13 +11,6 @@
+ if sys.platform == "win32":
+     python = 'python' # usually no versioned binaries on Windows
+ 
+-try: 
+-    import numpy
+-except ImportError:
+-    print 'You need to have numpy installed.'
+-    print
+-    raise
+-
+ SConsignFile() # no .scsonsign into $PREFIX please
+ 
+ if sys.platform == "darwin":
+@@ -40,8 +33,9 @@
+ 
+ env.Append(CXXFLAGS=' -Wall -Wno-sign-compare -Wno-write-strings')
+ 
+-# Get the numpy include path (for numpy/arrayobject.h).
+-numpy_path = numpy.get_include()
++# Defines the numpy include path (for numpy/arrayobject.h).
++# This is specefic to OE, to avoid to build python-numpy-native
++numpy_path = os.environ['STAGING_DIR_TARGET']+os.environ['PYTHON_SITEPACKAGES_DIR']+'/numpy/core/include'
+ env.Append(CPPPATH=numpy_path)
+ 
+ 
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,37 @@ 
+DESCRIPTION="fast and easy open-source graphics application for digital painters"
+LICENSE="GPL"
+SECTION = "x11/applications"
+PRIORITY = "optional"
+HOMEPAGE = "http://mypaint.intilinux.com/"
+
+DEPENDS = "glib-2.0 libpng python-numpy"
+RDEPENDS_${PN} = "python-image python-json"
+
+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} \
+       STAGING_DIR_TARGET=${STAGING_DIR_TARGET} \
+       PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR} \
+       BUILD_SYS=${BUILD_SYS} \
+       HOST_SYS=${HOST_SYS} \
+       PATH=${PATH} scons_do_compile
+}
+
+do_install() {
+       STAGING_DIR_TARGET=${STAGING_DIR_TARGET} \
+       PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR} \
+       BUILD_SYS=${BUILD_SYS} \
+       HOST_SYS=${HOST_SYS} \
+       scons_do_install
+}
+
+FILES_${PN} += "${datadir}"