diff mbox

Add agg (Anti-Grain Geometry) package

Message ID 1395411147-14354-1-git-send-email-julien.boibessot@free.fr
State Superseded
Headers show

Commit Message

Julien Boibessot March 21, 2014, 2:12 p.m. UTC
From: Julien Boibessot <julien.boibessot@armadeus.com>

This library will be needed by gnash (soon coming Flash player).

Signed-off-by: Julien Boibessot <julien.boibessot@armadeus.com>
---
 package/Config.in     |    1 +
 package/agg/Config.in |   13 +++++++++++++
 package/agg/agg.mk    |   40 ++++++++++++++++++++++++++++++++++++++++
 3 files changed, 54 insertions(+), 0 deletions(-)
 create mode 100644 package/agg/Config.in
 create mode 100644 package/agg/agg.mk

Comments

Arnout Vandecappelle March 25, 2014, 10:37 p.m. UTC | #1
On 21/03/14 15:12, julien.boibessot@free.fr wrote:
> From: Julien Boibessot <julien.boibessot@armadeus.com>
> 
> This library will be needed by gnash (soon coming Flash player).
> 
> Signed-off-by: Julien Boibessot <julien.boibessot@armadeus.com>
> ---
>  package/Config.in     |    1 +
>  package/agg/Config.in |   13 +++++++++++++
>  package/agg/agg.mk    |   40 ++++++++++++++++++++++++++++++++++++++++
>  3 files changed, 54 insertions(+), 0 deletions(-)
>  create mode 100644 package/agg/Config.in
>  create mode 100644 package/agg/agg.mk
> 
> diff --git a/package/Config.in b/package/Config.in
> index 688ed4d..3b34a67 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -556,6 +556,7 @@ source "package/lockdev/Config.in"
>  endmenu
>  
>  menu "Graphics"
> +source "package/agg/Config.in"
>  source "package/atk/Config.in"
>  source "package/cairo/Config.in"
>  source "package/fltk/Config.in"
> diff --git a/package/agg/Config.in b/package/agg/Config.in
> new file mode 100644
> index 0000000..a842098
> --- /dev/null
> +++ b/package/agg/Config.in
> @@ -0,0 +1,13 @@
> +config BR2_PACKAGE_AGG
> +	bool "agg"
> +	depends on BR2_INSTALL_LIBSTDCPP
> +	select BR2_PACKAGE_SDL
> +	help
> +	  The Anti-Grain Geometry project. A High Quality 2D Graphics Rendering
> +	  Engine for C++.
> +	  We select the SDL backend by default.
> +
> +	  http://www.antigrain.com/index.html
> +
> +comment "agg needs a toolchain with C++ support"
> +	depends on !BR2_INSTALL_LIBSTDCPP
> diff --git a/package/agg/agg.mk b/package/agg/agg.mk
> new file mode 100644
> index 0000000..05be931
> --- /dev/null
> +++ b/package/agg/agg.mk
> @@ -0,0 +1,40 @@
> +###############################################################################
> +#
> +# agg
> +#
> +###############################################################################
> +
> +AGG_VERSION = 2.5
> +AGG_SITE = http://www.antigrain.com/
> +AGG_LICENSE = GPLv3+
> +AGG_LICENSE_FILES = COPYING
> +AGG_INSTALL_STAGING = YES
> +AGG_AUTORECONF = YES

 Why is autoreconf needed? You take a release and don't have patches.

> +
> +AGG_DEPENDENCIES = host-pkgconf sdl
> +
> +AGG_CONF_OPT = \
> +        --with-sdl-prefix=$(STAGING_DIR)/usr \

 Is this option really needed? It should be the default location for sdl...

> +        --disable-sdltest
> +
> +ifeq ($(BR2_PACKAGE_SDL_X11),)
> +AGG_CONF_OPT += \
> +	--with-x=NO \
> +	--disable-examples # examples require X11
> +endif
> +
> +ifeq ($(BR2_PACKAGE_FREETYPE),y)
> +AGG_DEPENDENCIES += freetype
> +AGG_CONF_OPT += --enable-freetype
> +else
> +AGG_CONF_OPT += --disable-freetype
> +endif
> +
> +define AGG_CREATE_MISSING_FILES
> +	touch $(@D)/NEWS $(@D)/AUTHORS $(@D)/README
> +# Fixes reconfiguring with recent automake:
> +	$(SED) 's/AM_C_PROTOTYPES//' $(@D)/configure.in
> +endef
> +AGG_POST_EXTRACT_HOOKS += AGG_CREATE_MISSING_FILES

 If you don't autoreconf, this wouldn't be needed, right?

 Regards,
 Arnout

> +
> +$(eval $(autotools-package))
>
Julien Boibessot March 30, 2014, 4:23 p.m. UTC | #2
Hello Arnout,

thanks for the review.

On 03/25/2014 11:37 PM, Arnout Vandecappelle wrote:
> On 21/03/14 15:12, julien.boibessot@free.fr wrote:
>> From: Julien Boibessot <julien.boibessot@armadeus.com>
>>
>> This library will be needed by gnash (soon coming Flash player).
>>
>> Signed-off-by: Julien Boibessot <julien.boibessot@armadeus.com>
>> ---
>>  package/Config.in     |    1 +
>>  package/agg/Config.in |   13 +++++++++++++
>>  package/agg/agg.mk    |   40 ++++++++++++++++++++++++++++++++++++++++
>>  3 files changed, 54 insertions(+), 0 deletions(-)
>>  create mode 100644 package/agg/Config.in
>>  create mode 100644 package/agg/agg.mk
>>
>> diff --git a/package/Config.in b/package/Config.in
>> index 688ed4d..3b34a67 100644
>> --- a/package/Config.in
>> +++ b/package/Config.in
>> @@ -556,6 +556,7 @@ source "package/lockdev/Config.in"
>>  endmenu
>>  
>>  menu "Graphics"
>> +source "package/agg/Config.in"
>>  source "package/atk/Config.in"
>>  source "package/cairo/Config.in"
>>  source "package/fltk/Config.in"
>> diff --git a/package/agg/Config.in b/package/agg/Config.in
>> new file mode 100644
>> index 0000000..a842098
>> --- /dev/null
>> +++ b/package/agg/Config.in
>> @@ -0,0 +1,13 @@
>> +config BR2_PACKAGE_AGG
>> +	bool "agg"
>> +	depends on BR2_INSTALL_LIBSTDCPP
>> +	select BR2_PACKAGE_SDL
>> +	help
>> +	  The Anti-Grain Geometry project. A High Quality 2D Graphics Rendering
>> +	  Engine for C++.
>> +	  We select the SDL backend by default.
>> +
>> +	  http://www.antigrain.com/index.html
>> +
>> +comment "agg needs a toolchain with C++ support"
>> +	depends on !BR2_INSTALL_LIBSTDCPP
>> diff --git a/package/agg/agg.mk b/package/agg/agg.mk
>> new file mode 100644
>> index 0000000..05be931
>> --- /dev/null
>> +++ b/package/agg/agg.mk
>> @@ -0,0 +1,40 @@
>> +###############################################################################
>> +#
>> +# agg
>> +#
>> +###############################################################################
>> +
>> +AGG_VERSION = 2.5
>> +AGG_SITE = http://www.antigrain.com/
>> +AGG_LICENSE = GPLv3+
>> +AGG_LICENSE_FILES = COPYING
>> +AGG_INSTALL_STAGING = YES
>> +AGG_AUTORECONF = YES
>  Why is autoreconf needed? You take a release and don't have patches.

there is no "configure" in sources, so I thought it was the way to
regenerate it.
Another way to do that ?

>
>> +
>> +AGG_DEPENDENCIES = host-pkgconf sdl
>> +
>> +AGG_CONF_OPT = \
>> +        --with-sdl-prefix=$(STAGING_DIR)/usr \
>  Is this option really needed? It should be the default location for sdl...

it seems mandatory, otherwise "configure" takes the Host installed SDL
devt files in /usr/include/SDL/

>
>> +        --disable-sdltest
>> +
>> +ifeq ($(BR2_PACKAGE_SDL_X11),)
>> +AGG_CONF_OPT += \
>> +	--with-x=NO \
>> +	--disable-examples # examples require X11
>> +endif
>> +
>> +ifeq ($(BR2_PACKAGE_FREETYPE),y)
>> +AGG_DEPENDENCIES += freetype
>> +AGG_CONF_OPT += --enable-freetype
>> +else
>> +AGG_CONF_OPT += --disable-freetype
>> +endif
>> +
>> +define AGG_CREATE_MISSING_FILES
>> +	touch $(@D)/NEWS $(@D)/AUTHORS $(@D)/README
>> +# Fixes reconfiguring with recent automake:
>> +	$(SED) 's/AM_C_PROTOTYPES//' $(@D)/configure.in
>> +endef
>> +AGG_POST_EXTRACT_HOOKS += AGG_CREATE_MISSING_FILES
>  If you don't autoreconf, this wouldn't be needed, right?

maybe, but I don't know how to bypass autoreconf :-)
I could call agg's "autogen.sh" but Buildroot AUTORECONF is doing the
same no ?

Regards,
Julien
Yann E. MORIN March 30, 2014, 5:07 p.m. UTC | #3
Julien, All,

On 2014-03-30 18:23 +0200, Julien Boibessot spake thusly:
> On 03/25/2014 11:37 PM, Arnout Vandecappelle wrote:
> > On 21/03/14 15:12, julien.boibessot@free.fr wrote:
> >> From: Julien Boibessot <julien.boibessot@armadeus.com>
> >>
> >> This library will be needed by gnash (soon coming Flash player).
> >>
> >> Signed-off-by: Julien Boibessot <julien.boibessot@armadeus.com>
> >> ---
> >>  package/Config.in     |    1 +
> >>  package/agg/Config.in |   13 +++++++++++++
> >>  package/agg/agg.mk    |   40 ++++++++++++++++++++++++++++++++++++++++
> >>  3 files changed, 54 insertions(+), 0 deletions(-)
> >>  create mode 100644 package/agg/Config.in
> >>  create mode 100644 package/agg/agg.mk
> >>
> >> diff --git a/package/Config.in b/package/Config.in
> >> index 688ed4d..3b34a67 100644
> >> --- a/package/Config.in
> >> +++ b/package/Config.in
> >> @@ -556,6 +556,7 @@ source "package/lockdev/Config.in"
> >>  endmenu
> >>  
> >>  menu "Graphics"
> >> +source "package/agg/Config.in"
> >>  source "package/atk/Config.in"
> >>  source "package/cairo/Config.in"
> >>  source "package/fltk/Config.in"
> >> diff --git a/package/agg/Config.in b/package/agg/Config.in
> >> new file mode 100644
> >> index 0000000..a842098
> >> --- /dev/null
> >> +++ b/package/agg/Config.in
> >> @@ -0,0 +1,13 @@
> >> +config BR2_PACKAGE_AGG
> >> +	bool "agg"
> >> +	depends on BR2_INSTALL_LIBSTDCPP
> >> +	select BR2_PACKAGE_SDL
> >> +	help
> >> +	  The Anti-Grain Geometry project. A High Quality 2D Graphics Rendering
> >> +	  Engine for C++.
> >> +	  We select the SDL backend by default.
> >> +
> >> +	  http://www.antigrain.com/index.html
> >> +
> >> +comment "agg needs a toolchain with C++ support"
> >> +	depends on !BR2_INSTALL_LIBSTDCPP
> >> diff --git a/package/agg/agg.mk b/package/agg/agg.mk
> >> new file mode 100644
> >> index 0000000..05be931
> >> --- /dev/null
> >> +++ b/package/agg/agg.mk
> >> @@ -0,0 +1,40 @@
> >> +###############################################################################
> >> +#
> >> +# agg
> >> +#
> >> +###############################################################################
> >> +
> >> +AGG_VERSION = 2.5
> >> +AGG_SITE = http://www.antigrain.com/
> >> +AGG_LICENSE = GPLv3+
> >> +AGG_LICENSE_FILES = COPYING
> >> +AGG_INSTALL_STAGING = YES
> >> +AGG_AUTORECONF = YES
> >  Why is autoreconf needed? You take a release and don't have patches.
> 
> there is no "configure" in sources, so I thought it was the way to
> regenerate it.
> Another way to do that ?

No, that's the correct way. However, just state so in a comment, like:

    # No ./configure in the sources, we need to generate it:
    AGG_AUTORECONF = YES

> >> +AGG_DEPENDENCIES = host-pkgconf sdl
> >> +
> >> +AGG_CONF_OPT = \
> >> +        --with-sdl-prefix=$(STAGING_DIR)/usr \
> >  Is this option really needed? It should be the default location for sdl...
> 
> it seems mandatory, otherwise "configure" takes the Host installed SDL
> devt files in /usr/include/SDL/

Ditto, say so in a comment just above.

> >> +        --disable-sdltest
> >> +
> >> +ifeq ($(BR2_PACKAGE_SDL_X11),)
> >> +AGG_CONF_OPT += \
> >> +	--with-x=NO \
> >> +	--disable-examples # examples require X11
> >> +endif
> >> +
> >> +ifeq ($(BR2_PACKAGE_FREETYPE),y)
> >> +AGG_DEPENDENCIES += freetype
> >> +AGG_CONF_OPT += --enable-freetype
> >> +else
> >> +AGG_CONF_OPT += --disable-freetype
> >> +endif
> >> +
> >> +define AGG_CREATE_MISSING_FILES
> >> +	touch $(@D)/NEWS $(@D)/AUTHORS $(@D)/README
> >> +# Fixes reconfiguring with recent automake:
> >> +	$(SED) 's/AM_C_PROTOTYPES//' $(@D)/configure.in
> >> +endef
> >> +AGG_POST_EXTRACT_HOOKS += AGG_CREATE_MISSING_FILES
> >  If you don't autoreconf, this wouldn't be needed, right?
> 
> maybe, but I don't know how to bypass autoreconf :-)
> I could call agg's "autogen.sh" but Buildroot AUTORECONF is doing the
> same no ?

In fact, there is a better way yet: add a patch to configure or
Makefile.am that adds the 'foreign' option to automake, which tells
the autotools that those files are not needed. Similar to what is
done for libfcgi (search for 'foreign'):
    package/libfcgi/libfcgi-make-autoreconfable.patch

With foreign, those files are not needed, so you can just use
AGG_AUTORECONF = YES without the need to create the files.

And then, push that patch upstream, if possible. ;-)

Regards,
Yann E. MORIN.
Yann E. MORIN March 30, 2014, 5:21 p.m. UTC | #4
Julien, All,

On 2014-03-21 15:12 +0100, julien.boibessot@free.fr spake thusly:
> From: Julien Boibessot <julien.boibessot@armadeus.com>
[--SNIP--]
> diff --git a/package/agg/agg.mk b/package/agg/agg.mk
> new file mode 100644
> index 0000000..05be931
> --- /dev/null
> +++ b/package/agg/agg.mk
> @@ -0,0 +1,40 @@
> +###############################################################################
> +#
> +# agg
> +#
> +###############################################################################
> +
> +AGG_VERSION = 2.5
> +AGG_SITE = http://www.antigrain.com/
> +AGG_LICENSE = GPLv3+
> +AGG_LICENSE_FILES = COPYING

The file is named 'copying', all in lower-case, and contains the text of
the GPLv2, not the v3.

Besides, all the files I looked at refer to the GPLv2 with the 'or later'
clause.

Some files seem to be MIT-like, eg. gpc/gpc.c

Regards,
Yann E. MORIN.
Thomas Petazzoni April 20, 2014, 9:39 a.m. UTC | #5
Hello,

On Fri, 21 Mar 2014 15:12:27 +0100, julien.boibessot@free.fr wrote:
> From: Julien Boibessot <julien.boibessot@armadeus.com>
> 
> This library will be needed by gnash (soon coming Flash player).
> 
> Signed-off-by: Julien Boibessot <julien.boibessot@armadeus.com>

I wanted to apply this patch, after taking into account the comments of
the reviewers, but the agg web site is down, so I can't fetch the
source code for it.

Can you take care of taking into account the comments of the reviewers?
It would be good if you could resubmit a bit faster when comments are
made, so that we can quickly converge to a patch that can be
integrated, instead of having it sit for weeks in patchwork.

Also, can you change the title of the commit to be "agg: new package",
like we do for all other package additions?

Thanks a lot!

Thomas
Julien Boibessot April 23, 2014, 10:05 a.m. UTC | #6
Hello,

Thomas,

On 04/20/2014 11:39 AM, Thomas Petazzoni wrote:
> Hello,
>
> On Fri, 21 Mar 2014 15:12:27 +0100, julien.boibessot@free.fr wrote:
>> From: Julien Boibessot <julien.boibessot@armadeus.com>
>>
>> This library will be needed by gnash (soon coming Flash player).
>>
>> Signed-off-by: Julien Boibessot <julien.boibessot@armadeus.com>
> I wanted to apply this patch, after taking into account the comments of
> the reviewers, but the agg web site is down, so I can't fetch the
> source code for it.
>
> Can you take care of taking into account the comments of the reviewers?
> It would be good if you could resubmit a bit faster when comments are
> made, so that we can quickly converge to a patch that can be
> integrated, instead of having it sit for weeks in patchwork.
>
> Also, can you change the title of the commit to be "agg: new package",
> like we do for all other package additions?

Sorry, I was on holiday :-)
Will do it ASAP !

Regards,
Julien
diff mbox

Patch

diff --git a/package/Config.in b/package/Config.in
index 688ed4d..3b34a67 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -556,6 +556,7 @@  source "package/lockdev/Config.in"
 endmenu
 
 menu "Graphics"
+source "package/agg/Config.in"
 source "package/atk/Config.in"
 source "package/cairo/Config.in"
 source "package/fltk/Config.in"
diff --git a/package/agg/Config.in b/package/agg/Config.in
new file mode 100644
index 0000000..a842098
--- /dev/null
+++ b/package/agg/Config.in
@@ -0,0 +1,13 @@ 
+config BR2_PACKAGE_AGG
+	bool "agg"
+	depends on BR2_INSTALL_LIBSTDCPP
+	select BR2_PACKAGE_SDL
+	help
+	  The Anti-Grain Geometry project. A High Quality 2D Graphics Rendering
+	  Engine for C++.
+	  We select the SDL backend by default.
+
+	  http://www.antigrain.com/index.html
+
+comment "agg needs a toolchain with C++ support"
+	depends on !BR2_INSTALL_LIBSTDCPP
diff --git a/package/agg/agg.mk b/package/agg/agg.mk
new file mode 100644
index 0000000..05be931
--- /dev/null
+++ b/package/agg/agg.mk
@@ -0,0 +1,40 @@ 
+###############################################################################
+#
+# agg
+#
+###############################################################################
+
+AGG_VERSION = 2.5
+AGG_SITE = http://www.antigrain.com/
+AGG_LICENSE = GPLv3+
+AGG_LICENSE_FILES = COPYING
+AGG_INSTALL_STAGING = YES
+AGG_AUTORECONF = YES
+
+AGG_DEPENDENCIES = host-pkgconf sdl
+
+AGG_CONF_OPT = \
+        --with-sdl-prefix=$(STAGING_DIR)/usr \
+        --disable-sdltest
+
+ifeq ($(BR2_PACKAGE_SDL_X11),)
+AGG_CONF_OPT += \
+	--with-x=NO \
+	--disable-examples # examples require X11
+endif
+
+ifeq ($(BR2_PACKAGE_FREETYPE),y)
+AGG_DEPENDENCIES += freetype
+AGG_CONF_OPT += --enable-freetype
+else
+AGG_CONF_OPT += --disable-freetype
+endif
+
+define AGG_CREATE_MISSING_FILES
+	touch $(@D)/NEWS $(@D)/AUTHORS $(@D)/README
+# Fixes reconfiguring with recent automake:
+	$(SED) 's/AM_C_PROTOTYPES//' $(@D)/configure.in
+endef
+AGG_POST_EXTRACT_HOOKS += AGG_CREATE_MISSING_FILES
+
+$(eval $(autotools-package))