changeset 1805:8b83f56d4334

corrections and improvements for package poco
author Volker Grabsch <vog@notjusthosting.com>
date Sun, 01 May 2011 17:44:17 +0200
parents 23ed773796dc
children d46f98d0bca6
files src/poco-1-fix-mno-cygwin.patch src/poco-test.cpp src/poco.mk
diffstat 3 files changed, 44 insertions(+), 69 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/poco-1-fix-mno-cygwin.patch	Sun May 01 17:44:17 2011 +0200
@@ -0,0 +1,23 @@
+This file is part of mingw-cross-env.
+See doc/index.html for further information.
+
+--- a/build/config/MinGW-CrossEnv
++++ b/build/config/MinGW-CrossEnv
+@@ -23,7 +23,7 @@ CXX     = $(CROSSENV)-g++
+ LINK    = $(CXX)
+ LIB     = $(CROSSENV)-ar -cr
+ RANLIB  = $(CROSSENV)-ranlib
+-SHLIB   = $(CXX) -shared -mno-cygwin -o $@ -Wl,--out-implib=$(dir $@)$(subst cyg,lib,$(basename $(notdir $@))).a
++SHLIB   = $(CXX) -shared -o $@ -Wl,--out-implib=$(dir $@)$(subst cyg,lib,$(basename $(notdir $@))).a
+ SHLIBLN = $(POCO_BASE)/build/script/shlibln
+ STRIP   = 
+ DEP     = $(POCO_BASE)/build/script/makedepend.gcc 
+@@ -68,7 +68,7 @@ RELEASEOPT_LINK = -O2
+ #
+ # System Specific Flags
+ #
+-SYSFLAGS = -mno-cygwin -D_WIN32 -DMINGW32 -DWINVER=0x500 -DPOCO_NO_FPENVIRONMENT -DPCRE_STATIC -DPOCO_THREAD_STACK_SIZE -DFoundation_Config_INCLUDED
++SYSFLAGS = -D_WIN32 -DMINGW32 -DWINVER=0x500 -DPOCO_NO_FPENVIRONMENT -DPCRE_STATIC -DPOCO_THREAD_STACK_SIZE -DFoundation_Config_INCLUDED
+ 
+ #
+ # System Specific Libraries
--- a/src/poco-test.cpp	Sun May 01 16:52:46 2011 +0200
+++ b/src/poco-test.cpp	Sun May 01 17:44:17 2011 +0200
@@ -1,68 +1,13 @@
 /* This file is part of mingw-cross-env.       */
 /* See doc/index.html for further information. */
 
-//
-// DateTime.cpp
-//
-// $Id: //poco/1.4/Foundation/samples/DateTime/src/DateTime.cpp#1 $
-//
-// This sample demonstrates the DateTime class.
-//
-// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
-// and Contributors.
-//
-// Permission is hereby granted, free of charge, to any person or organization
-// obtaining a copy of the software and accompanying documentation covered by
-// this license (the "Software") to use, reproduce, display, distribute,
-// execute, and transmit the Software, and to prepare derivative works of the
-// Software, and to permit third-parties to whom the Software is furnished to
-// do so, all subject to the following:
-//
-// The copyright notices in the Software and this entire statement, including
-// the above license grant, this restriction and the following disclaimer,
-// must be included in all copies of the Software, in whole or in part, and
-// all derivative works of the Software, unless such copies or derivative
-// works are solely in the form of machine-executable object code generated by
-// a source language processor.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-// DEALINGS IN THE SOFTWARE.
-//
-
-
-#include "Poco/LocalDateTime.h"
-#include "Poco/DateTime.h"
-#include "Poco/DateTimeFormat.h"
-#include "Poco/DateTimeFormatter.h"
-#include "Poco/DateTimeParser.h"
 #include <iostream>
-
-
-using Poco::LocalDateTime;
-using Poco::DateTime;
-using Poco::DateTimeFormat;
-using Poco::DateTimeFormatter;
-using Poco::DateTimeParser;
-
+#include <Poco/DateTimeFormat.h>
+#include <Poco/DateTimeFormatter.h>
+#include <Poco/LocalDateTime.h>
 
 int main()
 {
-    LocalDateTime now;
-
-    std::string str = DateTimeFormatter::format(now, DateTimeFormat::ISO8601_FORMAT);
-    DateTime dt;
-    int tzd;
-    DateTimeParser::parse(DateTimeFormat::ISO8601_FORMAT, str, dt, tzd);
-    dt.makeUTC(tzd);
-    LocalDateTime ldt(tzd, dt);
-
-    std::cerr << "Current time is " << str << std::endl;
-    str = DateTimeFormatter::format(ldt, DateTimeFormat::ISO8601_FORMAT);
-    std::cerr << "Parsed current time is " << str << std::endl;
+    std::cout << Poco::DateTimeFormatter::format(Poco::LocalDateTime(), Poco::DateTimeFormat::ISO8601_FORMAT) << std::endl;
     return 0;
 }
--- a/src/poco.mk	Sun May 01 16:52:46 2011 +0200
+++ b/src/poco.mk	Sun May 01 17:44:17 2011 +0200
@@ -4,22 +4,29 @@
 # POCO C++ Libraries
 PKG             := poco
 $(PKG)_IGNORE   :=
-$(PKG)_VERSION  := 1.4.1
-$(PKG)_PATCHNUM := p1
+$(PKG)_VERSION  := 1.4.1p1
 $(PKG)_CHECKSUM := e9810b8fc14c607626d7d3c74baf60726a61e83c
-$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)$($(PKG)_PATCHNUM)
-$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION)$($(PKG)_PATCHNUM).tar.gz
-$(PKG)_WEBSITE  := http://sourceforge.net/projects/$(PKG)/
-$(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/poco/sources/poco-$($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $($(PKG)_SUBDIR).tar.gz
+$(PKG)_WEBSITE  := http://pocoproject.org/
+$(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/$(PKG)/sources/$(PKG)-$(word 1,$(subst p, ,$($(PKG)_VERSION)))/$($(PKG)_FILE)
 $(PKG)_DEPS     := gcc
 
+define $(PKG)_UPDATE
+    wget -q -O- 'http://pocoproject.org/download/' | \
+    $(SED) -n 's,.*poco-\([0-9][^>/]*\)\.tar.*,\1,p' | \
+    head -1
+endef
+
 define $(PKG)_BUILD
     cd '$(1)' && ./configure \
         --config=MinGW-CrossEnv \
         --static \
-        --prefix='$(PREFIX)/$(TARGET)' 
-    $(MAKE) -C '$(1)' -j '$(JOBS)' install 
+        --prefix='$(PREFIX)/$(TARGET)'
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install
 
-    '$(TARGET)-g++' -W -Wall -Werror -ansi -pedantic \
-        '$(2).cpp' -o '$(PREFIX)/$(TARGET)/bin/test-poco.exe' -lPocoFoundation
+    '$(TARGET)-g++' \
+        -W -Wall -Werror -ansi -pedantic \
+        '$(2).cpp' -o '$(PREFIX)/$(TARGET)/bin/test-poco.exe' \
+        -lPocoFoundation
 endef