package/giflib: New package
PATCH 1/5 package/giflib: New package
This package will replace libungif.
Needed for Kodi 15.0, TexturePacker depends on giflib >= 5.0.5
https://github.com/xbmc/xbmc/blob/master/tools/depends/native/TexturePacker/src/configure.ac#L29
--- package/Config.in | 1 + package/giflib/Config.in | 8 ++++++++ package/giflib/giflib.hash | 2 ++ package/giflib/giflib.mk | 28 ++++++++++++++++++++++++++++ 4 files changed, 39 insertions(+) create mode 100644 package/giflib/Config.in create mode 100644 package/giflib/giflib.hash create mode 100644 package/giflib/giflib.mk
package/Config.in +1 -0
@@ -664,6 +664,7 @@ menu "Graphics" source "package/gd/Config.in" source "package/gdk-pixbuf/Config.in" source "package/giblib/Config.in" + source "package/giflib/Config.in" source "package/gtk2-engines/Config.in" source "package/gtk2-themes/Config.in" source "package/harfbuzz/Config.in"
package/giflib/Config.in new file +8 -0
@@ -0,0 +1,8 @@ +config BR2_PACKAGE_GIFLIB + bool "giflib" + help + giflib is a library for reading and writing gif images. It is API and + ABI compatible with libungif which was in wide use while the LZW + compression algorithm was patented. + + http://sourceforge.net/projects/giflib
package/giflib/giflib.hash new file +2 -0
@@ -0,0 +1,2 @@ +# From http://sourceforge.net/projects/giflib/files +sha1 e5d716e0ccef671103c38c25693927e413fac639 giflib-5.1.1.tar.bz2
package/giflib/giflib.mk new file +28 -0
@@ -0,0 +1,28 @@ +################################################################################ +# +# giflib +# +################################################################################ + +GIFLIB_VERSION = 5.1.1 +GIFLIB_SOURCE = giflib-$(GIFLIB_VERSION).tar.bz2 +GIFLIB_SITE = http://downloads.sourceforge.net/project/giflib +GIFLIB_INSTALL_STAGING = YES +GIFLIB_LICENSE = MIT +GIFLIB_LICENSE_FILES = COPYING + +GIFLIB_BINS = \ + gif2epsn gif2ps gif2rgb gif2x11 gifasm gifbg gifbuild gifburst gifclip \ + gifclrmp gifcolor gifcomb gifcompose gifecho giffiltr giffix gifflip \ + gifhisto gifinfo gifinter gifinto gifovly gifpos gifrotat \ + gifrsize gifspnge giftext giftool gifwedge icon2gif raw2gif rgb2gif \ + text2gif + +define GIFLIB_BINS_CLEANUP + rm -f $(addprefix $(TARGET_DIR)/usr/bin/,$(GIFLIB_BINS)) +endef + +GIFLIB_POST_INSTALL_TARGET_HOOKS += GIFLIB_BINS_CLEANUP + +$(eval $(autotools-package)) +$(eval $(host-autotools-package))
Signature · 1 line
1.7.10.4
PATCH 2/5 package/fbv: Switch to giflib
--- package/fbv/Config.in | 4 +-- package/fbv/fbv-1.0b-giflib.patch | 69 +++++++++++++++++++++++++++++++++++++ package/fbv/fbv.mk | 10 +++++- 3 files changed, 80 insertions(+), 3 deletions(-) create mode 100644 package/fbv/fbv-1.0b-giflib.patch
package/fbv/Config.in +2 -2
@@ -26,8 +26,8 @@ config BR2_PACKAGE_FBV_JPEG config BR2_PACKAGE_FBV_GIF bool "GIF support" default y - select BR2_PACKAGE_LIBUNGIF + select BR2_PACKAGE_GIFLIB help - Enable support for GIF using libungif. + Enable support for GIF using giflib. endif # BR2_PACKAGE_FBV
package/fbv/fbv-1.0b-giflib.patch new file +69 -0
69 lines not on this page · raw message
package/fbv/fbv.mk +9 -1
@@ -30,7 +30,15 @@ else FBV_CONFIGURE_OPTS += --without-libjpeg endif ifeq ($(BR2_PACKAGE_FBV_GIF),y) -FBV_DEPENDENCIES += libungif +FBV_DEPENDENCIES += giflib +define FBV_CONFIGURE_LIBUNGIF_IS_NOW_GIFLIB + $(SED) 's|-lungif|-lgif|' $(@D)/configure +endef +FBV_PRE_CONFIGURE_HOOKS += FBV_CONFIGURE_LIBUNGIF_IS_NOW_GIFLIB +define FBV_MAKE_LIBUNGIF_IS_NOW_GIFLIB + $(SED) 's|-lungif|-lgif|' $(@D)/Make.conf +endef +FBV_POST_CONFIGURE_HOOKS += FBV_MAKE_LIBUNGIF_IS_NOW_GIFLIB else FBV_CONFIGURE_OPTS += --without-libungif endif
Signature · 1 line
1.7.10.4
PATCH 2/5 package/fbv: Switch to giflib
Quoted 17 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Bernd" == Bernd Kuhls <[email protected]> writes:
Signed-off-by Bernd Kuhls <[email protected]>--- package/fbv/Config.in | 4 +-- package/fbv/fbv-1.0b-giflib.patch | 69 +++++++++++++++++++++++++++++++++++++ package/fbv/fbv.mk | 10 +++++- 3 files changed, 80 insertions(+), 3 deletions(-) create mode 100644 package/fbv/fbv-1.0b-giflib.patchpackage/fbv/fbv.mk +0
-0@@ -30,7 +30,15 @@ else FBV_CONFIGURE_OPTS += --without-libjpeg endif
package/fbv/fbv.mk else · line 40
Quoted 10 lines
package/fbv/fbv.mk +8
-1ifeq ($(BR2_PACKAGE_FBV_GIF),y) -FBV_DEPENDENCIES += libungif +FBV_DEPENDENCIES += giflib +define FBV_CONFIGURE_LIBUNGIF_IS_NOW_GIFLIB + $(SED) 's|-lungif|-lgif|' $(@D)/configure +endef +FBV_PRE_CONFIGURE_HOOKS += FBV_CONFIGURE_LIBUNGIF_IS_NOW_GIFLIB +define FBV_MAKE_LIBUNGIF_IS_NOW_GIFLIB + $(SED) 's|-lungif|-lgif|' $(@D)/Make.conf +endef
Why is it needed to patch Make.conf if you already patch configure (which generates it)?
I would prefer to see the configure changes in the giflib patch instead. How do the archlinux guys handle it?
Signature · 1 line
Bye, Peter Korsgaard
PATCH 2/5 package/fbv: Switch to giflib
Hi,
Peter Korsgaard <[email protected]> wrote in
news:87a914z20n.fsf at dell.be.48ers.dk:
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Bernd" == Bernd Kuhls <bernd.kuhls-
Quoted 11 lines · [email protected]> writes:
package/fbv/fbv.mk else · line 40
Quoted 8 lines
package/fbv/fbv.mk +7
-0+define FBV_CONFIGURE_LIBUNGIF_IS_NOW_GIFLIB + $(SED) 's|-lungif|-lgif|' $(@D)/configure +endef +FBV_PRE_CONFIGURE_HOOKS += FBV_CONFIGURE_LIBUNGIF_IS_NOW_GIFLIB +define FBV_MAKE_LIBUNGIF_IS_NOW_GIFLIB + $(SED) 's|-lungif|-lgif|' $(@D)/Make.conf +endefWhy is it needed to patch Make.conf if you already patch configure (which generates it)?
right, patching Make.conf is not necessary, I will remove it in the next patch version.
Quoted 2 lines
I would prefer to see the configure changes in the giflib patch instead. How do the archlinux guys handle it?
They are using sed to change Make.conf
https://projects.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?
h=packages/fbv
which I did in the first place, but then configure printed this
checking for libungif presence... no
although compilation with libgif worked, so I patched the configure scripts afterwards to fix the wrong configure log but forgot to remove the Make.conf patch ;)
The next version will contain a patch for configure.
Regards, Bernd
PATCH 3/5 package/imlib2: Switch to giflib
In reply to Bernd Kuhls--- package/imlib2/0001-giflib51.patch | 71 ++++++++++++++++++++++++++++++++++++ package/imlib2/Config.in | 2 +- package/imlib2/imlib2.mk | 2 +- 3 files changed, 73 insertions(+), 2 deletions(-) create mode 100644 package/imlib2/0001-giflib51.patch
package/imlib2/0001-giflib51.patch new file +71 -0
@@ -0,0 +1,71 @@ +Adjust source code to work with giflib 5.1x + +Downloaded from +https://projects.archlinux.org/svntogit/packages.git/plain/trunk/imlib2-giflib51.patch?h=packages/imlib2 + +Signed-off-by: Bernd Kuhls <[email protected]> + +diff -ruN imlib2-1.4.6.orig/src/modules/loaders/loader_gif.c imlib2-1.4.6/src/modules/loaders/loader_gif.c +--- imlib2-1.4.6.orig/src/modules/loaders/loader_gif.c 2013-12-21 10:16:10.000000000 +0000 ++++ imlib2-1.4.6/src/modules/loaders/loader_gif.c 2014-05-27 09:52:35.857291512 +0000 +@@ -36,7 +36,7 @@ + #endif + if (fd < 0) + return 0; +- gif = DGifOpenFileHandle(fd); ++ gif = DGifOpenFileHandle(fd, NULL); + if (!gif) + { + close(fd); +@@ -60,13 +60,13 @@ + h = gif->Image.Height; + if (!IMAGE_DIMENSIONS_OK(w, h)) + { +- DGifCloseFile(gif); ++ DGifCloseFile(gif, NULL); + return 0; + } + rows = malloc(h * sizeof(GifRowType *)); + if (!rows) + { +- DGifCloseFile(gif); ++ DGifCloseFile(gif, NULL); + return 0; + } + for (i = 0; i < h; i++) +@@ -78,7 +78,7 @@ + rows[i] = malloc(w * sizeof(GifPixelType)); + if (!rows[i]) + { +- DGifCloseFile(gif); ++ DGifCloseFile(gif, NULL); + for (i = 0; i < h; i++) + { + if (rows[i]) +@@ -150,7 +150,7 @@ + im->data = (DATA32 *) malloc(sizeof(DATA32) * w * h); + if (!im->data) + { +- DGifCloseFile(gif); ++ DGifCloseFile(gif, NULL); + free(rows); + return 0; + } +@@ -181,7 +181,7 @@ + last_per = (int)per; + if (!(progress(im, (int)per, 0, last_y, w, i))) + { +- DGifCloseFile(gif); ++ DGifCloseFile(gif, NULL); + for (i = 0; i < h; i++) + { + free(rows[i]); +@@ -198,7 +198,7 @@ + { + progress(im, 100, 0, last_y, w, h); + } +- DGifCloseFile(gif); ++ DGifCloseFile(gif, NULL); + for (i = 0; i < h; i++) + { + free(rows[i]);
package/imlib2/Config.in +1 -1
@@ -23,7 +23,7 @@ config BR2_PACKAGE_IMLIB2_PNG config BR2_PACKAGE_IMLIB2_GIF bool "GIF support" - select BR2_PACKAGE_LIBUNGIF + select BR2_PACKAGE_GIFLIB config BR2_PACKAGE_IMLIB2_TIFF bool "TIFF support"
package/imlib2/imlib2.mk +1 -1
@@ -38,7 +38,7 @@ endif ifeq ($(BR2_PACKAGE_IMLIB2_GIF),y) IMLIB2_CONF_OPTS += --with-gif - IMLIB2_DEPENDENCIES += libungif + IMLIB2_DEPENDENCIES += giflib else IMLIB2_CONF_OPTS += --without-gif endif
Signature · 1 line
1.7.10.4
PATCH 3/5 package/imlib2: Switch to giflib
Quoted 9 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Bernd" == Bernd Kuhls <[email protected]> writes:
Signed-off-by Bernd Kuhls <[email protected]>--- package/imlib2/0001-giflib51.patch | 71 ++++++++++++++++++++++++++++++++++++ package/imlib2/Config.in | 2 +- package/imlib2/imlib2.mk | 2 +- 3 files changed, 73 insertions(+), 2 deletions(-) create mode 100644 package/imlib2/0001-giflib51.patch
How about instead bumping our imlib2 version? I see there is some giflib support in upstream git:
https://git.enlightenment.org/legacy/imlib2.git/log/
Signature · 1 line
Bye, Peter Korsgaard
PATCH 3/5 package/imlib2: Switch to giflib
[posted and mailed]
Peter Korsgaard <[email protected]> wrote in
news:8761bsz1n6.fsf at dell.be.48ers.dk:
Quoted 4 lines
How about instead bumping our imlib2 version? I see there is some giflib support in upstream git:
Hi,
bumping to 1.4.6 and backporting some giflib related patches or switching directly to the upstream git HEAD is an option, but I am not in a position to runtime test the packages depending on imlib2, therefore I chose a way to support giflib with a minimum of code changes. I can provide v2 of my patch with one of my suggestions but fixing build errors later on will be a difficult task for me timewise. What do you suggest?
Since imlib2 1.4.6 was released over a year ago I suppose that there is not a big audience for this package in the buildroot community, the only reason I touched imlib2 is my desire to get rid of libungif in favour of giflib because Kodi 15.0 will depend on it ;)
Regards, Bernd
PATCH 3/5 package/imlib2: Switch to giflib
Quoted 19 lines · Bernd Kuhls
[posted and mailed]
Peter Korsgaard <[email protected]> wrote in
news:8761bsz1n6.fsf at dell.be.48ers.dk:Quoted 4 lines
How about instead bumping our imlib2 version? I see there is some giflib support in upstream git:
Hi,
bumping to 1.4.6 and backporting some giflib related patches or switching directly to the upstream git HEAD is an option, but I am not in a position to runtime test the packages depending on imlib2, therefore I chose a way to support giflib with a minimum of code changes. I can provide v2 of my patch with one of my suggestions but fixing build errors later on will be a difficult task for me timewise. What do you suggest?
Quoted 4 lines
Since imlib2 1.4.6 was released over a year ago I suppose that there is not a big audience for this package in the buildroot community, the only reason I touched imlib2 is my desire to get rid of libungif in favour of giflib because Kodi 15.0 will depend on it ;)
I've made a patch for bumping it to 1.4.6 and back porting few upstream patches to support giflib:
http://patchwork.ozlabs.org/patch/447618/
http://patchwork.ozlabs.org/patch/447619/
Sorry but I've found your patch only right before sending mine.
BR
Signature · 1 line
Fabio Porcedda
PATCH 4/5 package/efl/libevas: Switch to giflib
In reply to Bernd Kuhls--- package/efl/libevas/0001-giflib.patch | 91 +++++++++++++++++++++++++++++++++ package/efl/libevas/Config.in | 2 +- package/efl/libevas/libevas.mk | 2 +- 3 files changed, 93 insertions(+), 2 deletions(-) create mode 100644 package/efl/libevas/0001-giflib.patch
package/efl/libevas/0001-giflib.patch new file +91 -0
@@ -0,0 +1,91 @@ +Adjust source code to work with giflib 5.1x + +Downloaded from +http://commit.cvs.pld.groups.com.ru/332837-packagesevas_fix_building_with_giflib_51_rel_6 + +Signed-off-by: Bernd Kuhls <[email protected]> + +diff -uNr evas-1.7.10.org/src/modules/loaders/gif/evas_image_load_gif.c evas-1.7.10/src/modules/loaders/gif/evas_image_load_gif.c +--- evas-1.7.10.org/src/modules/loaders/gif/evas_image_load_gif.c 2013-08-01 17:41:35.000000000 +0200 ++++ evas-1.7.10/src/modules/loaders/gif/evas_image_load_gif.c 2015-01-26 19:44:20.132955194 +0100 +@@ -338,7 +338,7 @@ + + if (!cmap) + { +- DGifCloseFile(gif); ++ DGifCloseFile(gif, NULL); + for (i = 0; i < scale_h; i++) + { + free(rows[i]); +@@ -725,7 +725,7 @@ + if ((w < 1) || (h < 1) || (w > IMG_MAX_SIZE) || (h > IMG_MAX_SIZE) || + IMG_TOO_BIG(w, h)) + { +- DGifCloseFile(gif); ++ DGifCloseFile(gif, NULL); + if (IMG_TOO_BIG(w, h)) + *error = EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED; + else +@@ -740,7 +740,7 @@ + if (DGifGetRecordType(gif, &rec) == GIF_ERROR) + { + /* PrintGifError(); */ +- DGifCloseFile(gif); ++ DGifCloseFile(gif, NULL); + *error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT; + return EINA_FALSE; + } +@@ -754,7 +754,7 @@ + if (DGifGetImageDesc(gif) == GIF_ERROR) + { + /* PrintGifError(); */ +- DGifCloseFile(gif); ++ DGifCloseFile(gif, NULL); + *error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT; + return EINA_FALSE; + } +@@ -762,7 +762,7 @@ + if (DGifGetCode(gif, &img_code, &img) == GIF_ERROR) + { + /* PrintGifError(); */ +- DGifCloseFile(gif); ++ DGifCloseFile(gif, NULL); + *error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT; + return EINA_FALSE; + } +@@ -818,7 +818,7 @@ + ie->frames = NULL; + } + +- DGifCloseFile(gif); ++ DGifCloseFile(gif, NULL); + *error = EVAS_LOAD_ERROR_NONE; + return EINA_TRUE; + } +@@ -885,7 +885,7 @@ + } + + ie->frames = eina_list_append(ie->frames, frame); +- DGifCloseFile(gif); ++ DGifCloseFile(gif, NULL); + return EINA_TRUE; + } + +@@ -959,7 +959,7 @@ + *error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT; + return EINA_FALSE; + } +- DGifCloseFile(gif); ++ DGifCloseFile(gif, NULL); + *error = EVAS_LOAD_ERROR_NONE; + return EINA_TRUE; + } +@@ -1080,7 +1080,7 @@ + } + } while (rec != TERMINATE_RECORD_TYPE); + +- DGifCloseFile(gif); ++ DGifCloseFile(gif, NULL); + return duration; + } +
package/efl/libevas/Config.in +1 -1
@@ -177,7 +177,7 @@ config BR2_PACKAGE_LIBEVAS_JPEG config BR2_PACKAGE_LIBEVAS_GIF bool "libevas gif loader" - select BR2_PACKAGE_LIBUNGIF + select BR2_PACKAGE_GIFLIB help This enables the loader code that loads gif files using libungif.
package/efl/libevas/libevas.mk +1 -1
@@ -167,7 +167,7 @@ endif ifeq ($(BR2_PACKAGE_LIBEVAS_GIF),y) LIBEVAS_CONF_OPTS += --enable-image-loader-gif -LIBEVAS_DEPENDENCIES += libungif +LIBEVAS_DEPENDENCIES += giflib else LIBEVAS_CONF_OPTS += --disable-image-loader-gif endif
Signature · 1 line
1.7.10.4
PATCH 4/5 package/efl/libevas: Switch to giflib
Quoted 30 lines · Bernd Kuhls
Signed-off-by Bernd Kuhls <[email protected]>--- package/efl/libevas/0001-giflib.patch | 91 +++++++++++++++++++++++++++++++++ package/efl/libevas/Config.in | 2 +- package/efl/libevas/libevas.mk | 2 +- 3 files changed, 93 insertions(+), 2 deletions(-) create mode 100644 package/efl/libevas/0001-giflib.patchpackage/efl/libevas/0001-giflib.patch new file +15
-0@@ -0,0 +1,91 @@ +Adjust source code to work with giflib 5.1x + +Downloaded from +http://commit.cvs.pld.groups.com.ru/332837-packagesevas_fix_building_with_giflib_51_rel_6 + +Signed-off-by: Bernd Kuhls <[email protected]> + +diff -uNr evas-1.7.10.org/src/modules/loaders/gif/evas_image_load_gif.c evas-1.7.10/src/modules/loaders/gif/evas_image_load_gif.c +--- evas-1.7.10.org/src/modules/loaders/gif/evas_image_load_gif.c 2013-08-01 17:41:35.000000000 +0200 ++++ evas-1.7.10/src/modules/loaders/gif/evas_image_load_gif.c 2015-01-26 19:44:20.132955194 +0100 +@@ -338,7 +338,7 @@ + + if (!cmap) + { +- DGifCloseFile(gif);
package/efl/libevas/0001-giflib.patch line 25
Quoted 10 lines
package/efl/libevas/0001-giflib.patch new file +10
-0++ DGifCloseFile(gif, NULL); + for (i = 0; i < scale_h; i++) + { + free(rows[i]); +@@ -725,7 +725,7 @@ + if ((w < 1) || (h < 1) || (w > IMG_MAX_SIZE) || (h > IMG_MAX_SIZE) || + IMG_TOO_BIG(w, h)) + { +- DGifCloseFile(gif); ++ DGifCloseFile(gif, NULL);
IMHO it's cleaner if instead of adding this patch you can add a post_patch hook that using sed change all "DGifCloseFile(gif)" to "DGifCloseFile(gif, NULL)".
Quoted 99 lines
package/efl/libevas/0001-giflib.patch new file +66
-0+ if (IMG_TOO_BIG(w, h)) + *error = EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED; + else +@@ -740,7 +740,7 @@ + if (DGifGetRecordType(gif, &rec) == GIF_ERROR) + { + /* PrintGifError(); */ +- DGifCloseFile(gif); ++ DGifCloseFile(gif, NULL); + *error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT; + return EINA_FALSE; + } +@@ -754,7 +754,7 @@ + if (DGifGetImageDesc(gif) == GIF_ERROR) + { + /* PrintGifError(); */ +- DGifCloseFile(gif); ++ DGifCloseFile(gif, NULL); + *error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT; + return EINA_FALSE; + } +@@ -762,7 +762,7 @@ + if (DGifGetCode(gif, &img_code, &img) == GIF_ERROR) + { + /* PrintGifError(); */ +- DGifCloseFile(gif); ++ DGifCloseFile(gif, NULL); + *error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT; + return EINA_FALSE; + } +@@ -818,7 +818,7 @@ + ie->frames = NULL; + } + +- DGifCloseFile(gif); ++ DGifCloseFile(gif, NULL); + *error = EVAS_LOAD_ERROR_NONE; + return EINA_TRUE; + } +@@ -885,7 +885,7 @@ + } + + ie->frames = eina_list_append(ie->frames, frame); +- DGifCloseFile(gif); ++ DGifCloseFile(gif, NULL); + return EINA_TRUE; + } + +@@ -959,7 +959,7 @@ + *error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT; + return EINA_FALSE; + } +- DGifCloseFile(gif); ++ DGifCloseFile(gif, NULL); + *error = EVAS_LOAD_ERROR_NONE; + return EINA_TRUE; + } +@@ -1080,7 +1080,7 @@ + } + } while (rec != TERMINATE_RECORD_TYPE); + +- DGifCloseFile(gif); ++ DGifCloseFile(gif, NULL); + return duration; + } +package/efl/libevas/Config.in +1
-1@@ -177,7 +177,7 @@ config BR2_PACKAGE_LIBEVAS_JPEG config BR2_PACKAGE_LIBEVAS_GIF bool "libevas gif loader" - select BR2_PACKAGE_LIBUNGIF + select BR2_PACKAGE_GIFLIB help This enables the loader code that loads gif files using libungif.package/efl/libevas/libevas.mk +1
-2@@ -167,7 +167,7 @@ endif ifeq ($(BR2_PACKAGE_LIBEVAS_GIF),y) LIBEVAS_CONF_OPTS += --enable-image-loader-gif -LIBEVAS_DEPENDENCIES += libungif +LIBEVAS_DEPENDENCIES += giflib else LIBEVAS_CONF_OPTS += --disable-image-loader-gif endif --1.7.10.4
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 1 line
Fabio Porcedda
PATCH 4/5 package/efl/libevas: Switch to giflib
Dear Fabio Porcedda,
Quoted 3 lines · Fabio Porcedda
IMHO it's cleaner if instead of adding this patch you can add a
post_patchhook that using sed change all "DGifCloseFile(gif)" to "DGifCloseFile(gif, NULL)".
I don't agree. Such sed expressions can very easily be overlooked when bumping the package, and they don't solve a problem that should be solved by submitting a patch to the upstream project.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 4/5 package/efl/libevas: Switch to giflib
Quoted 11 lines · Thomas Petazzoni
Dear Fabio Porcedda,
Quoted 3 lines · Fabio Porcedda
IMHO it's cleaner if instead of adding this patch you can add a
post_patchhook that using sed change all "DGifCloseFile(gif)" to "DGifCloseFile(gif, NULL)".I don't agree. Such sed expressions can very easily be overlooked when bumping the package, and they don't solve a problem that should be solved by submitting a patch to the upstream project.
I don't know exactly but the libevas seems dead, the last change in the git repository was made 15 months ago.
https://git.enlightenment.org/legacy/evas.git/
I hope there is a chance for the patch to be accepted.
Bernd, have you tried to send the patch upstream?
Could you add a note in patch to justify the change? Example:
From http://giflib.sourceforge.net/gif_lib.html
GIF file openers and closers - DGifOpenFileName(), DGifOpenFileHandle(), DGifOpen(), DGifClose(), EGifOpenFileName(), EGifOpenFileHandle(), EGifOpen(), and EGifClose() - all now take a final integer address argument. If non-null, this is used to pass back an error code when the function returns NULL.
With above note added and because the sed option is not available:
[build fine the following defconfig:
BR2_TOOLCHAIN_EXTERNAL=y
BR2_PACKAGE_EFL=y
BR2_PACKAGE_LIBEVAS=y
BR2_PACKAGE_LIBEVAS_GIF=y]
BR
Signature · 1 line
Fabio Porcedda
PATCH 4/5 package/efl/libevas: Switch to giflib
Dear Fabio Porcedda,
Quoted 2 lines · Fabio Porcedda
I don't know exactly but the libevas seems dead, the last change in the git repository was made 15 months ago.
The EFL stuff in Buildroot needs a complete update: most of the EFL libraries have been merged into one single project/tarball. So many of the EFL related packages in Buildroot should be removed, and the main EFL library bumped to a higher version.
Quoted 1 line
See the "legacy" in this URL ?
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 4/5 package/efl/libevas: Switch to giflib
Quoted 7 lines · Thomas Petazzoni
Dear Fabio Porcedda,
Quoted 2 lines · Fabio Porcedda
I don't know exactly but the libevas seems dead, the last change in the git repository was made 15 months ago.
Quoted 8 lines
The EFL stuff in Buildroot needs a complete update: most of the EFL libraries have been merged into one single project/tarball. So many of the EFL related packages in Buildroot should be removed, and the main EFL library bumped to a higher version.
Quoted 1 line
See the "legacy" in this URL ?
I understand that is a legacy repository but because you talked about to send a patch upstream i was trying to understand if there is any chance that the patch will be accepted.
So when you have talked about to send the patch upstream didn't know about the legacy status of this repository?
Nevertheless the https://git.enlightenment.org/legacy/imlib2.git/
repository gets updated even if it has the "legacy" word in the prefix, but it's the only one so maybe it's just an exception.
BR
Signature · 1 line
Fabio Porcedda
PATCH 4/5 package/efl/libevas: Switch to giflib
Dear Fabio Porcedda,
Quoted 6 lines · Fabio Porcedda
I understand that is a legacy repository but because you talked about to send a patch upstream i was trying to understand if there is any chance that the patch will be accepted.
So when you have talked about to send the patch upstream didn't know about the legacy status of this repository?
Well, when you want to send a patch upstream, then obviously you have to send the patch based on the latest upstream version. Which generally involves bumping the Buildroot package to use the latest stable version from upstream.
In the case of EFL, it indeed involves quite a bit of work, because all the libraries that used to be split in separate tarballs are now provided as one single tarball by upstream.
See https://phab.enlightenment.org/phame/live/3/post/efl_1_8/ :
"""
We have merged Ecore, Edje, Eet, Eeze, Efreet, Eina, Eio, Embryo, Emotion, Ethumb, Evas and Evil into a single EFL package (as you can see above these are no longer there, but inside the EFL distribution). We also added in Eldbus, EPhysics, and Escape.
"""
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 4/5 package/efl/libevas: Switch to giflib
Quoted 20 lines · Thomas Petazzoni
Dear Fabio Porcedda,
Quoted 6 lines · Fabio Porcedda
I understand that is a legacy repository but because you talked about to send a patch upstream i was trying to understand if there is any chance that the patch will be accepted.
So when you have talked about to send the patch upstream didn't know about the legacy status of this repository?
Well, when you want to send a patch upstream, then obviously you have to send the patch based on the latest upstream version. Which generally involves bumping the Buildroot package to use the latest stable version from upstream.
In the case of EFL, it indeed involves quite a bit of work, because all the libraries that used to be split in separate tarballs are now provided as one single tarball by upstream.
Quoted 8 lines
See https://phab.enlightenment.org/phame/live/3/post/efl_1_8/ :
"""
We have merged Ecore, Edje, Eet, Eeze, Efreet, Eina, Eio, Embryo, Emotion, Ethumb, Evas and Evil into a single EFL package (as you can see above these are no longer there, but inside the EFL distribution). We also added in Eldbus, EPhysics, and Escape.
"""
In the efl project where the evas library was merged, they have already added support for giflib 5:
https://git.enlightenment.org/core/efl.git/commit/?id=096ae0e86fe306d40d744c8c11960dd9e736c4b4
So maybe we can just back port that commit.
BR
Signature · 1 line
Fabio Porcedda
PATCH 4/5 package/efl/libevas: Switch to giflib
Dear Fabio Porcedda,
Quoted 5 lines · Fabio Porcedda
In the efl project where the evas library was merged, they have already added support for giflib 5:
https://git.enlightenment.org/core/efl.git/commit/?id=096ae0e86fe306d40d744c8c11960dd9e736c4b4So maybe we can just back port that commit.
If you bump EFL to the latest version, there's no need to do this, since the commit is already part of EFL releases.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
Thomas Petazzoni
AppliedPATCH 4/5 package/efl/libevas: Switch to giflib
In reply to Bernd KuhlsDear Bernd Kuhls,
Quoted 8 lines · Bernd Kuhls
Signed-off-by Bernd Kuhls <[email protected]>--- package/efl/libevas/0001-giflib.patch | 91 +++++++++++++++++++++++++++++++++ package/efl/libevas/Config.in | 2 +- package/efl/libevas/libevas.mk | 2 +- 3 files changed, 93 insertions(+), 2 deletions(-) create mode 100644 package/efl/libevas/0001-giflib.patch
Thanks, applied.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 5/5 package/libungif: deprecate package
In reply to Bernd KuhlsTo be replaced with giflib.
--- package/libungif/Config.in | 2 ++ 1 file changed, 2 insertions(+)
package/libungif/Config.in +2 -0
@@ -1,5 +1,7 @@ config BR2_PACKAGE_LIBUNGIF bool "libungif" + depends on !BR2_PACKAGE_GIFLIB + depends on BR2_DEPRECATED_SINCE_2015_02 # giflib help libungif is a library for handling the uncompressed GIF image format.
Signature · 1 line
1.7.10.4
PATCH 5/5 package/libungif: deprecate package
Quoted 1 line · Bernd Kuhls
To be replaced with giflib.
Can you respin this patch?
It's important to deprecate libungif because it's incompatible with libgif so if both are installed, the headers get overwritten, right now we don't have build problems because we are lucky and they are overwritten in right order :)
But using top-parallel make i get build failures because the order is changed.
Example:
BR2_TOOLCHAIN_EXTERNAL=y
BR2_PACKAGE_FBV=y
BR2_PACKAGE_LIBUNGIF=y
The following command build fine:
make clean libungif giflib fbv
But fbv fail to build with the following command:
make clean giflib libungif fbv
Quoted 24 lines
Signed-off-by Bernd Kuhls <[email protected]>--- package/libungif/Config.in | 2 ++ 1 file changed, 2 insertions(+)package/libungif/Config.in +2
-1@@ -1,5 +1,7 @@ config BR2_PACKAGE_LIBUNGIF bool "libungif" + depends on !BR2_PACKAGE_GIFLIB + depends on BR2_DEPRECATED_SINCE_2015_02 # giflib help libungif is a library for handling the uncompressed GIF image format. --1.7.10.4
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 1 line
Fabio Porcedda
PATCH 5/5 package/libungif: deprecate package
In reply to Bernd KuhlsDear Bernd Kuhls,
Quoted 6 lines · Bernd Kuhls
To be replaced with giflib.
Signed-off-by Bernd Kuhls <[email protected]>--- package/libungif/Config.in | 2 ++ 1 file changed, 2 insertions(+)
I cannot apply this patch: Kodi is still selecting libungif currently.
Can you resend an updated patch series that fixes Kodi before marking libungif as deprecated ?
I'll mark this patch as Changes Requested in patchwork in the mean time.
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 5/5 package/libungif: deprecate package
Hi,
Thomas Petazzoni <thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8 @public.gmane.org> wrote in news:20150404184613.448298e5 at free-electrons.com:
Quoted 4 lines
I cannot apply this patch: Kodi is still selecting libungif currently.
Can you resend an updated patch series that fixes Kodi before marking libungif as deprecated ?
Done: http://patchwork.ozlabs.org/patch/459483/
Shall I resend http://patchwork.ozlabs.org/patch/432990/ ?
Regards, Bernd
PATCH 1/5 package/giflib: New package
In reply to Bernd KuhlsQuoted 7 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Bernd" == Bernd Kuhls <[email protected]> writes:
This package will replace libungif.
Needed for Kodi 15.0, TexturePacker depends on giflib >= 5.0.5
https://github.com/xbmc/xbmc/blob/master/tools/depends/native/TexturePacker/src/configure.ac#L29Signed-off-by Bernd Kuhls <[email protected]>
Committed, thanks.
I did a quick test and they are basically equivalent in file size:
find output/staging/usr/lib/lib*gif.so* -type f | xargs ls -lah -rwxr-xr-x 1 peko peko 31K Jan 27 16:04 output/staging/usr/lib/libgif.so.7.0.0 -rwxr-xr-x 1 peko peko 32K Jan 27 16:08 output/staging/usr/lib/libungif.so.4.1.4
Signature · 1 line
Bye, Peter Korsgaard