From 7ae5bcd0e0868c543811db19b0a75d83db21cae3 Mon Sep 17 00:00:00 2001 From: Gareth Coco Date: Thu, 22 Dec 2011 12:50:30 +0100 Subject: update package libical --- src/libical-1-parallel-builds.patch | 14 ++ src/libical-1-tml.patch | 197 ------------------------- src/libical-2-windows.patch | 282 ------------------------------------ src/libical-3-pthread.patch | 14 -- src/libical.mk | 21 ++- 5 files changed, 24 insertions(+), 504 deletions(-) create mode 100644 src/libical-1-parallel-builds.patch delete mode 100644 src/libical-1-tml.patch delete mode 100644 src/libical-2-windows.patch delete mode 100644 src/libical-3-pthread.patch diff --git a/src/libical-1-parallel-builds.patch b/src/libical-1-parallel-builds.patch new file mode 100644 index 0000000..8795258 --- /dev/null +++ b/src/libical-1-parallel-builds.patch @@ -0,0 +1,14 @@ +libical-1-parallel-builds.patch libical-test.c +[gcoco@Basement mingw-cross-env]$ cat src/libical-1-parallel-builds.patch +--- ./src/libicalss/CMakeLists.txt 2011/10/10 23:21:07 1106 ++++ ./src/libicalss/CMakeLists.txt 2011/12/18 21:56:43 1118 +@@ -28,7 +28,9 @@ + ${CMAKE_BINARY_DIR}/src/libical/icalderivedvalue.h + ) + +-add_custom_target(icalss-header DEPENDS ++add_custom_target(icalss-header ++ DEPENDS ++ ical-header + ${CMAKE_BINARY_DIR}/src/libicalss/icalss.h + ) \ No newline at end of file diff --git a/src/libical-1-tml.patch b/src/libical-1-tml.patch deleted file mode 100644 index ed516c4..0000000 --- a/src/libical-1-tml.patch +++ /dev/null @@ -1,197 +0,0 @@ -This file is part of mingw-cross-env. -See doc/index.html for further information. - -This patch has been taken from: -https://build.opensuse.org/package/view_file?file=libical-0.44-tml.patch&package=mingw32-libical&project=windows%3Amingw%3Awin32 - ---- libical-0.44/autogen.sh 2009-01-08 17:50:28.000000000 +0100 -+++ libical-0.44/autogen.sh 2009-04-15 15:25:54.000000000 +0200 -@@ -37,11 +37,6 @@ - exit 1 - } - --if test -z "$*"; then -- echo "I am going to run ./configure with no arguments - if you wish " -- echo "to pass any to it, please specify them on the $0 command line." --fi -- - case $CC in - *xlc | *xlc\ * | *lcc | *lcc\ *) am_opt=--include-deps;; - esac -@@ -55,7 +50,3 @@ - autoconf - cd $ORIGDIR - --$srcdir/configure "$@" -- --echo --echo "Now type 'make' to compile $PROJECT." ---- libical-0.44/src/libical/icalrecur.c 2009-01-08 17:50:21.000000000 +0100 -+++ libical-0.44/src/libical/icalrecur.c 2009-04-15 15:12:35.000000000 +0200 -@@ -141,16 +141,6 @@ - - #include - --#ifndef HAVE_INTPTR_T --#if defined (WIN32) || defined (XP_BEOS) --typedef long intptr_t; --#endif --#endif -- --#ifdef WIN32 --#define strcasecmp stricmp --#endif -- - #include "icalrecur.h" - - #include "icalerror.h" ---- libical-0.44/src/libical/icaltz-util.c 2009-01-08 17:50:21.000000000 +0100 -+++ libical-0.44/src/libical/icaltz-util.c 2009-04-15 15:17:06.000000000 +0200 -@@ -20,67 +20,24 @@ - * Boston, MA 02110-1301, USA. - */ - --#ifdef HAVE_CONFIG_H --#include "config.h" --#endif - #include -- - #if defined(sun) && defined(__SVR4) - #include -+#elif defined(_WIN32) -+#define BIG_ENDIAN 'B' -+#define LITTLE_ENDIAN 'l' -+#define BYTE_ORDER LITTLE_ENDIAN -+#define bswap32(val) ((((val) & 0x000000ffU) << 24) | (((val) & 0x0000ff00U) << 8) | (((val) & 0x00ff0000U) >> 8) | (((val) & 0xff000000U) >> 24)) -+#elif defined(__linux__) -+#include -+#include - #else --# ifdef HAVE_BYTESWAP_H --# include --# endif --# ifdef HAVE_SYS_ENDIAN_H --# include --# ifdef bswap32 --# define bswap_32 bswap32 --# else --# define bswap_32 swap32 --# endif --# endif --# ifdef HAVE_ENDIAN_H --# include --# endif --#endif -- --#ifdef WIN32 --#if !defined(HAVE_BYTESWAP_H) && !defined(HAVE_SYS_ENDIAN_H) && !defined(HAVE_ENDIAN_H) --#define bswap_16(x) (((x) << 8) & 0xff00) | (((x) >> 8 ) & 0xff) --#define bswap_32(x) (((x) << 24) & 0xff000000) \ -- | (((x) << 8) & 0xff0000) \ -- | (((x) >> 8) & 0xff00) \ -- | (((x) >> 24) & 0xff ) --#define bswap_64(x) ((((x) & 0xff00000000000000ull) >> 56) \ -- | (((x) & 0x00ff000000000000ull) >> 40) \ -- | (((x) & 0x0000ff0000000000ull) >> 24) \ -- | (((x) & 0x000000ff00000000ull) >> 8) \ -- | (((x) & 0x00000000ff000000ull) << 8) \ -- | (((x) & 0x0000000000ff0000ull) << 24) \ -- | (((x) & 0x000000000000ff00ull) << 40) \ -- | (((x) & 0x00000000000000ffull) << 56)) -+#include - #endif --#include --#endif -- --#ifndef PATH_MAX --#define PATH_MAX 512 --#endif -- --#ifndef F_OK --#define F_OK 0 --#endif -- --#ifndef R_OK --#define R_OK 4 --#endif -- - #include - #include - #include --#ifdef HAVE_UNISTD_H - #include --#endif - #include - #include - -@@ -139,7 +96,11 @@ - if ((BYTE_ORDER == BIG_ENDIAN) && sizeof (int) == 4) - return *(const int *) ptr; - else if (BYTE_ORDER == LITTLE_ENDIAN && sizeof (int) == 4) -+#ifdef __linux__ - return bswap_32 (*(const int *) ptr); -+#else -+ return bswap32 (*(const unsigned *) ptr); -+#endif - #endif - else - { ---- libical-0.44/src/libical/Makefile.am 2009-01-08 17:50:22.000000000 +0100 -+++ libical-0.44/src/libical/Makefile.am 2009-04-15 15:27:20.000000000 +0200 -@@ -51,7 +51,7 @@ - -I$(top_builddir)/src/libical \ - -I$(srcdir) - --libical_la_LDFLAGS = -version-info 44:0:44 -+libical_la_LDFLAGS = -version-info 44:0:44 -no-undefined - - libical_la_LIBADD = $(PTHREAD_LIBS) - ---- libical-0.44/src/libical/vsnprintf.c 2009-01-08 17:50:22.000000000 +0100 -+++ libical-0.44/src/libical/vsnprintf.c 2009-04-15 15:23:35.000000000 +0200 -@@ -1,8 +1,7 @@ --#ifndef WIN32 - #include "config.h" --#endif -+ - #ifndef HAVE_SNPRINTF --#error DO NOT USE libical version of vsnprintf. -+ - /* - * Revision 12: http://theos.com/~deraadt/snprintf.c - * ---- libical-0.44/src/libicalcap/Makefile.am 2009-01-08 17:50:20.000000000 +0100 -+++ libical-0.44/src/libicalcap/Makefile.am 2009-04-15 15:32:11.000000000 +0200 -@@ -34,7 +34,7 @@ - -I$(srcdir) \ - -DWITH_RR $(RRCAP_CFLAGS) - --libicalcap_evolution_la_LDFLAGS = $(RRCAP_LIBS) -version-info 44:0:44 -+libicalcap_evolution_la_LDFLAGS = $(RRCAP_LIBS) -version-info 44:0:44 -no-undefined - - - libicalcap_evolution_la_SOURCES = \ ---- libical-0.44/src/libicalss/Makefile.am 2009-01-08 17:50:22.000000000 +0100 -+++ libical-0.44/src/libicalss/Makefile.am 2009-04-15 15:34:41.000000000 +0200 -@@ -63,8 +63,8 @@ - -I$(top_builddir)/src/libical \ - $(BDB_INCLUDE) - --libicalss_la_LDFLAGS = -version-info 44:0:44 --libicalss_la_LIBADD = $(BDB_LIBFILES) -+libicalss_la_LDFLAGS = -version-info 44:0:44 -no-undefined -+libicalss_la_LIBADD = $(BDB_LIBFILES) $(top_builddir)/src/libical/libical.la - - if DEV - libicalss_la_DEVSOURCES = icalsslexer.l icalssyacc.y ---- libical-0.44/src/libicalvcal/Makefile.am 2009-01-08 17:50:23.000000000 +0100 -+++ libical-0.44/src/libicalvcal/Makefile.am 2009-04-15 15:31:48.000000000 +0200 -@@ -8,7 +8,7 @@ - -I$(top_builddir)/src/libical \ - -I$(top_srcdir)/src/libicalss - --libicalvcal_la_LDFLAGS = -version-info 44:0:44 -+libicalvcal_la_LDFLAGS = -version-info 44:0:44 -no-undefined - libicalvcal_la_LIBADD = ../libical/.libs/libical.la - - if DEV diff --git a/src/libical-2-windows.patch b/src/libical-2-windows.patch deleted file mode 100644 index 7cb7027..0000000 --- a/src/libical-2-windows.patch +++ /dev/null @@ -1,282 +0,0 @@ -This file is part of mingw-cross-env. -See doc/index.html for further information. - -This patch has been taken from: -https://build.opensuse.org/package/view_file?file=libical-0.44-windows.patch&package=mingw32-libical&project=windows%3Amingw%3Awin32 - ---- libical-0.44/src/libical/icaltime.c 2009-09-27 04:38:51.000000000 +0200 -+++ libical-0.44/src/libical/icaltime.c 2010-03-17 14:55:36.000000000 +0100 -@@ -45,14 +45,19 @@ - #include "icaltimezone.h" - #include "icalvalue.h" - --#ifdef WIN32 -+#ifdef _WIN32 - #include - - #define snprintf _snprintf - #define strcasecmp stricmp - #endif - --#ifdef WIN32 -+#ifdef HAVE_PTHREAD -+ #include -+ static pthread_mutex_t tzid_mutex = PTHREAD_MUTEX_INITIALIZER; -+#endif -+ -+#ifdef _WIN32 - /* Undef the similar macro from pthread.h, it doesn't check if - * gmtime() returns NULL. - */ -@@ -62,11 +67,6 @@ - #define gmtime_r(tp,tmp) (gmtime(tp)?(*(tmp)=*gmtime(tp),(tmp)):0) - #endif - --#ifdef HAVE_PTHREAD -- #include -- static pthread_mutex_t tzid_mutex = PTHREAD_MUTEX_INITIALIZER; --#endif -- - /* - * Function to convert a struct tm time specification - * to an ANSI time_t using the specified time zone. -@@ -192,18 +192,20 @@ - * - */ - struct icaltimetype --icaltime_from_timet_with_zone(const time_t tm, const int is_date, -+icaltime_from_timet_with_zone(time_t tm, const int is_date, - const icaltimezone *zone) - { - struct icaltimetype tt; - struct tm t; - icaltimezone *utc_zone; - -+ if (tm < 0) tm=0; -+ - utc_zone = icaltimezone_get_utc_timezone (); - - /* Convert the time_t to a struct tm in UTC time. We can trust gmtime - for this. */ --#ifdef HAVE_PTHREAD -+#if defined(HAVE_PTHREAD) || defined(_WIN32) - gmtime_r (&tm, &t); - #else - t = *(gmtime (&tm)); ---- libical-0.44/src/libical/icaltimezone.c 2009-09-27 04:38:51.000000000 +0200 -+++ libical-0.44/src/libical/icaltimezone.c 2010-03-19 14:34:25.000000000 +0100 -@@ -59,6 +59,61 @@ - /** This is the toplevel directory where the timezone data is installed in. */ - #define ZONEINFO_DIRECTORY PACKAGE_DATA_DIR "/zoneinfo" - -+#ifdef _WIN32 -+/* search for data relative to where we are installed */ -+ -+static HMODULE hmodule; -+ -+BOOL WINAPI -+DllMain (HINSTANCE hinstDLL, -+ DWORD fdwReason, -+ LPVOID lpvReserved) -+{ -+ switch (fdwReason) -+ { -+ case DLL_PROCESS_ATTACH: -+ hmodule = hinstDLL; -+ break; -+ } -+ -+ return TRUE; -+} -+ -+char * -+get_zoneinfo_directory (void) -+{ -+ static char retval[1000]; -+ static int beenhere = 0; -+ -+ unsigned char *p; -+ -+ if (beenhere) -+ return retval; -+ -+ if (!GetModuleFileName (hmodule, (CHAR *) retval, sizeof(retval) - 10)) -+ return ZONEINFO_DIRECTORY; -+ -+ p = _mbsrchr ((const unsigned char *) retval, '\\'); -+ *p = '\0'; -+ p = _mbsrchr ((const unsigned char *) retval, '\\'); -+ if (p) { -+ if (stricmp ((const char *) (p+1), "bin") == 0) -+ *p = '\0'; -+ } -+ strcat (retval, "\\share\\libical\\zoneinfo"); -+ -+ beenhere = 1; -+ -+ return retval; -+} -+ -+#undef ZONEINFO_DIRECTORY -+#define ZONEINFO_DIRECTORY get_zoneinfo_directory () -+ -+#endif -+ -+ -+ - /** The prefix we use to uniquely identify TZIDs. - It must begin and end with forward slashes. - */ -@@ -1943,96 +1998,7 @@ - - static const char* get_zone_directory(void) - { --#ifndef WIN32 - return zone_files_directory == NULL ? ZONEINFO_DIRECTORY : zone_files_directory; --#else -- wchar_t wbuffer[1000]; -- char buffer[1000], zoneinfodir[1000], dirname[1000]; -- int used_default; -- static char *cache = NULL; -- char *dirslash, *zislash; -- struct stat st; -- -- if (zone_files_directory) -- return zone_files_directory; -- -- if (cache) -- return cache; -- -- /* Get the filename of the application */ -- if (!GetModuleFileNameW (NULL, wbuffer, sizeof (wbuffer) / sizeof (wbuffer[0]))) -- return ZONEINFO_DIRECTORY; -- -- /* Convert to system codepage */ -- if (!WideCharToMultiByte (CP_ACP, 0, wbuffer, -1, buffer, sizeof (buffer), -- NULL, &used_default) || -- used_default) { -- /* Failed, try 8.3 format */ -- if (!GetShortPathNameW (wbuffer, wbuffer, -- sizeof (wbuffer) / sizeof (wbuffer[0])) || -- !WideCharToMultiByte (CP_ACP, 0, wbuffer, -1, buffer, sizeof (buffer), -- NULL, &used_default) || -- used_default) -- return ZONEINFO_DIRECTORY; -- } -- /* Look for the zoneinfo directory somewhere in the path where -- * the app is installed. If the path to the app is -- * -- * C:\opt\evo-2.6\bin\evolution-2.6.exe -- * -- * and the compile-time ZONEINFO_DIRECTORY is -- * -- * C:/devel/target/evo/share/evolution-data-server-1.6/zoneinfo, -- * -- * we check the pathnames: -- * -- * C:\opt\evo-2.6/devel/target/evo/share/evolution-data-server-1.6/zoneinfo -- * C:\opt\evo-2.6/target/evo/share/evolution-data-server-1.6/zoneinfo -- * C:\opt\evo-2.6/evo/share/evolution-data-server-1.6/zoneinfo -- * C:\opt\evo-2.6/share/evolution-data-server-1.6/zoneinfo <=== -- * C:\opt\evo-2.6/evolution-data-server-1.6/zoneinfo -- * C:\opt\evo-2.6/zoneinfo -- * C:\opt/devel/target/evo/share/evolution-data-server-1.6/zoneinfo -- * C:\opt/target/evo/share/evolution-data-server-1.6/zoneinfo -- * C:\opt/evo/share/evolution-data-server-1.6/zoneinfo -- * C:\opt/share/evolution-data-server-1.6/zoneinfo -- * C:\opt/evolution-data-server-1.6/zoneinfo -- * C:\opt/zoneinfo -- * C:/devel/target/evo/share/evolution-data-server-1.6/zoneinfo -- * C:/target/evo/share/evolution-data-server-1.6/zoneinfo -- * C:/evo/share/evolution-data-server-1.6/zoneinfo -- * C:/share/evolution-data-server-1.6/zoneinfo -- * C:/evolution-data-server-1.6/zoneinfo -- * C:/zoneinfo -- * -- * In Evolution's case, we would get a match already at the -- * fourth pathname check. -- */ -- -- /* Strip away basename of app .exe first */ -- dirslash = _mbsrchr (buffer, '\\'); -- if (dirslash) -- *dirslash = '\0'; -- -- while ((dirslash = _mbsrchr (buffer, '\\'))) { -- /* Strip one more directory from app .exe location */ -- *dirslash = '\0'; -- -- strcpy (zoneinfodir, ZONEINFO_DIRECTORY); -- while ((zislash = _mbschr (zoneinfodir, '/'))) { -- *zislash = '.'; -- strcpy (dirname, buffer); -- strcat (dirname, "/"); -- strcat (dirname, zislash + 1); -- if (stat (dirname, &st) == 0 && -- S_ISDIR (st.st_mode)) { -- cache = strdup (dirname); -- return cache; -- } -- } -- } -- return ZONEINFO_DIRECTORY; --#endif - } - - void set_zone_directory(char *path) ---- libical-0.44/src/libical/icaltz-util.c 2010-03-17 15:04:14.000000000 +0100 -+++ libical-0.44/src/libical/icaltz-util.c 2010-03-19 14:38:56.000000000 +0100 -@@ -41,6 +42,10 @@ - #include - #include - -+/** This is the filename of the file containing the city names and -+ coordinates of all the builtin timezones. */ -+#define ZONES_TAB_FILENAME "zones.tab" -+ - typedef struct - { - char ttisgmtcnt [4]; -@@ -53,7 +58,7 @@ - - static int r_pos [] = {1, 2, 3, -2, -1}; - --static char *search_paths [] = {"/usr/share/zoneinfo","/usr/lib/zoneinfo","/etc/zoneinfo","/usr/share/lib/zoneinfo"}; -+static char *search_paths [] = {"/usr/share/zoneinfo","/usr/lib/zoneinfo","/etc/zoneinfo","/usr/share/lib/zoneinfo",PACKAGE_DATA_DIR "/zoneinfo"}; - static char *zdir = NULL; - - #define NUM_SEARCH_PATHS (sizeof (search_paths)/ sizeof (search_paths [0])) -@@ -174,12 +179,24 @@ - return; - } - -+#ifdef _WIN32 -+char * get_zoneinfo_directory (void); -+#endif -+ - static void - set_zone_directory (void) - { - char file_path[PATH_MAX]; -- const char *fname = ZONES_TAB_SYSTEM_FILENAME; -+ -+#ifdef _WIN32 -+ const char *fname = ZONES_TAB_FILENAME; -+ -+ sprintf (file_path, "%s\\%s", get_zoneinfo_directory(), fname); -+ if (!access (file_path, F_OK|R_OK)) -+ zdir = strdup(get_zoneinfo_directory()); -+#else - int i; -+ const char *fname = ZONES_TAB_SYSTEM_FILENAME; - - for (i = 0;i < NUM_SEARCH_PATHS; i++) { - sprintf (file_path, "%s/%s", search_paths [i], fname); -@@ -188,6 +205,7 @@ - break; - } - } -+#endif - } - - diff --git a/src/libical-3-pthread.patch b/src/libical-3-pthread.patch deleted file mode 100644 index d32c894..0000000 --- a/src/libical-3-pthread.patch +++ /dev/null @@ -1,14 +0,0 @@ -This file is part of mingw-cross-env. -See doc/index.html for further information. - -This patch has been made by: garethcoco@gmail.com - ---- libical-0.44/libical.pc.in 2011-02-02 15:33:11.363284126 -0500 -+++ libical-0.44/libical.pc.in 2011-02-02 15:32:44.202284263 -0500 -@@ -6,6 +6,6 @@ - Name: libical - Description: An implementation of basic iCAL protocols - Version: @VERSION@ --Libs: -L${libdir} -lical -licalss -licalvcal -+Libs: -L${libdir} -lical -licalss -licalvcal @PTHREAD_LIBS@ - Cflags: -I${includedir}/ diff --git a/src/libical.mk b/src/libical.mk index 05550c7..2cd6bc6 100644 --- a/src/libical.mk +++ b/src/libical.mk @@ -1,11 +1,10 @@ # This file is part of mingw-cross-env. # See doc/index.html for further information. -# PDcurses +# libical PKG := libical -$(PKG)_IGNORE := 0.46 -$(PKG)_VERSION := 0.44 -$(PKG)_CHECKSUM := f781150e2d98806e91b7e0bee02abdc6baf9ac7d +$(PKG)_VERSION := 0.48 +$(PKG)_CHECKSUM := 4693cd0438be9f3727146ac1a46aa5b1b93b8c86 $(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION) $(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.gz $(PKG)_WEBSITE := http://freeassociation.sourceforge.net/ @@ -19,13 +18,13 @@ define $(PKG)_UPDATE endef define $(PKG)_BUILD - cd '$(1)' && ./configure \ - --host='$(TARGET)' \ - --prefix='$(PREFIX)/$(TARGET)' \ - --disable-shared - $(MAKE) -C '$(1)' -j '$(JOBS)' - $(MAKE) -C '$(1)' -j 1 install - + cd '$(1)' && mkdir build + cd '$(1)/build' && cmake .. \ + -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \ + -DSTATIC_LIBRARY=true + $(MAKE) -C '$(1)/build' -j '$(JOBS)' + $(MAKE) -C '$(1)/build' -j '$(JOBS)' install + '$(TARGET)-gcc' \ -W -Wall -Werror -ansi -pedantic \ '$(2).c' -o '$(PREFIX)/$(TARGET)/bin/test-libical.exe' \ -- cgit v0.12