From fc26490252a63b851560be0af97e14b784a20350 Mon Sep 17 00:00:00 2001 From: Khaled Hosny Date: Fri, 18 Oct 2013 19:58:14 +0200 Subject: fdo#70393: move liblangtag to a subdir of external Change-Id: I18cded289591bdf872c7a818326a35ac00d38482 Reviewed-on: https://gerrit.libreoffice.org/6330 Reviewed-by: David Tardon Tested-by: David Tardon --- .../liblangtag/ExternalPackage_langtag_data.mk | 28 ++++++++++ .../liblangtag/ExternalPackage_liblangtag_data.mk | 36 ++++++++++++ external/liblangtag/ExternalProject_langtag.mk | 40 ++++++++++++++ external/liblangtag/Makefile | 7 +++ external/liblangtag/Module_liblangtag.mk | 19 +++++++ external/liblangtag/README | 1 + external/liblangtag/UnpackedTarball_langtag.mk | 34 ++++++++++++ external/liblangtag/liblangtag-0.5.1-mingw.patch | 64 ++++++++++++++++++++++ .../liblangtag-0.5.1-msvc-snprintf.patch | 25 +++++++++ .../liblangtag/liblangtag-0.5.1-msvc-ssize_t.patch | 12 ++++ .../liblangtag-0.5.1-msvc-strtoull.patch | 15 +++++ .../liblangtag/liblangtag-0.5.1-msvc-warning.patch | 21 +++++++ .../liblangtag-0.5.1-redefinition-of-typedef.patch | 31 +++++++++++ .../liblangtag-0.5.1-scope-declaration.patch | 13 +++++ ...blangtag-0.5.1-undefined-have-sys-param-h.patch | 14 +++++ external/liblangtag/liblangtag-0.5.1-unistd.patch | 12 ++++ .../liblangtag/liblangtag-0.5.1-vsnprintf.patch | 18 ++++++ ....5.1-windows-do-not-prepend-dir-separator.patch | 16 ++++++ 18 files changed, 406 insertions(+) create mode 100644 external/liblangtag/ExternalPackage_langtag_data.mk create mode 100644 external/liblangtag/ExternalPackage_liblangtag_data.mk create mode 100644 external/liblangtag/ExternalProject_langtag.mk create mode 100644 external/liblangtag/Makefile create mode 100644 external/liblangtag/Module_liblangtag.mk create mode 100644 external/liblangtag/README create mode 100644 external/liblangtag/UnpackedTarball_langtag.mk create mode 100644 external/liblangtag/liblangtag-0.5.1-mingw.patch create mode 100644 external/liblangtag/liblangtag-0.5.1-msvc-snprintf.patch create mode 100644 external/liblangtag/liblangtag-0.5.1-msvc-ssize_t.patch create mode 100644 external/liblangtag/liblangtag-0.5.1-msvc-strtoull.patch create mode 100644 external/liblangtag/liblangtag-0.5.1-msvc-warning.patch create mode 100644 external/liblangtag/liblangtag-0.5.1-redefinition-of-typedef.patch create mode 100644 external/liblangtag/liblangtag-0.5.1-scope-declaration.patch create mode 100644 external/liblangtag/liblangtag-0.5.1-undefined-have-sys-param-h.patch create mode 100644 external/liblangtag/liblangtag-0.5.1-unistd.patch create mode 100644 external/liblangtag/liblangtag-0.5.1-vsnprintf.patch create mode 100644 external/liblangtag/liblangtag-0.5.1-windows-do-not-prepend-dir-separator.patch (limited to 'external/liblangtag') diff --git a/external/liblangtag/ExternalPackage_langtag_data.mk b/external/liblangtag/ExternalPackage_langtag_data.mk new file mode 100644 index 000000000000..3435e7080e1c --- /dev/null +++ b/external/liblangtag/ExternalPackage_langtag_data.mk @@ -0,0 +1,28 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_ExternalPackage_ExternalPackage,langtag_data,langtag)) + +$(eval $(call gb_ExternalPackage_add_unpacked_files,langtag_data,unittest/install/$(LIBO_SHARE_FOLDER)/liblangtag,data/language-subtag-registry.xml)) +$(eval $(call gb_ExternalPackage_add_unpacked_files,langtag_data,unittest/install/$(LIBO_SHARE_FOLDER)/liblangtag/common/bcp47,\ + data/common/bcp47/calendar.xml \ + data/common/bcp47/collation.xml \ + data/common/bcp47/currency.xml \ + data/common/bcp47/number.xml \ + data/common/bcp47/timezone.xml \ + data/common/bcp47/transform.xml \ + data/common/bcp47/transform_ime.xml \ + data/common/bcp47/transform_keyboard.xml \ + data/common/bcp47/transform_mt.xml \ + data/common/bcp47/transform_private_use.xml \ + data/common/bcp47/variant.xml \ +)) +$(eval $(call gb_ExternalPackage_add_unpacked_files,langtag_data,unittest/install/$(LIBO_SHARE_FOLDER)/liblangtag/common/supplemental,data/common/supplemental/likelySubtags.xml)) + +# vim: set shiftwidth=4 tabstop=4 noexpandtab: diff --git a/external/liblangtag/ExternalPackage_liblangtag_data.mk b/external/liblangtag/ExternalPackage_liblangtag_data.mk new file mode 100644 index 000000000000..0991d9621ea2 --- /dev/null +++ b/external/liblangtag/ExternalPackage_liblangtag_data.mk @@ -0,0 +1,36 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_ExternalPackage_ExternalPackage,liblangtag_data,langtag)) + +$(eval $(call gb_ExternalPackage_set_outdir,liblangtag_data,$(INSTROOT))) + +$(eval $(call gb_ExternalPackage_add_unpacked_files,liblangtag_data,$(LIBO_SHARE_FOLDER)/liblangtag,\ + data/language-subtag-registry.xml \ +)) + +$(eval $(call gb_ExternalPackage_add_unpacked_files,liblangtag_data,$(LIBO_SHARE_FOLDER)/liblangtag/common/bcp47,\ + data/common/bcp47/calendar.xml \ + data/common/bcp47/collation.xml \ + data/common/bcp47/currency.xml \ + data/common/bcp47/number.xml \ + data/common/bcp47/timezone.xml \ + data/common/bcp47/transform.xml \ + data/common/bcp47/transform_ime.xml \ + data/common/bcp47/transform_keyboard.xml \ + data/common/bcp47/transform_mt.xml \ + data/common/bcp47/transform_private_use.xml \ + data/common/bcp47/variant.xml \ +)) + +$(eval $(call gb_ExternalPackage_add_unpacked_files,liblangtag_data,$(LIBO_SHARE_FOLDER)/liblangtag/common/supplemental,\ + data/common/supplemental/likelySubtags.xml \ +)) + +# vim: set shiftwidth=4 tabstop=4 noexpandtab: diff --git a/external/liblangtag/ExternalProject_langtag.mk b/external/liblangtag/ExternalProject_langtag.mk new file mode 100644 index 000000000000..23619ed3b2de --- /dev/null +++ b/external/liblangtag/ExternalProject_langtag.mk @@ -0,0 +1,40 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_ExternalProject_ExternalProject,langtag)) + +$(eval $(call gb_ExternalProject_use_external,langtag,libxml2)) + +$(eval $(call gb_ExternalProject_use_autoconf,langtag,build)) + +$(eval $(call gb_ExternalProject_register_targets,langtag,\ + build \ +)) + +# disable ccache on windows, as it doesn't cope with the quoted defines +# liblangtag uses (-DBUILDDIR="\"$(abs_top_builddir)\"" and similar). +# Results in "cl : Command line error D8003 : missing source filename" +$(call gb_ExternalProject_get_state_target,langtag,build): + $(call gb_ExternalProject_run,build,\ + ./configure --disable-modules --disable-test --disable-introspection --disable-shared --enable-static --with-pic \ + $(if $(filter WNTMSC,$(OS)$(COM)),--disable-rebuild-data) \ + $(if $(filter TRUE,$(HAVE_GCC_BUILTIN_ATOMIC)),"lt_cv_has_atomic=yes","lt_cv_has_atomic=no") \ + $(if $(filter YES,$(CROSS_COMPILING)),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) "ac_cv_va_copy=no") \ + $(if $(filter NO,$(SYSTEM_LIBXML)),LIBXML2_CFLAGS="-I$(call gb_UnpackedTarball_get_dir,xml2)/include" \ + LIBXML2_LIBS=$(if $(filter WNTMSC,$(OS)$(COM)),"-L$(OUTDIR)/lib -llibxml2","-L$(gb_Helper_OUTDIRLIBDIR) -lxml2"),\ + $(if $(filter MACOSX,$(OS)),LIBXML2_CFLAGS="$(LIBXML_CFLAGS)" LIBXML2_LIBS="$(LIBXML_LIBS)")) \ + $(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO) \ + $(if $(filter-out LINUX FREEBSD,$(OS)),,LDFLAGS="-Wl$(COMMA)-z$(COMMA)origin -Wl$(COMMA)-rpath,\\"\$$\$$ORIGIN:'\'\$$\$$ORIGIN/../ure-link/lib) \ + $(if $(filter-out SOLARIS,$(OS)),,LDFLAGS="-Wl$(COMMA)-z$(COMMA)origin -Wl$(COMMA)-R$(COMMA)\\"\$$\$$ORIGIN:'\'\$$\$$ORIGIN/../ure-link/lib) \ + $(if $(filter-out WNTGCC,$(OS)$(COM)),,LDFLAGS="-Wl$(COMMA)--enable-runtime-pseudo-reloc-v2") \ + && $(if $(filter WNTMSC,$(OS)$(COM)),REAL_CC="$(shell cygpath -w $(lastword $(CC)))") \ + $(if $(VERBOSE)$(verbose),V=1) \ + $(MAKE) \ + ) +# vim: set noet sw=4 ts=4: diff --git a/external/liblangtag/Makefile b/external/liblangtag/Makefile new file mode 100644 index 000000000000..e4968cf85fb6 --- /dev/null +++ b/external/liblangtag/Makefile @@ -0,0 +1,7 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- + +module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST)))) + +include $(module_directory)/../../solenv/gbuild/partial_build.mk + +# vim: set noet sw=4 ts=4: diff --git a/external/liblangtag/Module_liblangtag.mk b/external/liblangtag/Module_liblangtag.mk new file mode 100644 index 000000000000..54827d2e9330 --- /dev/null +++ b/external/liblangtag/Module_liblangtag.mk @@ -0,0 +1,19 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_Module_Module,liblangtag)) + +$(eval $(call gb_Module_add_targets,liblangtag,\ + UnpackedTarball_langtag \ + ExternalPackage_langtag_data \ + ExternalProject_langtag \ + ExternalPackage_liblangtag_data \ +)) + +# vim: set noet sw=4 ts=4: diff --git a/external/liblangtag/README b/external/liblangtag/README new file mode 100644 index 000000000000..694daee093e6 --- /dev/null +++ b/external/liblangtag/README @@ -0,0 +1 @@ +From [http://tagoh.bitbucket.org/liblangtag/]. An interface for BCP47 language tags. diff --git a/external/liblangtag/UnpackedTarball_langtag.mk b/external/liblangtag/UnpackedTarball_langtag.mk new file mode 100644 index 000000000000..88f7f167b437 --- /dev/null +++ b/external/liblangtag/UnpackedTarball_langtag.mk @@ -0,0 +1,34 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_UnpackedTarball_UnpackedTarball,langtag)) + +$(eval $(call gb_UnpackedTarball_set_tarball,langtag,$(LIBLANGTAG_TARBALL),,liblangtag)) + +$(eval $(call gb_UnpackedTarball_add_patches,langtag,\ + external/liblangtag/liblangtag-0.5.1-msvc-warning.patch \ + external/liblangtag/liblangtag-0.5.1-vsnprintf.patch \ + external/liblangtag/liblangtag-0.5.1-msvc-ssize_t.patch \ + external/liblangtag/liblangtag-0.5.1-msvc-snprintf.patch \ + external/liblangtag/liblangtag-0.5.1-msvc-strtoull.patch \ + external/liblangtag/liblangtag-0.5.1-scope-declaration.patch \ + external/liblangtag/liblangtag-0.5.1-redefinition-of-typedef.patch \ + external/liblangtag/liblangtag-0.5.1-undefined-have-sys-param-h.patch \ + external/liblangtag/liblangtag-0.5.1-windows-do-not-prepend-dir-separator.patch \ + external/liblangtag/liblangtag-0.5.1-unistd.patch \ +)) + +ifeq ($(OS),WNT) +ifeq ($(COM),GCC) +$(eval $(call gb_UnpackedTarball_add_patches,langtag,\ + external/liblangtag/liblangtag-0.5.1-mingw.patch \ +)) +endif +endif +# vim: set noet sw=4 ts=4: diff --git a/external/liblangtag/liblangtag-0.5.1-mingw.patch b/external/liblangtag/liblangtag-0.5.1-mingw.patch new file mode 100644 index 000000000000..54790e99a0c7 --- /dev/null +++ b/external/liblangtag/liblangtag-0.5.1-mingw.patch @@ -0,0 +1,64 @@ +--- misc/liblangtag-0.4.0/liblangtag/lt-ext-module.c 2013-06-14 15:06:13.629182430 +0100 ++++ misc/liblangtag-0.4.0/liblangtag/lt-ext-module.c 2013-06-14 15:06:43.537534204 +0100 +@@ -608,8 +608,8 @@ + size_t len; + + while (1) { +- if (readdir_r(dir, &dent, &dresult) || dresult == NULL) +- break; ++/* if (readdir_r(dir, &dent, &dresult) || dresult == NULL) ++ break;*/ abort(); /* we do not use liblangtag-gobject anyway */ + + len = strlen(dent.d_name); + if (len > suffix_len && +--- misc/liblangtag-0.4.0/liblangtag/Makefile.am 2013-06-14 15:06:13.636182512 +0100 ++++ misc/liblangtag-0.4.0/liblangtag/Makefile.am 2013-06-14 15:08:53.556063464 +0100 +@@ -211,6 +211,7 @@ + liblangtag_la_LDFLAGS = \ + $(LDFLAGS) \ + -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ ++ -no-undefined \ + $(NULL) + + -include $(top_srcdir)/git.mk +--- misc/liblangtag-0.4.0/liblangtag/Makefile.in 2013-06-14 15:06:13.636182512 +0100 ++++ misc/liblangtag-0.4.0/liblangtag/Makefile.in 2013-06-14 15:09:07.204223994 +0100 +@@ -576,6 +576,7 @@ + liblangtag_la_LDFLAGS = \ + $(LDFLAGS) \ + -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ ++ -no-undefined \ + $(NULL) + + all: $(BUILT_SOURCES) +--- misc/liblangtag-0.4.0/liblangtag-gobject/Makefile.am 2013-06-14 15:06:13.648182653 +0100 ++++ misc/liblangtag-0.4.0/liblangtag-gobject/Makefile.am 2013-06-14 15:09:27.122458271 +0100 +@@ -149,6 +149,7 @@ + liblangtag_gobject_la_LDFLAGS = \ + $(LDFLAGS) \ + -version-info $(LT_G_CURRENT):$(LT_G_REVISION):$(LT_G_AGE) \ ++ -no-undefined \ + $(NULL) + # + if HAVE_INTROSPECTION +--- misc/liblangtag-0.4.0/liblangtag-gobject/Makefile.in 2013-06-14 15:06:13.648182653 +0100 ++++ misc/liblangtag-0.4.0/liblangtag-gobject/Makefile.in 2013-06-14 15:09:33.099528574 +0100 +@@ -476,6 +476,7 @@ + liblangtag_gobject_la_LDFLAGS = \ + $(LDFLAGS) \ + -version-info $(LT_G_CURRENT):$(LT_G_REVISION):$(LT_G_AGE) \ ++ -no-undefined \ + $(NULL) + + # +--- misc/liblangtag-0.4.0/Makefile.am 2013-06-14 15:06:13.652182700 +0100 ++++ misc/liblangtag-0.4.0/Makefile.am 2013-06-14 15:06:43.539534228 +0100 +@@ -6,7 +6,7 @@ + SUBDIRS += liblangtag-gobject + endif + #SUBDIRS += docs tests +-SUBDIRS += tests ++#SUBDIRS += tests + + ACLOCAL_AMFLAGS = -I m4macros + diff --git a/external/liblangtag/liblangtag-0.5.1-msvc-snprintf.patch b/external/liblangtag/liblangtag-0.5.1-msvc-snprintf.patch new file mode 100644 index 000000000000..61067e21b407 --- /dev/null +++ b/external/liblangtag/liblangtag-0.5.1-msvc-snprintf.patch @@ -0,0 +1,25 @@ +diff -ru langtag.orig/liblangtag/lt-messages.c langtag/liblangtag/lt-messages.c +--- UnpackedTarball/langtag.orig/liblangtag/lt-messages.c 2013-04-22 10:06:57.000000000 +0200 ++++ UnpackedTarball/langtag/liblangtag/lt-messages.c 2013-04-30 11:38:04.116532065 +0200 +@@ -85,13 +85,21 @@ + clen = strlen(cs); + if (clen > 0) { + catstring = malloc(sizeof (char) * (clen + 6)); ++#ifdef _WIN32 ++ _snprintf(catstring, clen + 6, "[%s]: ", cs); ++#else + snprintf(catstring, clen + 6, "[%s]: ", cs); ++#endif + clen = strlen(catstring); + } + len = tlen + clen + 1; + retval = malloc(sizeof (char) * len); + if (retval) { ++#ifdef _WIN32 ++ _snprintf(retval, len, "%s%s ", ts, catstring ? catstring : ""); ++#else + snprintf(retval, len, "%s%s ", ts, catstring ? catstring : ""); ++#endif + } + if (catstring) + free(catstring); diff --git a/external/liblangtag/liblangtag-0.5.1-msvc-ssize_t.patch b/external/liblangtag/liblangtag-0.5.1-msvc-ssize_t.patch new file mode 100644 index 000000000000..84774c18d657 --- /dev/null +++ b/external/liblangtag/liblangtag-0.5.1-msvc-ssize_t.patch @@ -0,0 +1,12 @@ +diff -ru UnpackedTarball/langtag.orig/liblangtag/lt-macros.h UnpackedTarball/langtag/liblangtag/lt-macros.h +--- UnpackedTarball/langtag.orig/liblangtag/lt-macros.h 2013-04-22 10:06:57.000000000 +0200 ++++ UnpackedTarball/langtag/liblangtag/lt-macros.h 2013-04-30 16:07:00.619638050 +0200 +@@ -261,7 +261,7 @@ + + LT_BEGIN_DECLS + +-#ifdef _MSC_VER ++#if defined(_MSC_VER) && !defined(ssize_t) + # ifdef _M_AMD64 + typedef signed long long ssize_t; + # else diff --git a/external/liblangtag/liblangtag-0.5.1-msvc-strtoull.patch b/external/liblangtag/liblangtag-0.5.1-msvc-strtoull.patch new file mode 100644 index 000000000000..e50dddb76c0a --- /dev/null +++ b/external/liblangtag/liblangtag-0.5.1-msvc-strtoull.patch @@ -0,0 +1,15 @@ +diff -ru langtag.orig/extensions/lt-ext-ldml-u.c langtag/extensions/lt-ext-ldml-u.c +--- UnpackedTarball/langtag.orig/extensions/lt-ext-ldml-u.c 2013-04-22 10:06:56.000000000 +0200 ++++ UnpackedTarball/langtag/extensions/lt-ext-ldml-u.c 2013-04-30 12:56:19.557490167 +0200 +@@ -137,7 +137,11 @@ + if (!strchr(hexdigit, subtag[j])) + goto bail2; + } ++#ifdef _WIN32 ++ x = _strtoui64(subtag, &p, 16); ++#else + x = strtoull(subtag, &p, 16); ++#endif + if (p && p[0] == 0 && x <= 0x10ffff) { + retval = TRUE; + xmlFree(name); diff --git a/external/liblangtag/liblangtag-0.5.1-msvc-warning.patch b/external/liblangtag/liblangtag-0.5.1-msvc-warning.patch new file mode 100644 index 000000000000..2d34fe8f0941 --- /dev/null +++ b/external/liblangtag/liblangtag-0.5.1-msvc-warning.patch @@ -0,0 +1,21 @@ +--- misc/liblangtag-0.4.0/liblangtag/lt-ext-module.h 2012-02-02 06:02:45.000000000 +0100 ++++ misc/build/liblangtag-0.4.0/liblangtag/lt-ext-module.h 2012-08-08 08:46:57.810860044 +0200 +@@ -143,12 +143,12 @@ + * and #lt_ext_module_t and extend features. + */ + struct _lt_ext_module_funcs_t { +- const lt_ext_module_singleton_func_t get_singleton; +- const lt_ext_module_data_new_func_t create_data; +- const lt_ext_module_precheck_func_t precheck_tag; +- const lt_ext_module_parse_func_t parse_tag; +- const lt_ext_module_get_tag_func_t get_tag; +- const lt_ext_module_validate_func_t validate_tag; ++ lt_ext_module_singleton_func_t get_singleton; ++ lt_ext_module_data_new_func_t create_data; ++ lt_ext_module_precheck_func_t precheck_tag; ++ lt_ext_module_parse_func_t parse_tag; ++ lt_ext_module_get_tag_func_t get_tag; ++ lt_ext_module_validate_func_t validate_tag; + }; + + diff --git a/external/liblangtag/liblangtag-0.5.1-redefinition-of-typedef.patch b/external/liblangtag/liblangtag-0.5.1-redefinition-of-typedef.patch new file mode 100644 index 000000000000..1c9ac14077dd --- /dev/null +++ b/external/liblangtag/liblangtag-0.5.1-redefinition-of-typedef.patch @@ -0,0 +1,31 @@ +diff -ru langtag.orig/liblangtag/lt-trie.c langtag/liblangtag/lt-trie.c +--- UnpackedTarball/langtag.orig/liblangtag/lt-trie.c 2013-04-30 04:37:30.000000000 +0200 ++++ UnpackedTarball/langtag/liblangtag/lt-trie.c 2013-04-30 14:57:50.777932196 +0200 +@@ -33,11 +33,6 @@ + lt_iter_tmpl_t parent; + lt_trie_node_t *root; + }; +-typedef struct _lt_trie_iter_t { +- lt_iter_t parent; +- lt_list_t *stack; +- lt_string_t *pos_str; +-} lt_trie_iter_t; + + /*< private >*/ + static lt_trie_node_t * +diff -ru langtag.orig/liblangtag/lt-trie.h langtag/liblangtag/lt-trie.h +--- UnpackedTarball/langtag.orig/liblangtag/lt-trie.h 2013-04-30 04:44:36.000000000 +0200 ++++ UnpackedTarball/langtag/liblangtag/lt-trie.h 2013-04-30 14:57:57.746969291 +0200 +@@ -21,7 +21,11 @@ + LT_BEGIN_DECLS + + typedef struct _lt_trie_t lt_trie_t; +-typedef struct _lt_trie_iter_t lt_trie_iter_t; ++typedef struct _lt_trie_iter_t { ++ lt_iter_t parent; ++ lt_list_t *stack; ++ lt_string_t *pos_str; ++} lt_trie_iter_t; + + lt_trie_t *lt_trie_new (void); + lt_trie_t *lt_trie_ref (lt_trie_t *trie); diff --git a/external/liblangtag/liblangtag-0.5.1-scope-declaration.patch b/external/liblangtag/liblangtag-0.5.1-scope-declaration.patch new file mode 100644 index 000000000000..69bc434b46da --- /dev/null +++ b/external/liblangtag/liblangtag-0.5.1-scope-declaration.patch @@ -0,0 +1,13 @@ +diff -ru langtag.orig/tests/variant-db.c langtag/tests/variant-db.c +--- UnpackedTarball/langtag.orig/tests/variant-db.c 2013-04-22 10:06:57.000000000 +0200 ++++ UnpackedTarball/langtag/tests/variant-db.c 2013-04-30 14:12:18.399306545 +0200 +@@ -53,8 +53,8 @@ + } + lt_iter_finish(iter); + } else if (lt_strcmp0(argv[1], "lookup") == 0) { +- variant = lt_variant_db_lookup(variantdb, argv[2]); + const lt_list_t *prefix, *l; ++ variant = lt_variant_db_lookup(variantdb, argv[2]); + + if (variant) { + printf("desc: %s\n", lt_variant_get_name(variant)); diff --git a/external/liblangtag/liblangtag-0.5.1-undefined-have-sys-param-h.patch b/external/liblangtag/liblangtag-0.5.1-undefined-have-sys-param-h.patch new file mode 100644 index 000000000000..3cee1458ab7e --- /dev/null +++ b/external/liblangtag/liblangtag-0.5.1-undefined-have-sys-param-h.patch @@ -0,0 +1,14 @@ +# liblangtag/lt-macros.h:17:5: error: "HAVE_SYS_PARAM_H" is not defined [-Werror=undef] + +diff -ru UnpackedTarball/langtag.orig/liblangtag/lt-macros.h UnpackedTarball/langtag/liblangtag/lt-macros.h +--- UnpackedTarball/langtag.orig/liblangtag/lt-macros.h 2013-04-30 16:09:19.362392416 +0200 ++++ UnpackedTarball/langtag/liblangtag/lt-macros.h 2013-04-30 18:01:13.275188759 +0200 +@@ -14,7 +14,7 @@ + #error "Only can be included directly." + #endif + +-#if HAVE_SYS_PARAM_H ++#if defined(HAVE_SYS_PARAM_H) && HAVE_SYS_PARAM_H + #include + #endif + diff --git a/external/liblangtag/liblangtag-0.5.1-unistd.patch b/external/liblangtag/liblangtag-0.5.1-unistd.patch new file mode 100644 index 000000000000..0aebe0b09cda --- /dev/null +++ b/external/liblangtag/liblangtag-0.5.1-unistd.patch @@ -0,0 +1,12 @@ +--- UnpackedTarball/langtag/liblangtag/lt-utils.c 2013-05-10 14:36:54.445200000 +0200 ++++ UnpackedTarball/langtag/liblangtag/lt-utils.c 2013-05-10 14:38:31.446000000 +0200 +@@ -23,7 +23,9 @@ + #if HAVE_STRING_H + #include + #endif ++#if HAVE_UNISTD_H + #include ++#endif + #include + #include "lt-messages.h" + #include "lt-utils.h" diff --git a/external/liblangtag/liblangtag-0.5.1-vsnprintf.patch b/external/liblangtag/liblangtag-0.5.1-vsnprintf.patch new file mode 100644 index 000000000000..599c47f9ae52 --- /dev/null +++ b/external/liblangtag/liblangtag-0.5.1-vsnprintf.patch @@ -0,0 +1,18 @@ +diff -ru UnpackedTarball/orig.langtag/liblangtag/lt-utils.c UnpackedTarball/langtag/liblangtag/lt-utils.c +--- UnpackedTarball/orig.langtag/liblangtag/lt-utils.c 2013-07-19 16:47:20.310734230 +0200 ++++ UnpackedTarball/langtag/liblangtag/lt-utils.c 2013-07-19 16:53:10.839914271 +0200 +@@ -173,9 +173,11 @@ + + va_end(ap); + +- retval = malloc(sizeof (char) * size); +- if (retval) { +- vsprintf(retval, format, args); ++ if (size > 0) { ++ retval = malloc(sizeof (char) * size); ++ if (retval) { ++ vsprintf(retval, format, args); ++ } + } + } LT_STMT_END; + #elif HAVE_VSNPRINTF diff --git a/external/liblangtag/liblangtag-0.5.1-windows-do-not-prepend-dir-separator.patch b/external/liblangtag/liblangtag-0.5.1-windows-do-not-prepend-dir-separator.patch new file mode 100644 index 000000000000..cc0e4abaed59 --- /dev/null +++ b/external/liblangtag/liblangtag-0.5.1-windows-do-not-prepend-dir-separator.patch @@ -0,0 +1,16 @@ +diff -ru UnpackedTarball/langtag.orig/liblangtag/lt-string.c UnpackedTarball/langtag/liblangtag/lt-string.c +--- UnpackedTarball/langtag.orig/liblangtag/lt-string.c 2013-04-22 10:35:07.000000000 +0200 ++++ UnpackedTarball/langtag/liblangtag/lt-string.c 2013-04-30 18:34:14.422037274 +0200 +@@ -308,8 +308,12 @@ + lt_return_val_if_fail (string != NULL, NULL); + lt_return_val_if_fail (path != NULL, string); + ++#ifdef _WIN32 ++ /* This simply does not work on Windows with "D:\..." */ ++#else + if (lt_string_length(string) == 0 && path[0] != LT_DIR_SEPARATOR) + lt_string_append(string, LT_DIR_SEPARATOR_S); ++#endif + + va_start(ap, path); + p = path; -- cgit