Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2] package: add libpthsem
From: Arnout Vandecappelle @ 2012-11-07 21:51 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <1352192728-4816-1-git-send-email-gregory.hermant@calao-systems.com>

On 11/06/12 10:05, Gregory Hermant wrote:
> Signed-off-by: Gregory Hermant<gregory.hermant@calao-systems.com>
> +config BR2_PACKAGE_LIBPTHSEM
> +	bool "libpthsem"
> +	select BR2_PACKAGE_ARGP_STANDALONE
> +	help
> +	  GNU pth is a user mode multi threading library. pthsem is an extend
> +	  version, with support for semaphores added.

  If it is similar to pth, then it will probably not work on half our
architectures...

> +
> +	  http://www.auto.tuwien.ac.at/~mkoegler/pth/
[snip]
> diff --git a/package/libpthsem/libpthsem.mk b/package/libpthsem/libpthsem.mk
> new file mode 100644
> index 0000000..4fc9095
> --- /dev/null
> +++ b/package/libpthsem/libpthsem.mk
> @@ -0,0 +1,33 @@
> +#############################################################
> +#
> +# libpthsem
> +#
> +#############################################################
> +
> +LIBPTHSEM_VERSION = 2.0.8
> +LIBPTHSEM_SOURCE = pthsem_$(LIBPTHSEM_VERSION).tar.gz
> +LIBPTHSEM_SITE = http://www.auto.tuwien.ac.at/~mkoegler/pth/
> +LIBPTHSEM_LICENSE = LGPLv2.1+
> +LIBPTHSEM_LICENSE_FILES = COPYING
> +LIBPTHSEM_AUTORECONF = YES
> +LIBPTHSEM_INSTALL_STAGING = YES
> +LIBPTHSEM_DEPENDENCIES = argp-standalone
> +
> +define LIBPTHSEM_STAGING_LIBPTHSEM_CONFIG_FIXUP
> +	$(SED) "s,^prefix=.*,prefix=\'$(STAGING_DIR)/usr\',g" $(STAGING_DIR)/usr/bin/pthsem-config
> +	$(SED) "s,^exec_prefix=.*,exec_prefix=\'$(STAGING_DIR)/usr\',g" $(STAGING_DIR)/usr/bin/pthsem-config

  The \' quotes are redundant here, no?  And isn't one $(SED) enough if you
leave out the ^ in the beginning?  Then prefix=.* will match both of them.

> +endef
> +
> +LIBPTHSEM_POST_INSTALL_STAGING_HOOKS += LIBPTHSEM_STAGING_LIBPTHSEM_CONFIG_FIXUP
> +
> +define LIBPTHSEM_REMOVE_CONFIG_SCRIPTS
> +	$(RM) -f $(TARGET_DIR)/usr/bin/pthsem-config
> +endef

  Good idea, I guess there are plenty of packages that should have this as well...


  Regards,
  Arnout

> +
> +ifneq ($(BR2_HAVE_DEVFILES),y)
> +LIBPTHSEM_POST_INSTALL_TARGET_HOOKS += LIBPTHSEM_REMOVE_CONFIG_SCRIPTS
> +endif
> +
> +
> +$(eval $(autotools-package))
> +

-- 
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

^ permalink raw reply

* [Buildroot] new perl build issue
From: Dan Pattison @ 2012-11-07 20:35 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <CABtOAfz849=H1gW+CNPL0AgtqQ3xpFZhdcCvycJ=hiEByTjxrQ@mail.gmail.com>

On 11/7/2012 1:53 AM, Alexander Khryukin wrote:
>
>
> 2012/11/7 Alexander Khryukin <alexander@mezon.ru 
> <mailto:alexander@mezon.ru>>
>
>
>
>     2012/11/5 Fran?ois Perrad <francois.perrad@gadz.org
>     <mailto:francois.perrad@gadz.org>>
>
>         2012/11/5 Alexander Khryukin <alexander@mezon.ru
>         <mailto:alexander@mezon.ru>>:
>         >
>         >
>         > 2012/11/5 Alexander Khryukin <alexander@mezon.ru
>         <mailto:alexander@mezon.ru>>
>         >>
>         >>
>         >>
>         >> 2012/11/5 Thomas Petazzoni
>         <thomas.petazzoni@free-electrons.com
>         <mailto:thomas.petazzoni@free-electrons.com>>
>         >>>
>         >>>
>         >>> On Sun, 4 Nov 2012 20:41:45 +0100, Fran?ois Perrad wrote:
>         >>>
>         >>> > this afternoon, Thomas has posted 3 patches for qemu (see
>         >>> > http://patchwork.ozlabs.org/patch/197055/).
>         >>> > Alexander, try to rebuild host-qemu with them.
>         >>>
>         >>> Unfortunately, none of those patches have a chance to fix
>         Alexander's
>         >>> problem. My patches only fix missing dependencies.
>         >>>
>         >>> Also, could you have a look at
>         http://autobuild.buildroot.org/ for perl
>         >>> build failures? It seems like Qemu doesn't start properly
>         on some
>         >>> platforms, for some reason.
>         >>>
>         >>> Thomas
>         >>> --
>         >>> Thomas Petazzoni, Free Electrons
>         >>> Kernel, drivers, real-time and embedded Linux
>         >>> development, consulting, training and support.
>         >>> http://free-electrons.com
>         >>
>         >>
>         >>
>         >> I applied your patch but looks it not helps me.
>         >>
>         >> http://pastie.org/5188031
>         >
>         >
>         >
>         > Also if i compile it by my default system gcc it's ok
>         >
>         >
>         > [fdkit at kvm-host UU]$ gcc try.c
>         > [fdkit at kvm-host UU]$ ls ./a.out
>         > ./a.out*
>         > [fdkit at kvm-host UU]$ ./a.out
>         > Ok
>         >
>
>         Alexander,
>
>         the 'qemu-arm' built by Buildroot doesn't work properly.
>         could you try this workaround ?
>         1) install a 'qemu-arm' with your distro package manager,
>              $ apt-get install qemu-kvm-extras # or equivalent
>         2) apply this patch :
>         --- a/package/perl/perl.mk <http://perl.mk>
>         +++ b/package/perl/perl.mk <http://perl.mk>
>         @@ -22,7 +22,7 @@ endif
>
>          PERL_CONF_OPT = -des \
>                         -Dusecrosscompile \
>         -               -Dtargetrun=$(QEMU_USER) \
>         +               -Dtargetrun=qemu-arm \
>                         -Dqemulib=$(STAGING_DIR) \
>                         -Dar="$(TARGET_AR)" \
>                         -Dcc="$(TARGET_CC)" \
>
>         Fran?ois
>
>
>
>     I migrated my build system to fresh linux installation with 3.5.1
>     kernel
>      Linux localhost.localdomain 3.5.1-nrj-desktop-1mib #1 SMP PREEMPT
>     Tue Aug 14 11:57:05 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
>
>     Applied your patch, and problem still here.
>
>     http://pastie.org/5336882
>
>
>
>
> Bump!
> I don't know how to solve it.
>
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

Hello,

Like Bernd mentioned below. Using perlcross makes a successful build of 
perl. I tried this in buildroot for target arm (AT91SAM9G20) with 
success. Was able to run Hello World program and perl -V with no 
problem. The perlcross patch only works for perl-5.16.0 right now. I was 
thinking on adjusting it for perl-5.16.2.

My .configure line is pasted below. I use old version of buildroot so 
you will need to edit the paths. I followed the instructions here:

http://perlcross.berlios.de/


./configure --target=arm-linux-uclibc \
--target-tools-prefix=/home/ethertek/rms200/buildroot/build_arm/staging_dir/usr/bin/arm-linux-uclibcgnueabi- 
\
     --prefix=/usr \
     --sysroot=/home/ethertek/rms200/buildroot/build_arm/staging_dir/

<Hi,

<maybe this can be of help:http://perlcross.berlios.de/

<Kind regards, Bernd

Dan Pattison
Ethertek Circuits



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20121107/0a901636/attachment-0001.html>

^ permalink raw reply

* [Buildroot] [PATCH] sstrip preserve permissions
From: Peter Korsgaard @ 2012-11-07 20:33 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <1338083152-2359-1-git-send-email-danomimanchego123@gmail.com>

>>>>> "Danomi" == Danomi Manchego <danomimanchego123@gmail.com> writes:

 Danomi> Unlike "strip", the "sstrip" does not preserve the file permissions
 Danomi> of its target.  So if you have a package that sets special permissions,
 Danomi> such as the setuid bit, sstrip will remove it.  This patch adds some
 Danomi> minimal lines to preserve the permissions of stripped files.

What is the use case for this? From a quick look it seems sstrip just
truncates the source file, so permissions shouldn't change.

setuid (to root) doesn't make much sense as we're building as non-root
and fixing up permissions at the end using fakeroot (E.G. see
BUSYBOX_PERMISSIONS).


 Danomi> Signed-off-by: Danomi Manchego <danomimanchego123@gmail.com>
 Danomi> ---
 Danomi>  .../sstrip/sstrip-20154-preserve-permissions.patch |   43 ++++++++++++++++++++
 Danomi>  1 file changed, 43 insertions(+)
 Danomi>  create mode 100644 package/sstrip/sstrip-20154-preserve-permissions.patch

 Danomi> diff --git a/package/sstrip/sstrip-20154-preserve-permissions.patch b/package/sstrip/sstrip-20154-preserve-permissions.patch
 Danomi> new file mode 100644
 Danomi> index 0000000..0bd9162
 Danomi> --- /dev/null
 Danomi> +++ b/package/sstrip/sstrip-20154-preserve-permissions.patch
 Danomi> @@ -0,0 +1,43 @@
 Danomi> +diff -urN sstrip.ORIG/src/sstrip.c sstrip/src/sstrip.c
 Danomi> +--- sstrip.ORIG/src/sstrip.c	2010-12-11 23:59:51.464374000 -0500
 Danomi> ++++ sstrip/src/sstrip.c	2012-02-21 11:58:56.320295827 -0500
 Danomi> +@@ -60,6 +60,10 @@
 Danomi> + #include	<fcntl.h>
 Danomi> + #include	<elf.h>
 Danomi> + 
 Danomi> ++#include <sys/types.h>
 Danomi> ++#include <sys/stat.h>
 Danomi> ++#include <unistd.h>
 Danomi> ++
 Danomi> + #ifndef TRUE
 Danomi> + #define	TRUE		1
 Danomi> + #define	FALSE		0
 Danomi> +@@ -427,6 +431,7 @@
 Danomi> + 
 Danomi> + 	for (arg = argv + 1 ; *arg != NULL ; ++arg) {
 Danomi> + 		filename = *arg;
 Danomi> ++		struct stat sb;
 Danomi> + 
 Danomi> + 		fd = open(*arg, O_RDWR);
 Danomi> + 		if (fd < 0) {
 Danomi> +@@ -435,6 +440,9 @@
 Danomi> + 			continue;
 Danomi> + 		}
 Danomi> + 
 Danomi> ++		/* Get original file's permissions */
 Danomi> ++		if (fstat(fd, &sb) == -1) { perror("fstat"); sb.st_mode = 0; }
 Danomi> ++
 Danomi> + 		switch (readelfheaderident(fd, &e.ehdr32)) {
 Danomi> + 			case ELFCLASS32:
 Danomi> + 				if (!(readelfheader32(fd, &e.ehdr32)					&&
 Danomi> +@@ -458,6 +466,10 @@
 Danomi> + 				++failures;
 Danomi> + 				break;
 Danomi> + 		}
 Danomi> ++
 Danomi> ++		/* Set original file's permissions, including setuid */
 Danomi> ++		if (sb.st_mode != 0) { fchmod(fd, sb.st_mode & 07777); }
 Danomi> ++
 Danomi> + 		close(fd);
 Danomi> + 	}
 Danomi> + 
 Danomi> -- 
 Danomi> 1.7.9.5

 Danomi> _______________________________________________
 Danomi> buildroot mailing list
 Danomi> buildroot at busybox.net
 Danomi> http://lists.busybox.net/mailman/listinfo/buildroot


-- 
Bye, Peter Korsgaard

^ permalink raw reply

* [Buildroot] [PATCH 1/1] qextserialport : fix download and bump version
From: Sagaert Johan @ 2012-11-07 19:39 UTC (permalink / raw)
  To: buildroot


Signed-off-by: Sagaert Johan <sagaert.johan@skynet.be>
---
 package/qextserialport/qextserialport-no-examples.patch | 17 -----------------
 package/qextserialport/qextserialport.mk                | 12 +++++++-----
 2 files changed, 7 insertions(+), 22 deletions(-)
 delete mode 100644 package/qextserialport/qextserialport-no-examples.patch

diff --git a/package/qextserialport/qextserialport-no-examples.patch b/package/qextserialport/qextserialport-no-examples.patch
deleted file mode 100644
index c7d2d41..0000000
--- a/package/qextserialport/qextserialport-no-examples.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Disable compilation of examples
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-
-Index: qextserialport-ef4af2a2ee3f/qextserialport.pro
-===================================================================
---- qextserialport-ef4af2a2ee3f.orig/qextserialport.pro
-+++ qextserialport-ef4af2a2ee3f/qextserialport.pro
-@@ -1,7 +1,4 @@
- #
- TEMPLATE = subdirs
- CONFIG   += ordered
--SUBDIRS  = src \
--           examples/enumerator \
--           examples/event
--
-+SUBDIRS  = src
diff --git a/package/qextserialport/qextserialport.mk b/package/qextserialport/qextserialport.mk
index 6ffb9eb..f240cda 100644
--- a/package/qextserialport/qextserialport.mk
+++ b/package/qextserialport/qextserialport.mk
@@ -4,9 +4,11 @@
 #
 #############################################################
 
-QEXTSERIALPORT_VERSION     = ef4af2a2ee3f
-QEXTSERIALPORT_SITE        = https://qextserialport.googlecode.com/hg/
-QEXTSERIALPORT_SITE_METHOD = hg
+QEXTSERIALPORT_VERSION     = f83b4e7ca922e53
+QEXTSERIALPORT_SITE        = https://qextserialport.googlecode.com/git/
+QEXTSERIALPORT_SITE_METHOD = git
+
+QEXTSERIALPORT_LICENSE = MIT
 
 QEXTSERIALPORT_DEPENDENCIES = qt
 
@@ -24,12 +26,12 @@ define QEXTSERIALPORT_INSTALL_STAGING_CMDS
 	mkdir -p $(STAGING_DIR)/usr/include/QExtSerialPort
 	cp $(@D)/src/*.h $(STAGING_DIR)/usr/include/QExtSerialPort/
 	cp $(@D)/src/QExtSerialPort $(STAGING_DIR)/usr/include/QExtSerialPort/
-	cp -a $(@D)/src/build/*.so* $(STAGING_DIR)/usr/lib/
+	cp -a $(@D)/*.so* $(STAGING_DIR)/usr/lib/
 	cp $(@D)/qextserialport.pc $(STAGING_DIR)/usr/lib/pkgconfig/
 endef
 
 define QEXTSERIALPORT_INSTALL_TARGET_CMDS
-	cp -a $(@D)/src/build/*.so.* $(TARGET_DIR)/usr/lib
+	cp -a $(@D)/*.so.* $(TARGET_DIR)/usr/lib
 endef
 
 $(eval $(generic-package))
-- 
1.8.0

^ permalink raw reply related

* [Buildroot] [PATCH 1/1] libmbus : bump version to 0.8
From: Peter Korsgaard @ 2012-11-07 19:39 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <1352164803-8201-1-git-send-email-sagaert.johan@skynet.be>

>>>>> "Sagaert" == Sagaert Johan <sagaert.johan@skynet.be> writes:

 Sagaert> This release contains many improvements bug fixes, and major
 Sagaert> new features and support for float point numbers and support
 Sagaert> for multi-telegram communication...

Looks like we can also drop the autoreconf. Committed with that fixed,
thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply

* [Buildroot] [git commit] libmbus : bump version to 0.8
From: Peter Korsgaard @ 2012-11-07 19:38 UTC (permalink / raw)
  To: buildroot

commit: http://git.buildroot.net/buildroot/commit/?id=d727a4da444cb0001f8b5f73e73809780542be65
branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master

This release contains many improvements bug fixes, and major new features and
support for float point numbers and support for multi-telegram communication...

[Peter: also drop autoreconf]
Signed-off-by: Sagaert Johan <sagaert.johan@skynet.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
---
 package/libmbus/libmbus-bcopy.patch |   16 ----------------
 package/libmbus/libmbus.mk          |    6 +-----
 2 files changed, 1 insertions(+), 21 deletions(-)

diff --git a/package/libmbus/libmbus-bcopy.patch b/package/libmbus/libmbus-bcopy.patch
deleted file mode 100644
index 660cc37..0000000
--- a/package/libmbus/libmbus-bcopy.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Drop bcopy since it's deprecated.
-
-Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
-
-diff -Nura libmbus-0.7.0/mbus/mbus-tcp.c libmbus-0.7.0-bcopy/mbus/mbus-tcp.c
---- libmbus-0.7.0/mbus/mbus-tcp.c	2011-12-08 13:21:19.000000000 -0300
-+++ libmbus-0.7.0-bcopy/mbus/mbus-tcp.c	2012-05-03 09:08:36.987106612 -0300
-@@ -78,7 +78,7 @@
-         return NULL;
-     }
- 
--    bcopy((void *)(host_addr->h_addr), (void *)(&s.sin_addr), host_addr->h_length);
-+    memmove((void *)(&s.sin_addr), (void *)(host_addr->h_addr), host_addr->h_length);
- 
-     if (connect(handle->sock, (struct sockaddr *)&s, sizeof(s)) < 0)
-     {
diff --git a/package/libmbus/libmbus.mk b/package/libmbus/libmbus.mk
index 16e9e6a..b3cae97 100644
--- a/package/libmbus/libmbus.mk
+++ b/package/libmbus/libmbus.mk
@@ -4,12 +4,8 @@
 #
 #############################################################
 
-LIBMBUS_VERSION = 0.7.0
+LIBMBUS_VERSION = 0.8.0
 LIBMBUS_SITE = http://www.freescada.com/public-dist
 LIBMBUS_INSTALL_STAGING = YES
 
-# Without this the build yields an error:
-#   cannot find input file: `test/Makefile.in'
-LIBMBUS_AUTORECONF = YES
-
 $(eval $(autotools-package))

^ permalink raw reply related

* [Buildroot] [PATCH v11 2/9] perl: new package
From: Bernd Kuhls @ 2012-11-07 19:32 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <50999637.1090305@mind.be>

Arnout Vandecappelle <arnout@mind.be> wrote in 
news:50999637.1090305 at mind.be:

>> maybe this can be of help: http://perlcross.berlios.de/
> 
>   That sounds like a terrific idea!  Do you feel up to integrating this in
> buildroot and sending a patch?

Unfortunately not due to lack of skill :(

^ permalink raw reply

* [Buildroot] [PATCH 1/3] xapp_x11perf: bump to 1.5.4
From: Peter Korsgaard @ 2012-11-07 19:26 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <1352189274-7000-1-git-send-email-yegorslists@googlemail.com>

>>>>> "yegorslists" == yegorslists  <yegorslists@googlemail.com> writes:

 yegorslists> From: Yegor Yefremov <yegorslists@googlemail.com>
 yegorslists> Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>

Committed all 3, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply

* [Buildroot] [git commit] xapp_bitmap: bump to 1.0.6
From: Peter Korsgaard @ 2012-11-07 19:26 UTC (permalink / raw)
  To: buildroot

commit: http://git.buildroot.net/buildroot/commit/?id=242541fac2c5cfc750b0dc18ff92b9b08ae1f5c9
branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
---
 package/x11r7/xapp_bitmap/xapp_bitmap.mk |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/package/x11r7/xapp_bitmap/xapp_bitmap.mk b/package/x11r7/xapp_bitmap/xapp_bitmap.mk
index 92428ac..1ce450a 100644
--- a/package/x11r7/xapp_bitmap/xapp_bitmap.mk
+++ b/package/x11r7/xapp_bitmap/xapp_bitmap.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-XAPP_BITMAP_VERSION = 1.0.3
+XAPP_BITMAP_VERSION = 1.0.6
 XAPP_BITMAP_SOURCE = bitmap-$(XAPP_BITMAP_VERSION).tar.bz2
 XAPP_BITMAP_SITE = http://xorg.freedesktop.org/releases/individual/app
 XAPP_BITMAP_DEPENDENCIES = xlib_libX11 xlib_libXaw xlib_libXmu xdata_xbitmaps

^ permalink raw reply related

* [Buildroot] [git commit] xapp_mkfontdir: bump to 1.0.7
From: Peter Korsgaard @ 2012-11-07 19:26 UTC (permalink / raw)
  To: buildroot

commit: http://git.buildroot.net/buildroot/commit/?id=41a625c4b48db66ff626d65c524eaca71afcfd40
branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
---
 package/x11r7/xapp_mkfontdir/xapp_mkfontdir.mk |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/package/x11r7/xapp_mkfontdir/xapp_mkfontdir.mk b/package/x11r7/xapp_mkfontdir/xapp_mkfontdir.mk
index fa4e990..e32ed85 100644
--- a/package/x11r7/xapp_mkfontdir/xapp_mkfontdir.mk
+++ b/package/x11r7/xapp_mkfontdir/xapp_mkfontdir.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-XAPP_MKFONTDIR_VERSION = 1.0.6
+XAPP_MKFONTDIR_VERSION = 1.0.7
 XAPP_MKFONTDIR_SOURCE = mkfontdir-$(XAPP_MKFONTDIR_VERSION).tar.bz2
 XAPP_MKFONTDIR_SITE = http://xorg.freedesktop.org/releases/individual/app
 XAPP_MKFONTDIR_DEPENDENCIES = xapp_mkfontscale

^ permalink raw reply related

* [Buildroot] [git commit] xapp_x11perf: bump to 1.5.4
From: Peter Korsgaard @ 2012-11-07 19:24 UTC (permalink / raw)
  To: buildroot

commit: http://git.buildroot.net/buildroot/commit/?id=3432745d2a48ec80ad2d8b3b264ca4e8d607cd3a
branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
---
 package/x11r7/xapp_x11perf/xapp_x11perf.mk |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/package/x11r7/xapp_x11perf/xapp_x11perf.mk b/package/x11r7/xapp_x11perf/xapp_x11perf.mk
index d58a45c..33e8628 100644
--- a/package/x11r7/xapp_x11perf/xapp_x11perf.mk
+++ b/package/x11r7/xapp_x11perf/xapp_x11perf.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-XAPP_X11PERF_VERSION = 1.5.2
+XAPP_X11PERF_VERSION = 1.5.4
 XAPP_X11PERF_SOURCE = x11perf-$(XAPP_X11PERF_VERSION).tar.bz2
 XAPP_X11PERF_SITE = http://xorg.freedesktop.org/releases/individual/app
 XAPP_X11PERF_DEPENDENCIES = xlib_libX11 xlib_libXmu xlib_libXft

^ permalink raw reply related

* [Buildroot] [PATCHv2 10/10] Make savedefconfig save to a configured file.
From: Arnout Vandecappelle @ 2012-11-07 19:24 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <509A1872.1040108@lucaceresoli.net>

On 11/07/12 09:14, Luca Ceresoli wrote:
>> +1. Set +BR2_DEFCONFIG+ to +<path-to-board-directory>/buildroot.config+
>
> I've always been saving my Buildroot board config in configs/, to allow
> me to startup from a clean working copy with a simple:
>    make myboard_defconfig

  This was actually in the out-of-buildroot-tree section.  And I removed that
section completely, so it's irrelevant.

>
> The location you suggest requires a bit more typing, but it is probably
> cleaner, and it does not prevent me to continue my way... so:
>
> Acked-by: Luca Ceresoli <luca@lucaceresoli.net>

  Thanks for all your acks.  I've refreshed the patches, made some additional
fixes, and will repost right away.

  Regards,
  Arnout
-- 
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

^ permalink raw reply

* [Buildroot] [PATCH] iw: add license information
From: Peter Korsgaard @ 2012-11-07 19:22 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <505054B5.3080000@mimc.co.uk>

>>>>> "Mark" == Mark Jackson <mpfj-list@mimc.co.uk> writes:

 Mark> Signed-off-by: Mark Jackson <mpfj@newflow.co.uk>

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply

* [Buildroot] [PATCHv2 07/10] busybox: update-all-config shouldn't update default busybox config
From: Arnout Vandecappelle @ 2012-11-07 19:20 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <509A180C.2050409@lucaceresoli.net>

On 11/07/12 09:13, Luca Ceresoli wrote:
> Up to here you're automating the config filename handling, not doing
> anything related to update-config. It may be worth splitting the patch,
> although the changed lines are very few.

  Since there's no reason for automating the config filename handling except
to enable the update-config, I don't think it's worth to split it.

  Regards,
  Arnout
-- 
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

^ permalink raw reply

* [Buildroot] [git commit] iw: add license information
From: Peter Korsgaard @ 2012-11-07 19:15 UTC (permalink / raw)
  To: buildroot

commit: http://git.buildroot.net/buildroot/commit/?id=9e15babb4980abeaa4a392145989af11a757ba7d
branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Signed-off-by: Mark Jackson <mpfj@newflow.co.uk>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
---
 package/iw/iw.mk |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/package/iw/iw.mk b/package/iw/iw.mk
index 651a2ca..19ede3a 100644
--- a/package/iw/iw.mk
+++ b/package/iw/iw.mk
@@ -7,6 +7,8 @@
 IW_VERSION = 3.7
 IW_SOURCE = iw-$(IW_VERSION).tar.bz2
 IW_SITE = http://wireless.kernel.org/download/iw
+IW_LICENSE = iw license
+IW_LICENSE_FILES = COPYING
 IW_DEPENDENCIES = host-pkgconf libnl
 IW_CONFIG = $(IW_DIR)/.config
 IW_MAKE_ENV = PKG_CONFIG="$(HOST_DIR)/usr/bin/pkg-config" \

^ permalink raw reply related

* [Buildroot] [PATCH] gqview: Fix build failure due to missing -lm
From: Peter Korsgaard @ 2012-11-07 19:06 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <1349555736-10008-1-git-send-email-gvaxon@gmail.com>

>>>>> "Valentine" == Valentine Barshak <gvaxon@gmail.com> writes:

 Valentine> Signed-off-by: Valentine Barshak <gvaxon@gmail.com>

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply

* [Buildroot] [git commit] gqview: Fix build failure due to missing -lm with binutils 2.22
From: Peter Korsgaard @ 2012-11-07 19:05 UTC (permalink / raw)
  To: buildroot

commit: http://git.buildroot.net/buildroot/commit/?id=c957f604d53d75e851370b6e0503388c93501e87
branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Signed-off-by: Valentine Barshak <gvaxon@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Tested-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Tested-by: Markos Chandras <markos.chandras@imgtec.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
---
 package/gqview/gqview.mk |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/package/gqview/gqview.mk b/package/gqview/gqview.mk
index e6d764d..6f64175 100644
--- a/package/gqview/gqview.mk
+++ b/package/gqview/gqview.mk
@@ -7,6 +7,7 @@ GQVIEW_VERSION = 2.1.5
 GQVIEW_SOURCE = gqview-$(GQVIEW_VERSION).tar.gz
 GQVIEW_SITE = http://prdownloads.sourceforge.net/gqview
 GQVIEW_DEPENDENCIES = host-pkgconf libgtk2
+GQVIEW_CONF_ENV = LIBS="-lm"
 
 $(eval $(autotools-package))
 

^ permalink raw reply related

* [Buildroot] [PATCH 1/1] calao: use zImage on usb-a9263 and usb-a9g20 lpw
From: Peter Korsgaard @ 2012-11-07 18:53 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <1344003028-9452-1-git-send-email-plagnioj@jcrosoft.com>

>>>>> "J" == Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> writes:

 J> The board boot more fast with a zImage than a uImage
 J> as the kernel will not have to be relocated during the decompression.

 J> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply

* [Buildroot] Udev on a live CD system does not appear to populate /dev
From: Stefan Fröberg @ 2012-11-07 17:56 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <5099A14C.5000204@mind.be>

7.11.2012 1:46, Arnout Vandecappelle kirjoitti:
> On 06/11/12 19:37, Stefan Fr?berg wrote:
>> Here's what I have minimally in my own buildroot's fs/skeleton/dev
>> folder (which is copied at the end of the buildroot
>> process into output/target/dev )
>
>  Err... That can only work if you have sudo in your post-build script
> - which
> we consider bad practice.  We have the device_table to deal with
> device nodes.
> And all of that shouldn't be necessary if you use devtmpfs (or udev or
> mdev,
> which implies devtmpfs).  If you use static device nodes, then the
> default
> device_table_dev creates all of those.
>
Nope, no sudo in my live Cd.
Just few pre-made device nodes in fs/skeleton/dev and my special made
init stuff in fs/skeleton/etc/init.d

Well ok, I confess ... I *did* modify /etc/init.d/rcS a little bit for
my needs and also added unionfs mounting to S15mount
and some few other little things

So far I have been very happy with my own personal Live CD Linux distro.
It has 873 MB worth of various userspace utilities in 700 MB CD-R disc.
Feat which would have not been posible without initramfs (XZ
compressed), unionfs and squashfs.

The lowest RAM amount I managed to start it was 192 MB.
With Xorg, Fluxbox and Firefox :-)

Without buildroot and my lil tweakings I could have never made it.

Best regards
Stefan


>  If that doesn't work for you, then we should try to fix it in buildroot.
>
>  Regards,
>  Arnout

^ permalink raw reply

* [Buildroot] [git commit] calao: use zImage on usb-a9263 and usb-a9g20 lpw
From: Peter Korsgaard @ 2012-11-07 17:18 UTC (permalink / raw)
  To: buildroot

commit: http://git.buildroot.net/buildroot/commit/?id=b3c9b89bd97f8ed414fa7b6a479c37a3d68b616b
branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master

The board boot more fast with a zImage than a uImage
as the kernel will not have to be relocated during the decompression.

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
---
 configs/calao_usb_a9263_defconfig     |    1 +
 configs/calao_usb_a9g20_lpw_defconfig |    1 +
 2 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/configs/calao_usb_a9263_defconfig b/configs/calao_usb_a9263_defconfig
index 65263cf..422f35e 100644
--- a/configs/calao_usb_a9263_defconfig
+++ b/configs/calao_usb_a9263_defconfig
@@ -11,3 +11,4 @@ BR2_TARGET_BAREBOX_BOARD_DEFCONFIG="usb_a9263"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
 BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/calao/usb-a9263/linux-3.4.4.config"
+BR2_LINUX_KERNEL_ZIMAGE=y
diff --git a/configs/calao_usb_a9g20_lpw_defconfig b/configs/calao_usb_a9g20_lpw_defconfig
index e3d9cf5..4a644da 100644
--- a/configs/calao_usb_a9g20_lpw_defconfig
+++ b/configs/calao_usb_a9g20_lpw_defconfig
@@ -12,3 +12,4 @@ BR2_TARGET_BAREBOX_BOARD_DEFCONFIG="usb_a9g20"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
 BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/calao/usb-a9g20-lpw/linux-3.4.4.config"
+BR2_LINUX_KERNEL_ZIMAGE=y

^ permalink raw reply related

* [Buildroot] [PATCH 2/2] Add python3 package
From: Maxime Ripard @ 2012-11-07 15:01 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <1352300481-825-1-git-send-email-maxime.ripard@free-electrons.com>

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
---
 package/Config.in                                  |    1 +
 package/python3/Config.in                          |   81 ++++++++++
 ...n3-3.3-000-generate-sysconfigdata-buildir.patch |  158 ++++++++++++++++++++
 .../python3-3.3-001-support-for-build.patch        |   68 +++++++++
 .../python3-3.3-002-no-host-headers-libs.patch     |   72 +++++++++
 .../python3-3.3-003-staging-header-libs.patch      |   41 +++++
 ...n3-3.3-004-no-import-when-cross-compiling.patch |   27 ++++
 ...python3-3.3-005-do-not-generate-pyo-files.patch |   40 +++++
 .../python3-3.3-006-reread-environment.patch       |   63 ++++++++
 ...ython3-3.3-007-change-pyconfig-h-location.patch |   76 ++++++++++
 package/python3/python3-3.3-008-no-rpath.patch     |   51 +++++++
 .../python3-3.3-009-verbose-module-build.patch     |   26 ++++
 ...3-010-distutils-cross-compilation-support.patch |   71 +++++++++
 ...python3-3.3-011-cross-compile-getaddrinfo.patch |   21 +++
 package/python3/python3.mk                         |  152 +++++++++++++++++++
 15 files changed, 948 insertions(+)
 create mode 100644 package/python3/Config.in
 create mode 100644 package/python3/python3-3.3-000-generate-sysconfigdata-buildir.patch
 create mode 100644 package/python3/python3-3.3-001-support-for-build.patch
 create mode 100644 package/python3/python3-3.3-002-no-host-headers-libs.patch
 create mode 100644 package/python3/python3-3.3-003-staging-header-libs.patch
 create mode 100644 package/python3/python3-3.3-004-no-import-when-cross-compiling.patch
 create mode 100644 package/python3/python3-3.3-005-do-not-generate-pyo-files.patch
 create mode 100644 package/python3/python3-3.3-006-reread-environment.patch
 create mode 100644 package/python3/python3-3.3-007-change-pyconfig-h-location.patch
 create mode 100644 package/python3/python3-3.3-008-no-rpath.patch
 create mode 100644 package/python3/python3-3.3-009-verbose-module-build.patch
 create mode 100644 package/python3/python3-3.3-010-distutils-cross-compilation-support.patch
 create mode 100644 package/python3/python3-3.3-011-cross-compile-getaddrinfo.patch
 create mode 100644 package/python3/python3.mk

diff --git a/package/Config.in b/package/Config.in
index 6125abc..a9c1496 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -289,6 +289,7 @@ endif
 source "package/microperl/Config.in"
 source "package/php/Config.in"
 source "package/python/Config.in"
+source "package/python3/Config.in"
 if BR2_PACKAGE_PYTHON
 menu "external python modules"
 source "package/python-dpkt/Config.in"
diff --git a/package/python3/Config.in b/package/python3/Config.in
new file mode 100644
index 0000000..03c6b59
--- /dev/null
+++ b/package/python3/Config.in
@@ -0,0 +1,81 @@
+config BR2_PACKAGE_PYTHON3
+	bool "python3"
+	depends on BR2_USE_WCHAR
+	select BR2_PACKAGE_LIBFFI
+	help
+	  The python language interpreter.
+
+	  http://www.python.org/
+
+comment "python requires a toolchain with WCHAR support"
+	depends on !BR2_USE_WCHAR
+
+if BR2_PACKAGE_PYTHON3
+
+choice
+	prompt "python3 module format to install"
+	default BR2_PACKAGE_PYTHON3_PYC_ONLY
+	help
+	  Select Python module format to install on target (py, pyc or both)
+
+config BR2_PACKAGE_PYTHON3_PY_ONLY
+	bool ".py sources only"
+
+config BR2_PACKAGE_PYTHON3_PYC_ONLY
+	bool ".pyc compiled sources only"
+
+config BR2_PACKAGE_PYTHON3_PY_PYC
+	bool ".py sources and .pyc compiled"
+
+endchoice
+
+menu "core python3 modules"
+
+comment "The following modules are unusual or require extra libraries"
+
+config BR2_PACKAGE_PYTHON3_BZIP2
+	select BR2_PACKAGE_BZIP2
+	bool "bz2 module"
+	help
+	  bzip2 module for Python3
+
+config BR2_PACKAGE_PYTHON3_CURSES
+	select BR2_PACKAGE_NCURSES
+	bool "curses module"
+	help
+	  curses module for Python3.
+
+config BR2_PACKAGE_PYTHON3_PYEXPAT
+	select BR2_PACKAGE_EXPAT
+	bool "pyexpat"
+	help
+	  pyexpat module for Python3.
+
+config BR2_PACKAGE_PYTHON3_READLINE
+	select BR2_PACKAGE_READLINE
+	bool "readline"
+	help
+	  readline module for Python3 (required for command-line
+	  editing in the Python shell).
+
+config BR2_PACKAGE_PYTHON3_SSL
+	select BR2_PACKAGE_OPENSSL
+	bool "ssl"
+	help
+	  _ssl module for Python3 (required for https in urllib etc).
+
+config BR2_PACKAGE_PYTHON3_SQLITE
+	bool "sqlite module"
+	select BR2_PACKAGE_SQLITE
+	help
+	  SQLite database support
+
+config BR2_PACKAGE_PYTHON3_ZLIB
+	bool "zlib module"
+	select BR2_PACKAGE_ZLIB
+	help
+	  zlib support in Python3
+
+endmenu
+
+endif
diff --git a/package/python3/python3-3.3-000-generate-sysconfigdata-buildir.patch b/package/python3/python3-3.3-000-generate-sysconfigdata-buildir.patch
new file mode 100644
index 0000000..a29aa0f
--- /dev/null
+++ b/package/python3/python3-3.3-000-generate-sysconfigdata-buildir.patch
@@ -0,0 +1,158 @@
+changeset:   79745:f85c3f4d9b98
+parent:      79743:36b2ca7dc893
+parent:      79744:24d52d3060e8
+user:        Trent Nelson <trent@trent.me>
+date:        Tue Oct 16 08:17:11 2012 -0400
+summary:     Merge issue #15298: ensure _sysconfigdata is generated in build directory,
+
+Taken from upstream.
+
+---
+ Lib/sysconfig.py |   11 ++++++++++-
+ Makefile.pre.in  |   24 +++++++++++++-----------
+ setup.py         |   14 --------------
+ 3 files changed, 23 insertions(+), 26 deletions(-)
+
+Index: Python-3.3.0/Lib/sysconfig.py
+===================================================================
+--- Python-3.3.0.orig/Lib/sysconfig.py
++++ Python-3.3.0/Lib/sysconfig.py
+@@ -390,13 +390,22 @@
+     if _PYTHON_BUILD:
+         vars['LDSHARED'] = vars['BLDSHARED']
+ 
+-    destfile = os.path.join(os.path.dirname(__file__), '_sysconfigdata.py')
++    pybuilddir = 'build/lib.%s-%s' % (get_platform(), sys.version[:3])
++    if hasattr(sys, "gettotalrefcount"):
++        pybuilddir += '-pydebug'
++    os.makedirs(pybuilddir, exist_ok=True)
++    destfile = os.path.join(pybuilddir, '_sysconfigdata.py')
++
+     with open(destfile, 'w', encoding='utf8') as f:
+         f.write('# system configuration generated and used by'
+                 ' the sysconfig module\n')
+         f.write('build_time_vars = ')
+         pprint.pprint(vars, stream=f)
+ 
++    # Create file used for sys.path fixup -- see Modules/getpath.c
++    with open('pybuilddir.txt', 'w', encoding='ascii') as f:
++        f.write(pybuilddir)
++
+ def _init_posix(vars):
+     """Initialize the module as appropriate for POSIX systems."""
+     # _sysconfigdata is generated at build time, see _generate_posix_vars()
+Index: Python-3.3.0/Makefile.pre.in
+===================================================================
+--- Python-3.3.0.orig/Makefile.pre.in
++++ Python-3.3.0/Makefile.pre.in
+@@ -410,8 +410,6 @@
+ 		Objects/unicodectype.o \
+ 		Objects/weakrefobject.o
+ 
+-SYSCONFIGDATA=$(srcdir)/Lib/_sysconfigdata.py
+-
+ ##########################################################################
+ # objects that get linked into the Python library
+ LIBRARY_OBJS_OMIT_FROZEN=	\
+@@ -432,7 +430,7 @@
+ 
+ # Default target
+ all:		build_all
+-build_all:	$(BUILDPYTHON) $(SYSCONFIGDATA) oldsharedmods sharedmods gdbhooks Modules/_testembed
++build_all:	$(BUILDPYTHON) oldsharedmods sharedmods gdbhooks Modules/_testembed
+ 
+ # Compile a binary with gcc profile guided optimization.
+ profile-opt:
+@@ -466,15 +464,17 @@
+ $(BUILDPYTHON):	Modules/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
+ 	$(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Modules/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
+ 
+-platform: $(BUILDPYTHON) $(SYSCONFIGDATA)
++platform: $(BUILDPYTHON)
+ 	$(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print(get_platform()+"-"+sys.version[0:3])' >platform
+ 
+-# Generate the sysconfig build-time data
+-$(SYSCONFIGDATA): $(BUILDPYTHON)
++# Create build directory and generate the sysconfig build-time data there.
++# pybuilddir.txt contains the name of the build dir and is used for
++# sys.path fixup -- see Modules/getpath.c.
++pybuilddir.txt: $(BUILDPYTHON)
+ 	$(RUNSHARED) $(PYTHON_FOR_BUILD) -S -m sysconfig --generate-posix-vars
+ 
+ # Build the shared modules
+-sharedmods: $(BUILDPYTHON) $(SYSCONFIGDATA)
++sharedmods: $(BUILDPYTHON) pybuilddir.txt
+ 	case $$MAKEFLAGS in *s*) quiet=-q; esac; \
+ 	$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
+ 		$(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
+@@ -1036,7 +1036,7 @@
+ 		else	true; \
+ 		fi; \
+ 	done
+-	@for i in $(srcdir)/Lib/*.py ; \
++	@for i in $(srcdir)/Lib/*.py `cat pybuilddir.txt`/_sysconfigdata.py; \
+ 	do \
+ 		if test -x $$i; then \
+ 			$(INSTALL_SCRIPT) $$i $(DESTDIR)$(LIBDEST); \
+@@ -1196,6 +1196,8 @@
+ 		--install-scripts=$(BINDIR) \
+ 		--install-platlib=$(DESTSHARED) \
+ 		--root=$(DESTDIR)/
++	-rm $(DESTDIR)$(DESTSHARED)/_sysconfigdata.py
++	-rm -r $(DESTDIR)$(DESTSHARED)/__pycache__
+ 
+ # Here are a couple of targets for MacOSX again, to install a full
+ # framework-based Python. frameworkinstall installs everything, the
+@@ -1341,9 +1343,10 @@
+ 	find . -name '*.s[ol]' -exec rm -f {} ';'
+ 	find . -name '*.so.[0-9]*.[0-9]*' -exec rm -f {} ';'
+ 	find build -name 'fficonfig.h' -exec rm -f {} ';' || true
+-	find build -name 'fficonfig.py' -exec rm -f {} ';' || true
++	find build -name '*.py' -exec rm -f {} ';' || true
++	find build -name '*.py[co]' -exec rm -f {} ';' || true
++	-rm -f pybuilddir.txt
+ 	-rm -f Lib/lib2to3/*Grammar*.pickle
+-	-rm -f $(SYSCONFIGDATA)
+ 	-rm -f Modules/_testembed Modules/_freeze_importlib
+ 
+ profile-removal:
+@@ -1367,7 +1370,6 @@
+ 		Modules/Setup Modules/Setup.local Modules/Setup.config \
+ 		Modules/ld_so_aix Modules/python.exp Misc/python.pc
+ 	-rm -f python*-gdb.py
+-	-rm -f pybuilddir.txt
+ 	find $(srcdir) '(' -name '*.fdc' -o -name '*~' \
+ 			   -o -name '[@,#]*' -o -name '*.old' \
+ 			   -o -name '*.orig' -o -name '*.rej' \
+Index: Python-3.3.0/setup.py
+===================================================================
+--- Python-3.3.0.orig/setup.py
++++ Python-3.3.0/setup.py
+@@ -33,10 +33,6 @@
+ # This global variable is used to hold the list of modules to be disabled.
+ disabled_module_list = []
+ 
+-# File which contains the directory for shared mods (for sys.path fixup
+-# when running from the build dir, see Modules/getpath.c)
+-_BUILDDIR_COOKIE = "pybuilddir.txt"
+-
+ def add_dir_to_list(dirlist, dir):
+     """Add the directory 'dir' to the list 'dirlist' (after any relative
+     directories) if:
+@@ -252,16 +248,6 @@
+             args['compiler_so'] = compiler + ' ' + ccshared + ' ' + cflags
+         self.compiler.set_executables(**args)
+ 
+-        # Not only do we write the builddir cookie, but we manually install
+-        # the shared modules directory if it isn't already in sys.path.
+-        # Otherwise trying to import the extensions after building them
+-        # will fail.
+-        with open(_BUILDDIR_COOKIE, "wb") as f:
+-            f.write(self.build_lib.encode('utf-8', 'surrogateescape'))
+-        abs_build_lib = os.path.join(os.getcwd(), self.build_lib)
+-        if abs_build_lib not in sys.path:
+-            sys.path.append(abs_build_lib)
+-
+         build_ext.build_extensions(self)
+ 
+         longest = max([len(e.name) for e in self.extensions])
diff --git a/package/python3/python3-3.3-001-support-for-build.patch b/package/python3/python3-3.3-001-support-for-build.patch
new file mode 100644
index 0000000..8c57cfb
--- /dev/null
+++ b/package/python3/python3-3.3-001-support-for-build.patch
@@ -0,0 +1,68 @@
+Add support in Python build system to specify host pgen
+
+Python needs a "pgen" program to build itself. Unfortunately, the
+Python build system assumes that it can use the pgen program it has
+just built to build itself. Obviously, this cannot work in
+cross-compilation mode since the pgen program have been built for the
+target.
+
+Therefore, this patch adds support in the Python build system for the
+new PGEN_FOR_BUILD variable, so that we can point Python ./configure
+script to the pgen program that have been previously built for the
+host.
+
+Patch ported to python2.7 by Maxime Ripard <ripard@archos.com>, and
+later significantly reworked by Thomas Petazzoni
+<thomas.petazzoni@free-electrons.com>, with some inspiration taken
+from the Python patches of the PTXdist project, and then ported to
+python3.3 by Maxime Ripard <maxime.ripard@free-electrons.com>
+
+Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
+---
+ Makefile.pre.in |    5 +++--
+ configure.ac    |    5 +++++
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+Index: Python-3.3.0/Makefile.pre.in
+===================================================================
+--- Python-3.3.0.orig/Makefile.pre.in
++++ Python-3.3.0/Makefile.pre.in
+@@ -239,6 +239,7 @@
+ ##########################################################################
+ # Parser
+ PGEN=		Parser/pgen$(EXE)
++PGEN_FOR_BUILD=@PGEN_FOR_BUILD@
+ 
+ PSRCS=		\
+ 		Parser/acceler.c \
+@@ -639,8 +640,8 @@
+ 
+ $(GRAMMAR_H): $(GRAMMAR_INPUT) $(PGENSRCS)
+ 		@$(MKDIR_P) Include
+-		$(MAKE) $(PGEN)
+-		$(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
++		$(MAKE) $(PGEN_FOR_BUILD)
++		$(PGEN_FOR_BUILD) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
+ $(GRAMMAR_C): $(GRAMMAR_H) $(GRAMMAR_INPUT) $(PGENSRCS)
+ 		$(MAKE) $(GRAMMAR_H)
+ 		touch $(GRAMMAR_C)
+Index: Python-3.3.0/configure.ac
+===================================================================
+--- Python-3.3.0.orig/configure.ac
++++ Python-3.3.0/configure.ac
+@@ -51,10 +51,15 @@
+         AC_MSG_RESULT($interp)
+ 	PYTHON_FOR_BUILD="_PYTHON_PROJECT_BASE=$srcdir"' _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(srcdir)/Lib:$(srcdir)/Lib/plat-$(MACHDEP) '$interp
+     fi
++    AC_MSG_CHECKING(pgen for build)
++    PGEN_FOR_BUILD="${PGEN_FOR_BUILD}"
++    AC_MSG_RESULT($PGEN_FOR_BUILD)
+ else
+     PYTHON_FOR_BUILD='./$(BUILDPYTHON) -E'
++    PGEN_FOR_BUILD='./$(PGEN)'
+ fi
+ AC_SUBST(PYTHON_FOR_BUILD)
++AC_SUBST(PGEN_FOR_BUILD)
+ 
+ dnl Ensure that if prefix is specified, it does not end in a slash. If
+ dnl it does, we get path names containing '//' which is both ugly and
diff --git a/package/python3/python3-3.3-002-no-host-headers-libs.patch b/package/python3/python3-3.3-002-no-host-headers-libs.patch
new file mode 100644
index 0000000..9783f28
--- /dev/null
+++ b/package/python3/python3-3.3-002-no-host-headers-libs.patch
@@ -0,0 +1,72 @@
+Do not look at host headers/libraries in cross-compile mode
+
+When we are cross-compiling, setup.py should never look in /usr or
+/usr/local to find headers or libraries. A later patch adds a
+mechanism to tell setup.py to look in a specific directory for headers
+and libraries.
+
+Patch first written by Thomas Petazzoni
+<thomas.petazzoni@free-electrons.com> for python2.7, and then ported
+to python3.3 by Maxime Ripard <maxime.ripard@free-electrons.com>
+
+Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
+---
+ setup.py |   23 +++++------------------
+ 1 file changed, 5 insertions(+), 18 deletions(-)
+
+Index: Python-3.3.0/setup.py
+===================================================================
+--- Python-3.3.0.orig/setup.py
++++ Python-3.3.0/setup.py
+@@ -447,10 +447,8 @@
+         if not cross_compiling:
+             add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
+             add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
+-        # only change this for cross builds for 3.3, issues on Mageia
+-        if cross_compiling:
+             self.add_gcc_paths()
+-        self.add_multiarch_paths()
++            self.add_multiarch_paths()
+ 
+         # Add paths specified in the environment variables LDFLAGS and
+         # CPPFLAGS for header and library files.
+@@ -458,10 +456,7 @@
+         # directly since an inconsistently reproducible issue comes up where
+         # the environment variable is not set even though the value were passed
+         # into configure and stored in the Makefile (issue found on OS X 10.3).
+-        for env_var, arg_name, dir_list in (
+-                ('LDFLAGS', '-R', self.compiler.runtime_library_dirs),
+-                ('LDFLAGS', '-L', self.compiler.library_dirs),
+-                ('CPPFLAGS', '-I', self.compiler.include_dirs)):
++        for env_var, arg_name, dir_list in ():
+             env_val = sysconfig.get_config_var(env_var)
+             if env_val:
+                 # To prevent optparse from raising an exception about any
+@@ -486,17 +481,6 @@
+                     for directory in reversed(options.dirs):
+                         add_dir_to_list(dir_list, directory)
+ 
+-        if os.path.normpath(sys.base_prefix) != '/usr' \
+-                and not sysconfig.get_config_var('PYTHONFRAMEWORK'):
+-            # OSX note: Don't add LIBDIR and INCLUDEDIR to building a framework
+-            # (PYTHONFRAMEWORK is set) to avoid # linking problems when
+-            # building a framework with different architectures than
+-            # the one that is currently installed (issue #7473)
+-            add_dir_to_list(self.compiler.library_dirs,
+-                            sysconfig.get_config_var("LIBDIR"))
+-            add_dir_to_list(self.compiler.include_dirs,
+-                            sysconfig.get_config_var("INCLUDEDIR"))
+-
+         # lib_dirs and inc_dirs are used to search for files;
+         # if a file is found in one of those directories, it can
+         # be assumed that no additional -I,-L directives are needed.
+@@ -506,6 +490,9 @@
+                 '/lib', '/usr/lib',
+                 ]
+             inc_dirs = self.compiler.include_dirs + ['/usr/include']
++        else:
++            lib_dirs = self.compiler.library_dirs
++            inc_dirs = self.compiler.include_dirs
+         exts = []
+         missing = []
+ 
diff --git a/package/python3/python3-3.3-003-staging-header-libs.patch b/package/python3/python3-3.3-003-staging-header-libs.patch
new file mode 100644
index 0000000..b0efe29
--- /dev/null
+++ b/package/python3/python3-3.3-003-staging-header-libs.patch
@@ -0,0 +1,41 @@
+Tell setup.py the location of headers/libraries
+
+Allow the libraries detection routine to look for headers and libs in
+other directories than /usr/include or /usr/lib through the
+environment variables PYTHON_MODULES_INCLUDE and PYTHON_MODULES_LIB.
+
+We can then use it to look for libraries in the buildroot staging
+directory.
+
+Ported to python3.3 by Maxime Ripard <maxime.ripard@free-electrons.com> based
+on the work by Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
+---
+ setup.py |   13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+Index: Python-3.3.0/setup.py
+===================================================================
+--- Python-3.3.0.orig/setup.py
++++ Python-3.3.0/setup.py
+@@ -441,6 +441,19 @@
+             os.unlink(tmpfile)
+ 
+     def detect_modules(self):
++        try:
++            modules_include_dirs = os.environ["PYTHON_MODULES_INCLUDE"].split()
++        except KeyError:
++            modules_include_dirs = ['/usr/include']
++        try:
++            modules_lib_dirs = os.environ["PYTHON_MODULES_LIB"].split()
++        except KeyError:
++            modules_lib_dirs = ['/usr/lib']
++        for dir in modules_include_dirs:
++            add_dir_to_list(self.compiler.include_dirs, dir)
++        for dir in modules_lib_dirs:
++            add_dir_to_list(self.compiler.library_dirs, dir)
++
+         # Ensure that /usr/local is always used, but the local build
+         # directories (i.e. '.' and 'Include') must be first.  See issue
+         # 10520.
diff --git a/package/python3/python3-3.3-004-no-import-when-cross-compiling.patch b/package/python3/python3-3.3-004-no-import-when-cross-compiling.patch
new file mode 100644
index 0000000..cd5a437
--- /dev/null
+++ b/package/python3/python3-3.3-004-no-import-when-cross-compiling.patch
@@ -0,0 +1,27 @@
+Disable import check when cross-compiling
+
+Once Python has compiled an extension (i.e some C code, potentially
+linked to a library), it tries to import it. This cannot work in
+cross-compilation mode, so we just disable this check.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
+---
+ setup.py |    4 ++++
+ 1 file changed, 4 insertions(+)
+
+Index: Python-3.3.0/setup.py
+===================================================================
+--- Python-3.3.0.orig/setup.py
++++ Python-3.3.0/setup.py
+@@ -318,6 +318,10 @@
+             self.announce('WARNING: skipping import check for Cygwin-based "%s"'
+                 % ext.name)
+             return
++        if os.environ.get('CROSS_COMPILING') == 'yes':
++            self.announce('WARNING: skipping import check for cross compiled "%s"'
++                          % ext.name)
++            return
+         ext_filename = os.path.join(
+             self.build_lib,
+             self.get_ext_filename(self.get_ext_fullname(ext.name)))
diff --git a/package/python3/python3-3.3-005-do-not-generate-pyo-files.patch b/package/python3/python3-3.3-005-do-not-generate-pyo-files.patch
new file mode 100644
index 0000000..983d546
--- /dev/null
+++ b/package/python3/python3-3.3-005-do-not-generate-pyo-files.patch
@@ -0,0 +1,40 @@
+Do not generate .pyo files
+
+By default, the Python installation byte-compiles all modules in two
+forms: the normal bytecode (.pyc) and an optimized bytecode (.pyo).
+
+According to
+http://www.network-theory.co.uk/docs/pytut/CompiledPythonfiles.html,
+the optimization do not do anything useful, and generating both the
+"non-optimized" and "optimized" bytecode variants takes time.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ Makefile.pre.in |    9 ---------
+ 1 file changed, 9 deletions(-)
+
+Index: Python-3.3.0/Makefile.pre.in
+===================================================================
+--- Python-3.3.0.orig/Makefile.pre.in
++++ Python-3.3.0/Makefile.pre.in
+@@ -1082,20 +1082,11 @@
+ 		-d $(LIBDEST) -f \
+ 		-x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
+ 		$(DESTDIR)$(LIBDEST)
+-	-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+-		$(PYTHON_FOR_BUILD) -Wi -O $(DESTDIR)$(LIBDEST)/compileall.py \
+-		-d $(LIBDEST) -f \
+-		-x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
+-		$(DESTDIR)$(LIBDEST)
+ 	-PYTHONPATH=$(DESTDIR)$(LIBDEST)  $(RUNSHARED) \
+ 		$(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \
+ 		-d $(LIBDEST)/site-packages -f \
+ 		-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
+ 	-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+-		$(PYTHON_FOR_BUILD) -Wi -O $(DESTDIR)$(LIBDEST)/compileall.py \
+-		-d $(LIBDEST)/site-packages -f \
+-		-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
+-	-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+ 		$(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt
+ 	-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+ 		$(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/PatternGrammar.txt
diff --git a/package/python3/python3-3.3-006-reread-environment.patch b/package/python3/python3-3.3-006-reread-environment.patch
new file mode 100644
index 0000000..752b15a
--- /dev/null
+++ b/package/python3/python3-3.3-006-reread-environment.patch
@@ -0,0 +1,63 @@
+Make sure setup.py reads the correct CONFIG_ARGS
+
+The setup.py script that builds and installs all the Python modules
+shipped with the interpreter looks at the CONFIG_ARGS variable stored
+in the "sysconfig" module to look at the ./configure options and
+adjust its behaviour accordingly.
+
+Unfortunately, when cross-compiling, the value of CONFIG_ARGS returned
+by the sysconfig are the one passed to the ./configure script of the
+*host* Python and not the one we're currently building for the target.
+
+In order to avoid that, we re-initialize the values in the sysconfig
+module by re-reading the environment at the beginning of the setup.py
+script, and we make sure that the CONFIG_ARGS variable is actually
+part of the environment of setup.py.
+
+See the beginning of
+http://article.gmane.org/gmane.comp.python.devel/99772 for the
+inspiration.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+---
+ Makefile.pre.in |    4 +++-
+ setup.py        |    3 +++
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+Index: Python-3.3.0/setup.py
+===================================================================
+--- Python-3.3.0.orig/setup.py
++++ Python-3.3.0/setup.py
+@@ -30,6 +30,9 @@
+ # Were we compiled --with-pydebug or with #define Py_DEBUG?
+ COMPILED_WITH_PYDEBUG = ('--with-pydebug' in sysconfig.get_config_var("CONFIG_ARGS"))
+ 
++sysconfig.get_config_vars()
++sysconfig._CONFIG_VARS.update(os.environ)
++
+ # This global variable is used to hold the list of modules to be disabled.
+ disabled_module_list = []
+ 
+Index: Python-3.3.0/Makefile.pre.in
+===================================================================
+--- Python-3.3.0.orig/Makefile.pre.in
++++ Python-3.3.0/Makefile.pre.in
+@@ -478,6 +478,7 @@
+ sharedmods: $(BUILDPYTHON) pybuilddir.txt
+ 	case $$MAKEFLAGS in *s*) quiet=-q; esac; \
+ 	$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
++		CONFIG_ARGS="$(CONFIG_ARGS)" \
+ 		$(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
+ 
+ # Build static library
+@@ -1183,7 +1184,8 @@
+ # Install the dynamically loadable modules
+ # This goes into $(exec_prefix)
+ sharedinstall: sharedmods
+-	$(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
++	$(RUNSHARED) CONFIG_ARGS="$(CONFIG_ARGS)" \
++		$(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
+ 	   	--prefix=$(prefix) \
+ 		--install-scripts=$(BINDIR) \
+ 		--install-platlib=$(DESTSHARED) \
diff --git a/package/python3/python3-3.3-007-change-pyconfig-h-location.patch b/package/python3/python3-3.3-007-change-pyconfig-h-location.patch
new file mode 100644
index 0000000..8d45dae
--- /dev/null
+++ b/package/python3/python3-3.3-007-change-pyconfig-h-location.patch
@@ -0,0 +1,76 @@
+Change the location of pyconfig.h
+
+The Python interpreter has a really strange behaviour: at *runtime*,
+it reads a Makefile and a header file named pyconfig.h to get some
+information about the configuration.
+
+The Makefile is located in usr/lib/python3.3/config-3.3m, which is fine
+since this location is kept on the target.
+
+However, by default, the pyconfig.h is installed in
+usr/include/python3.3m, but we completely remove the usr/include
+directory for the target. Since making an exception just for
+pyconfig.h is annoying, this patch also installs pyconfig.h to
+usr/lib/python3.3/config-3.3m, and modifies the sysconfig module so that it
+looks in this location instead of usr/include.
+
+The pyconfig.h is still kept in usr/include/python3.3m, because it is
+needed in the $(STAGING_DIR) when building third-party Python
+extensions that contain C code.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+---
+ Lib/distutils/sysconfig.py |    3 ++-
+ Lib/sysconfig.py           |    2 +-
+ Makefile.pre.in            |    3 ++-
+ 3 files changed, 5 insertions(+), 3 deletions(-)
+
+Index: Python-3.3.0/Lib/distutils/sysconfig.py
+===================================================================
+--- Python-3.3.0.orig/Lib/distutils/sysconfig.py
++++ Python-3.3.0/Lib/distutils/sysconfig.py
+@@ -239,7 +239,8 @@
+         else:
+             inc_dir = _sys_home or project_base
+     else:
+-        inc_dir = get_python_inc(plat_specific=1)
++        lib_dir = get_python_lib(plat_specific=1, standard_lib=1)
++        inc_dir = os.path.join(lib_dir, "config")
+     if get_python_version() < '2.2':
+         config_h = 'config.h'
+     else:
+Index: Python-3.3.0/Lib/sysconfig.py
+===================================================================
+--- Python-3.3.0.orig/Lib/sysconfig.py
++++ Python-3.3.0/Lib/sysconfig.py
+@@ -467,7 +467,7 @@
+         else:
+             inc_dir = _sys_home or _PROJECT_BASE
+     else:
+-        inc_dir = get_path('platinclude')
++        inc_dir = os.path.join(get_path('stdlib'), "config")
+     return os.path.join(inc_dir, 'pyconfig.h')
+ 
+ 
+Index: Python-3.3.0/Makefile.pre.in
+===================================================================
+--- Python-3.3.0.orig/Makefile.pre.in
++++ Python-3.3.0/Makefile.pre.in
+@@ -1123,7 +1123,6 @@
+ 		echo $(INSTALL_DATA) $$i $(INCLUDEPY); \
+ 		$(INSTALL_DATA) $$i $(DESTDIR)$(INCLUDEPY); \
+ 	done
+-	$(INSTALL_DATA) pyconfig.h $(DESTDIR)$(CONFINCLUDEPY)/pyconfig.h
+ 
+ # Install the library and miscellaneous stuff needed for extending/embedding
+ # This goes into $(exec_prefix)
+@@ -1157,6 +1156,8 @@
+ 	$(INSTALL_DATA) Modules/python.o $(DESTDIR)$(LIBPL)/python.o
+ 	$(INSTALL_DATA) $(srcdir)/Modules/config.c.in $(DESTDIR)$(LIBPL)/config.c.in
+ 	$(INSTALL_DATA) Makefile $(DESTDIR)$(LIBPL)/Makefile
++	$(INSTALL_DATA) pyconfig.h $(DESTDIR)$(LIBPL)/pyconfig.h
++	$(INSTALL_DATA) pyconfig.h $(DESTDIR)$(CONFINCLUDEPY)/pyconfig.h
+ 	$(INSTALL_DATA) Modules/Setup $(DESTDIR)$(LIBPL)/Setup
+ 	$(INSTALL_DATA) Modules/Setup.local $(DESTDIR)$(LIBPL)/Setup.local
+ 	$(INSTALL_DATA) Modules/Setup.config $(DESTDIR)$(LIBPL)/Setup.config
diff --git a/package/python3/python3-3.3-008-no-rpath.patch b/package/python3/python3-3.3-008-no-rpath.patch
new file mode 100644
index 0000000..cdeec22
--- /dev/null
+++ b/package/python3/python3-3.3-008-no-rpath.patch
@@ -0,0 +1,51 @@
+Remove runtime library paths
+
+For some extensions (sqlite and dbm), Python setup.py script
+hardcode a runtime path (rpath) into the extension. However, this
+runtime path is incorrect (because it points to the location of the
+library directory on the development machine) and useless (because on
+the target, all useful libraries are in a standard directory searched
+by the dynamic loader). For those reasons, we just get rid of the
+runtime paths in cross-compilation mode.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ setup.py |   12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+Index: Python-3.3.0/setup.py
+===================================================================
+--- Python-3.3.0.orig/setup.py
++++ Python-3.3.0/setup.py
+@@ -1134,11 +1134,15 @@
+             # can end up with a bad search path order.
+             if sqlite_incdir not in self.compiler.include_dirs:
+                 include_dirs.append(sqlite_incdir)
++            if cross_compiling:
++                sqlite_runtime_libdir = None
++            else:
++                sqlite_runtime_libdir = sqlite_libdir
+             exts.append(Extension('_sqlite3', sqlite_srcs,
+                                   define_macros=sqlite_defines,
+                                   include_dirs=include_dirs,
+                                   library_dirs=sqlite_libdir,
+-                                  runtime_library_dirs=sqlite_libdir,
++                                  runtime_library_dirs=sqlite_runtime_libdir,
+                                   extra_link_args=sqlite_extra_link_args,
+                                   libraries=["sqlite3",]))
+         else:
+@@ -1205,9 +1209,13 @@
+                 elif cand == "bdb":
+                     if db_incs is not None:
+                         if dbm_setup_debug: print("building dbm using bdb")
++                        if cross_compiling:
++                            dblib_runtime_libdir = None
++                        else:
++                            dblib_runtime_libdir = dblib_dir
+                         dbmext = Extension('_dbm', ['_dbmmodule.c'],
+                                            library_dirs=dblib_dir,
+-                                           runtime_library_dirs=dblib_dir,
++                                           runtime_library_dirs=dblib_runtime_libdir,
+                                            include_dirs=db_incs,
+                                            define_macros=[
+                                                ('HAVE_BERKDB_H', None),
diff --git a/package/python3/python3-3.3-009-verbose-module-build.patch b/package/python3/python3-3.3-009-verbose-module-build.patch
new file mode 100644
index 0000000..60b6d79
--- /dev/null
+++ b/package/python3/python3-3.3-009-verbose-module-build.patch
@@ -0,0 +1,26 @@
+Enables verbose output when building modules
+
+Patch borrowed from OpenBricks.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+---
+ Makefile.pre.in |    3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+Index: Python-3.3.0/Makefile.pre.in
+===================================================================
+--- Python-3.3.0.orig/Makefile.pre.in
++++ Python-3.3.0/Makefile.pre.in
+@@ -476,10 +476,9 @@
+ 
+ # Build the shared modules
+ sharedmods: $(BUILDPYTHON) pybuilddir.txt
+-	case $$MAKEFLAGS in *s*) quiet=-q; esac; \
+ 	$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
+ 		CONFIG_ARGS="$(CONFIG_ARGS)" \
+-		$(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
++		$(PYTHON_FOR_BUILD) $(srcdir)/setup.py build
+ 
+ # Build static library
+ # avoid long command lines, same as LIBRARY_OBJS
diff --git a/package/python3/python3-3.3-010-distutils-cross-compilation-support.patch b/package/python3/python3-3.3-010-distutils-cross-compilation-support.patch
new file mode 100644
index 0000000..0a51400
--- /dev/null
+++ b/package/python3/python3-3.3-010-distutils-cross-compilation-support.patch
@@ -0,0 +1,71 @@
+Add some cross-compilation fixes to distutils
+
+Inspired by work done by Marc Kleine-Budde <mkl@pengutronix.de> in
+PTXdist.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ Lib/distutils/sysconfig.py |   17 +++++++++++++----
+ configure.ac               |    8 +++++++-
+ 2 files changed, 20 insertions(+), 5 deletions(-)
+
+Index: Python-3.3.0/Lib/distutils/sysconfig.py
+===================================================================
+--- Python-3.3.0.orig/Lib/distutils/sysconfig.py
++++ Python-3.3.0/Lib/distutils/sysconfig.py
+@@ -16,15 +16,24 @@
+ from .errors import DistutilsPlatformError
+ 
+ # These are needed in a couple of spots, so just compute them once.
+-PREFIX = os.path.normpath(sys.prefix)
+-EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
++EXECUTABLE_DIRNAME = os.path.dirname(os.path.realpath(sys.executable))
++if os.environ.get('CROSS_COMPILING') == 'yes':
++    _sysroot=os.environ.get('_python_sysroot')
++    PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_prefix'))
++    EXEC_PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_exec_prefix'))
++    if '_python_srcdir' in os.environ:
++        EXECUTABLE_DIRNAME = os.path.normpath(os.environ['_python_srcdir'])
++else:
++    PREFIX = os.path.normpath(sys.prefix)
++    EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
++
+ BASE_PREFIX = os.path.normpath(sys.base_prefix)
+ BASE_EXEC_PREFIX = os.path.normpath(sys.base_exec_prefix)
+ 
+ # Path to the base directory of the project. On Windows the binary may
+ # live in project/PCBuild9.  If we're dealing with an x64 Windows build,
+ # it'll live in project/PCbuild/amd64.
+-project_base = os.path.dirname(os.path.abspath(sys.executable))
++project_base = EXECUTABLE_DIRNAME
+ if os.name == "nt" and "pcbuild" in project_base[-8:].lower():
+     project_base = os.path.abspath(os.path.join(project_base, os.path.pardir))
+ # PC/VS7.1
+@@ -98,7 +107,7 @@
+             # the build directory may not be the source directory, we
+             # must use "srcdir" from the makefile to find the "Include"
+             # directory.
+-            base = _sys_home or os.path.dirname(os.path.abspath(sys.executable))
++            base = _sys_home or EXECUTABLE_DIRNAME
+             if plat_specific:
+                 return base
+             if _sys_home:
+Index: Python-3.3.0/configure.ac
+===================================================================
+--- Python-3.3.0.orig/configure.ac
++++ Python-3.3.0/configure.ac
+@@ -963,7 +963,13 @@
+ fi
+ 
+ if test "$cross_compiling" = yes; then
+-	RUNSHARED=
++	RUNSHARED=" \
++		CROSS_COMPILING=yes \
++		_python_cross_host=${ac_cv_host} \
++		_python_sysroot=\"\$(sysroot)\" \
++		_python_srcdir=\"\$(srcdir)\" \
++		_python_prefix=\"\$(prefix)\" \
++		_python_exec_prefix=\"\$(exec_prefix)\""
+ fi
+ 
+ AC_MSG_RESULT($LDLIBRARY)
diff --git a/package/python3/python3-3.3-011-cross-compile-getaddrinfo.patch b/package/python3/python3-3.3-011-cross-compile-getaddrinfo.patch
new file mode 100644
index 0000000..33286ce
--- /dev/null
+++ b/package/python3/python3-3.3-011-cross-compile-getaddrinfo.patch
@@ -0,0 +1,21 @@
+Disable buggy_getaddrinfo configure test when cross-compiling with IPv6 support
+
+Signed-off-by: Vanya Sergeev <vsergeev@gmail.com>
+
+---
+ configure.ac |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: Python-3.3.0/configure.ac
+===================================================================
+--- Python-3.3.0.orig/configure.ac
++++ Python-3.3.0/configure.ac
+@@ -3204,7 +3204,7 @@
+ 
+ AC_MSG_RESULT($ac_cv_buggy_getaddrinfo)
+ 
+-if test $have_getaddrinfo = no || test "$ac_cv_buggy_getaddrinfo" = yes
++if test $have_getaddrinfo = no || test "$cross_compiling" != "yes" -a "$ac_cv_buggy_getaddrinfo" = yes
+ then
+ 	if test $ipv6 = yes
+ 	then
diff --git a/package/python3/python3.mk b/package/python3/python3.mk
new file mode 100644
index 0000000..7d53315
--- /dev/null
+++ b/package/python3/python3.mk
@@ -0,0 +1,152 @@
+#############################################################
+#
+# python3
+#
+#############################################################
+PYTHON3_VERSION_MAJOR = 3.3
+PYTHON3_VERSION       = $(PYTHON3_VERSION_MAJOR).0
+PYTHON3_SOURCE        = Python-$(PYTHON3_VERSION).tar.bz2
+PYTHON3_SITE          = http://python.org/ftp/python/$(PYTHON3_VERSION)
+
+# Python needs itself and a "pgen" program to build itself, both being
+# provided in the Python sources. So in order to cross-compile Python,
+# we need to build a host Python first. This host Python is also
+# installed in $(HOST_DIR), as it is needed when cross-compiling
+# third-party Python modules.
+
+HOST_PYTHON3_CONF_OPT += 	\
+	--without-cxx-main 	\
+	--disable-sqlite3	\
+	--disable-tk		\
+	--with-expat=system	\
+	--disable-curses	\
+	--disable-codecs-cjk	\
+	--disable-nis		\
+	--disable-unicodedata	\
+	--disable-dbm		\
+	--disable-gdbm		\
+	--disable-bsddb		\
+	--disable-test-modules	\
+	--disable-bz2		\
+	--disable-ssl
+
+HOST_PYTHON3_MAKE_ENV = \
+	PYTHON_MODULES_INCLUDE=$(HOST_DIR)/usr/include \
+	PYTHON_MODULES_LIB="$(HOST_DIR)/lib $(HOST_DIR)/usr/lib"
+
+HOST_PYTHON3_AUTORECONF = YES
+
+define HOST_PYTHON3_CONFIGURE_CMDS
+	(cd $(@D) && rm -rf config.cache; \
+	        $(HOST_CONFIGURE_OPTS) \
+		CFLAGS="$(HOST_CFLAGS)" \
+		LDFLAGS="$(HOST_LDFLAGS)" \
+                $(HOST_PYTHON3_CONF_ENV) \
+		./configure \
+		--prefix="$(HOST_DIR)/usr" \
+		--sysconfdir="$(HOST_DIR)/etc" \
+		$(HOST_PYTHON3_CONF_OPT) \
+	)
+endef
+
+PYTHON3_DEPENDENCIES  = host-python3 libffi
+
+HOST_PYTHON3_DEPENDENCIES = host-expat host-zlib
+
+PYTHON3_INSTALL_STAGING = YES
+
+ifeq ($(BR2_PACKAGE_PYTHON3_READLINE),y)
+PYTHON3_DEPENDENCIES += readline
+endif
+
+ifeq ($(BR2_PACKAGE_PYTHON3_CURSES),y)
+PYTHON3_DEPENDENCIES += ncurses
+endif
+
+ifeq ($(BR2_PACKAGE_PYTHON3_PYEXPAT),y)
+PYTHON3_DEPENDENCIES += expat
+PYTHON3_CONF_OPT += --with-expat=system
+else
+PYTHON3_CONF_OPT += --with-expat=none
+endif
+
+ifeq ($(BR2_PACKAGE_PYTHON3_SQLITE),y)
+PYTHON3_DEPENDENCIES += sqlite
+endif
+
+ifeq ($(BR2_PACKAGE_PYTHON3_SSL),y)
+PYTHON_DEPENDENCIES += openssl
+endif
+
+ifeq ($(BR2_PACKAGE_PYTHON3_BZIP2),y)
+PYTHON_DEPENDENCIES += bzip2
+endif
+
+ifeq ($(BR2_PACKAGE_PYTHON3_ZLIB),y)
+PYTHON3_DEPENDENCIES += zlib
+endif
+
+PYTHON3_CONF_ENV += \
+	_PROJECT_BASE=$(PYTHON3_DIR) \
+	_PYTHON_HOST_PLATFORM=$(BR2_HOSTARCH) \
+	PYTHON_FOR_BUILD=$(HOST_PYTHON3_DIR)/python \
+	PGEN_FOR_BUILD=$(HOST_PYTHON3_DIR)/Parser/pgen \
+	ac_cv_have_long_long_format=yes \
+	ac_cv_file__dev_ptmx=yes \
+	ac_cv_file__dev_ptc=yes \
+
+PYTHON3_CONF_OPT += \
+	--without-cxx-main 	\
+	--with-system-ffi	\
+	--disable-pydoc		\
+	--disable-test-modules	\
+	--disable-lib2to3	\
+	--disable-gdbm		\
+	--disable-tk		\
+	--disable-nis		\
+	--disable-dbm
+
+PYTHON3_MAKE_ENV = \
+	_PROJECT_BASE=$(PYTHON3_DIR) \
+	_PYTHON_HOST_PLATFORM=$(BR2_HOSTARCH) \
+	PYTHON_MODULES_INCLUDE=$(STAGING_DIR)/usr/include \
+	PYTHON_MODULES_LIB="$(STAGING_DIR)/lib $(STAGING_DIR)/usr/lib"
+
+# python distutils adds -L$LIBDIR when linking binary extensions, causing
+# trouble for cross compilation
+define PYTHON3_FIXUP_LIBDIR
+	$(SED) 's|^LIBDIR=.*|LIBDIR= $(STAGING_DIR)/usr/lib|' \
+	   $(STAGING_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/config-3.3m/Makefile
+endef
+
+PYTHON3_POST_INSTALL_STAGING_HOOKS += PYTHON3_FIXUP_LIBDIR
+
+#
+# Development files removal
+#
+define PYTHON3_REMOVE_DEVFILES
+	rm -f $(TARGET_DIR)/usr/bin/python$(PYTHON3_VERSION_MAJOR)-config
+	rm -f $(TARGET_DIR)/usr/bin/python-config
+endef
+
+ifneq ($(BR2_HAVE_DEVFILES),y)
+PYTHON3_POST_INSTALL_TARGET_HOOKS += PYTHON3_REMOVE_DEVFILES
+endif
+
+#
+# Remove useless files. In the config/ directory, only the Makefile
+# and the pyconfig.h files are needed at runtime.
+#
+define PYTHON3_REMOVE_USELESS_FILES
+	for i in `find $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/config-3.3m/ \
+		-type f -not -name pyconfig.h -a -not -name Makefile` ; do \
+		rm -f $$i ; \
+	done
+endef
+
+PYTHON3_POST_INSTALL_TARGET_HOOKS += PYTHON3_REMOVE_USELESS_FILES
+
+PYTHON3_AUTORECONF = YES
+
+$(eval $(autotools-package))
+$(eval $(host-autotools-package))
-- 
1.7.9.5

^ permalink raw reply related

* [Buildroot] [PATCH 1/2] Give the path to the realdelf binary the the packages
From: Maxime Ripard @ 2012-11-07 15:01 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <1352300481-825-1-git-send-email-maxime.ripard@free-electrons.com>

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
---
 package/Makefile.in |    2 ++
 1 file changed, 2 insertions(+)

diff --git a/package/Makefile.in b/package/Makefile.in
index a939882..9fdc745 100644
--- a/package/Makefile.in
+++ b/package/Makefile.in
@@ -113,6 +113,7 @@ TARGET_FC       = $(TARGET_CROSS)gfortran
 TARGET_LD       = $(TARGET_CROSS)ld
 TARGET_NM       = $(TARGET_CROSS)nm
 TARGET_RANLIB   = $(TARGET_CROSS)ranlib
+TARGET_READELF  = $(TARGET_CROSS)readelf
 TARGET_OBJCOPY  = $(TARGET_CROSS)objcopy
 TARGET_OBJDUMP  = $(TARGET_CROSS)objdump
 
@@ -170,6 +171,7 @@ TARGET_CONFIGURE_OPTS=PATH=$(TARGET_PATH) \
 		CXX="$(TARGET_CXX)" \
 		FC="$(TARGET_FC)" \
 		RANLIB="$(TARGET_RANLIB)" \
+		READELF="$(TARGET_READELF)" \
 		STRIP="$(TARGET_STRIP)" \
 		OBJCOPY="$(TARGET_OBJCOPY)" \
 		OBJDUMP="$(TARGET_OBJDUMP)" \
-- 
1.7.9.5

^ permalink raw reply related

* [Buildroot] [PATCH 0/2] Add python3 support
From: Maxime Ripard @ 2012-11-07 15:01 UTC (permalink / raw)
  To: buildroot

Hi everyone,

After some hard work during the Buildroot dev days, here is the first attempt
at adding the python3 package to buildroot.

The patchset is actually smaller than for python2.7, even though we still carry
most of the patches, for several reasons:
  - you can now pass a path to an external python interpreter directly using
    the PYTHON_FOR_BUILD variable
  - The building of the modules will detect if the headers and libs for a given
    library are present so that it will build even if the libraries are missing

Maxime

Maxime Ripard (2):
  Give the path to the realdelf binary the the packages
  Add python3 package

 package/Config.in                                  |    1 +
 package/Makefile.in                                |    2 +
 package/python3/Config.in                          |   81 ++++++++++
 ...n3-3.3-000-generate-sysconfigdata-buildir.patch |  158 ++++++++++++++++++++
 .../python3-3.3-001-support-for-build.patch        |   68 +++++++++
 .../python3-3.3-002-no-host-headers-libs.patch     |   72 +++++++++
 .../python3-3.3-003-staging-header-libs.patch      |   41 +++++
 ...n3-3.3-004-no-import-when-cross-compiling.patch |   27 ++++
 ...python3-3.3-005-do-not-generate-pyo-files.patch |   40 +++++
 .../python3-3.3-006-reread-environment.patch       |   63 ++++++++
 ...ython3-3.3-007-change-pyconfig-h-location.patch |   76 ++++++++++
 package/python3/python3-3.3-008-no-rpath.patch     |   51 +++++++
 .../python3-3.3-009-verbose-module-build.patch     |   26 ++++
 ...3-010-distutils-cross-compilation-support.patch |   71 +++++++++
 ...python3-3.3-011-cross-compile-getaddrinfo.patch |   21 +++
 package/python3/python3.mk                         |  152 +++++++++++++++++++
 16 files changed, 950 insertions(+)
 create mode 100644 package/python3/Config.in
 create mode 100644 package/python3/python3-3.3-000-generate-sysconfigdata-buildir.patch
 create mode 100644 package/python3/python3-3.3-001-support-for-build.patch
 create mode 100644 package/python3/python3-3.3-002-no-host-headers-libs.patch
 create mode 100644 package/python3/python3-3.3-003-staging-header-libs.patch
 create mode 100644 package/python3/python3-3.3-004-no-import-when-cross-compiling.patch
 create mode 100644 package/python3/python3-3.3-005-do-not-generate-pyo-files.patch
 create mode 100644 package/python3/python3-3.3-006-reread-environment.patch
 create mode 100644 package/python3/python3-3.3-007-change-pyconfig-h-location.patch
 create mode 100644 package/python3/python3-3.3-008-no-rpath.patch
 create mode 100644 package/python3/python3-3.3-009-verbose-module-build.patch
 create mode 100644 package/python3/python3-3.3-010-distutils-cross-compilation-support.patch
 create mode 100644 package/python3/python3-3.3-011-cross-compile-getaddrinfo.patch
 create mode 100644 package/python3/python3.mk

-- 
1.7.9.5

^ permalink raw reply

* [Buildroot] how does udhcpc print messages to console
From: Jürgen Benjamin Ronshausen @ 2012-11-07 13:54 UTC (permalink / raw)
  To: buildroot

solution found

fflush(stdout);

^ permalink raw reply

* [Buildroot] basic Qt questions
From: Zoltan Gyarmati @ 2012-11-07 13:31 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <1352292973.99906.YahooMailNeo@web164602.mail.gq1.yahoo.com>

Hi Zoran,

yes, you can use easily the Linux framebuffer, and also there is a
-> Package Selection for the target
? -> Graphic libraries and applications (graphic/text)
? -> Qt (BR2_PACKAGE_QT [=y])
? ->BR2_PACKAGE_QT_DEMOS

what you can select, and xou can test your fb configuration with the 
applications listed in the qt-4.8.3/demos/embedded library in the Qt 
source tree

The color depth could be a pitfall here, you have to check
the color depth according to your framebuffer settings here:

-> Package Selection for the target
? -> Graphic libraries and applications (graphic/text)
? -> Qt (BR2_PACKAGE_QT [=y])
? -> Gui Module (BR2_PACKAGE_QT_GUI_MODULE [=y])
? -> Pixel depths

about the rest of the drivers you can read a summary here: 
http://doc.qt.digia.com/qt/qt-embedded-displaymanagement.html

good luck!
--
Zoltan Gyarmati


On 11/07/2012 01:56 PM, Zoran Djordjevic wrote:
> I've build linux with GTK support and now I want to try Qt.
> I was using TinyX with frame buffer support. So I have directfb
> options selected in "Graphic libraries and application" menu.
> What I am interested about is the opitons
> (meaning + what to choose) regarding Qt->Graphics drivers
> menu (Linux Framebuffer is default choise but what the rest mean).
> Also is there some Qt samples that could be also built - like
> it was the case with GTK samples ?
> Regards
>
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox