packages: icu/icu.spec, icu/icu-config (NEW), icu/pkgconfig.patch (NEW) - a...

glen glen at pld-linux.org
Sun Sep 20 15:34:01 CEST 2009


Author: glen                         Date: Sun Sep 20 13:34:01 2009 GMT
Module: packages                      Tag: HEAD
---- Log message:
- add pkgconfig support from fedora; rel 1

---- Files affected:
packages/icu:
   icu.spec (1.38 -> 1.39) , icu-config (NONE -> 1.1)  (NEW), pkgconfig.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/icu/icu.spec
diff -u packages/icu/icu.spec:1.38 packages/icu/icu.spec:1.39
--- packages/icu/icu.spec:1.38	Tue Sep  1 22:15:50 2009
+++ packages/icu/icu.spec	Sun Sep 20 15:33:56 2009
@@ -1,17 +1,21 @@
 # $Revision$, $Date$
+%define		ver	%(echo %{version} | tr . _)
 Summary:	International Components for Unicode
 Summary(pl.UTF-8):	Międzynarodowe komponenty dla unikodu
 Name:		icu
 Version:	4.2.1
-%define	ver	%(echo %{version} | tr . _)
-Release:	0.1
+Release:	1
 License:	MIT-like
 Group:		Libraries
-Source0:	http://download.icu-project.org/files/icu4c/%{version}/icu4c-%{ver}-src.tgz
+Source0:	http://download.icu-project.org/files/icu4c/%{version}/%{name}4c-%{ver}-src.tgz
 # Source0-md5:	e3738abd0d3ce1870dc1fd1f22bba5b1
+Patch0:		pkgconfig.patch
+Source1:	%{name}-config
 URL:		http://www.icu-project.org/
+BuildRequires:	autoconf
 BuildRequires:	automake
 BuildRequires:	libstdc++-devel
+BuildRequires:	libtool
 Requires:	libicu = %{version}-%{release}
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -75,10 +79,11 @@
 
 %prep
 %setup -q -n %{name}
+%patch0 -p1
 
 %build
 cd source
-cp -f /usr/share/automake/config.* .
+%{__autoconf}
 %configure \
 	--sbindir=%{_bindir} \
 	--disable-samples
@@ -91,6 +96,10 @@
 %{__make} -C source install \
 	DESTDIR=$RPM_BUILD_ROOT
 
+install -p %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/%{name}-config
+sed -i 's/\$(THREADSCXXFLAGS)//' $RPM_BUILD_ROOT%{_libdir}/pkgconfig/icu.pc
+sed -i 's/\$(THREADSCPPFLAGS)/-D_REENTRANT/' $RPM_BUILD_ROOT%{_libdir}/pkgconfig/icu.pc
+
 # help rpm to generate deps
 chmod +x $RPM_BUILD_ROOT%{_libdir}/lib*.so.*.*
 
@@ -124,6 +133,7 @@
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/icu-config
 %attr(755,root,root) %{_libdir}/libicu*.so
+%{_pkgconfigdir}/icu.pc
 %{_includedir}/unicode
 %{_includedir}/layout
 %dir %{_libdir}/%{name}
@@ -144,6 +154,9 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.39  2009/09/20 13:33:56  glen
+- add pkgconfig support from fedora; rel 1
+
 Revision 1.38  2009/09/01 20:15:50  qboosh
 - made install-sh script executable
 

================================================================
Index: packages/icu/icu-config
diff -u /dev/null packages/icu/icu-config:1.1
--- /dev/null	Sun Sep 20 15:34:02 2009
+++ packages/icu/icu-config	Sun Sep 20 15:33:56 2009
@@ -0,0 +1,387 @@
+#!/bin/sh
+## -*-sh-*-
+#set -x
+# BEGIN of icu-config-top
+#******************************************************************************
+#   Copyright (C) 1999-2004, International Business Machines
+#   Corporation and others.  All Rights Reserved.
+#******************************************************************************
+# This script is designed to aid configuration of ICU.
+# rpath links a library search path right into the binaries.
+
+
+### END of icu-config-top
+
+## Zero out prefix.
+exec_prefix=`pkg-config --variable=exec_prefix icu`
+execprefix=$exec_prefix
+prefix=`pkg-config --variable=prefix icu`
+
+
+loaddefs()
+{
+LDLIBRARYPATH_ENVVAR="LD_LIBRARY_PATH"
+bindir=`pkg-config --variable=bindir icu`
+sbindir=`pkg-config --variable=sbindir icu`
+libdir=`pkg-config --variable=libdir icu`
+sysconfdir=`pkg-config --variable=sysconfdir icu`
+mandir=`pkg-config --variable=mandir icu`
+datadir=`pkg-config --variable=datadir icu`
+pkglibdir=`pkg-config --variable=pkglibdir icu`
+ICULIBS_COMMON_LIB_NAME=`pkg-config --variable=ICULIBS_COMMON_LIB_NAME icu`
+UNICODE_VERSION=`pkg-config --variable=UNICODE_VERSION icu`
+VERSION=`pkg-config --modversion icu`
+SO=`pkg-config --variable=SO icu`
+
+## -*-sh-*-
+## BEGIN of icu-config-bottom.
+## Copyright (c) 2002-2004, International Business Machines Corporation and
+## others. All Rights Reserved.
+
+ICUUC_FILE=${libdir}/${ICULIBS_COMMON_LIB_NAME}
+    
+#  echo ENABLE RPATH $ENABLE_RPATH and RPATHLDFLAGS=${RPATH_LDFLAGS}
+if [ "x$PKGDATA_MODE" = "x" ]; then
+    PKGDATA_MODE=dll
+fi
+
+}
+
+## The actual code of icu-config goes here.
+
+ME=`basename $0`
+
+allflags()
+{
+    echo "  --bindir               Print binary directory path (bin)"
+    echo "  --cc                   Print C compiler used [CC]"
+    echo "  --cflags               Print C compiler flags [CFLAGS]"
+    echo "  --cflags-dynamic       Print additional C flags for"
+    echo "                             building shared libraries."
+    echo "  --cppflags             Print C Preprocessor flags [CPPFLAGS]"
+    echo "  --cppflags-dynamic     Print additional C Preprocessor flags for"
+    echo "                             building shared libraries."
+    echo "  --cppflags-searchpath  Print only -I include directives  (-Iinclude)"
+    echo "  --cxx                  Print C++ compiler used [CXX]"
+    echo "  --cxxflags             Print C++ compiler flags [CXXFLAGS]"
+    echo "  --cxxflags-dynamic     Print additional C++ flags for"
+    echo "                             building shared libraries."
+    echo "  --detect-prefix        Attempt to detect prefix based on PATH"
+    echo "  --exec-prefix          Print prefix for executables (/bin)"
+    echo "  --exists               Return with 0 status if ICU exists else fail"
+    echo "  --help, -?, --usage    Print this message"
+    echo "  --icudata              Print shortname of ICU data file (icudt21l)"
+    echo "  --icudata-install-dir  Print path to install data to - use as --install option to pkgdata(1)"
+    echo "  --icudata-mode         Print default ICU pkgdata mode (dll) - use as --mode option to pkgdata(1)."
+    echo "  --icudatadir           Print path to packaged archive data. Can set as [ICU_DATA]"
+    echo "  --invoke               Print commands to invoke an ICU program"
+    echo "  --invoke=<prog>        Print commands to invoke an ICU program named <prog> (ex: genrb)" 
+    echo "  --ldflags              Print -L search path and -l libraries to link with ICU [LDFLAGS].  This is for the data, uc (common), and i18n libraries only.  "
+    echo "  --ldflags-layout       Print ICU layout engine link directive. Use in addition to --ldflags"
+    echo "  --ldflags-libsonly     Same as --ldflags, but only the -l directives"
+    echo "  --ldflags-searchpath   Print only -L (search path) directive"
+    echo "  --ldflags-system       Print only system libs ICU links with (-lpthread, -lm)"
+    echo "  --ldflags-icuio        Print ICU icuio link directive. Use in addition to --ldflags "
+    echo "  --ldflags-obsolete     Print ICU obsolete link directive. Use in addition to --ldflags. (requires icuapps/obsolete to be built and installed.) "
+    echo "  --mandir               Print manpage (man) path"
+    echo "  --prefix               Print PREFIX to icu install (/usr/local)"
+    echo "  --prefix=XXX           Set prefix to XXX for remainder of command"
+    echo "  --sbindir              Print system binary path (sbin) "
+    echo "  --shared-datadir       Print shared data (share) path. This is NOT the ICU data dir."
+    echo "  --shlib-c              Print the command to compile and build C shared libraries with ICU"
+    echo "  --shlib-cc             Print the command to compile and build C++ shared libraries with ICU"
+    echo "  --sysconfdir           Print system config (etc) path"
+    echo "  --unicode-version      Print version of Unicode data used in ICU ($UNICODE_VERSION)"
+    echo "  --version              Print ICU version ($VERSION)"
+    echo "  --incfile              Print path to Makefile.inc (for -O option of pkgdata)"
+}
+
+## Print the normal usage message
+shortusage()
+{
+    echo "usage: ${ME} " `allflags | cut -c-25 | sed -e 's%.*%[ & ]%'`
+}
+
+
+usage()
+{
+    echo "${ME}: icu-config: ICU configuration helper script"
+    echo
+    echo "The most commonly used options will be --cflags, --cxxflags, --cppflags, and --ldflags."
+    echo 'Example (in make):   CPFLAGS=$(shell icu-config --cppflags)'
+    echo '                     LDFLAGS=$(shell icu-config --ldflags)'
+    echo "                     (etc).."
+    echo
+    echo "Usage:"
+    allflags
+
+    echo 
+    echo " [Brackets] show MAKE variable equivalents,  (parenthesis) show example output"
+    echo
+    echo "Copyright (c) 2002, International Business Machines Corporation and others. All Rights Reserved."
+}
+
+## Check the sanity of current variables
+sanity()
+{
+    if [ ! -f ${ICUUC_FILE} ];
+    then
+	echo "### $ME: Can't find ${ICUUC_FILE} - ICU prefix is wrong."  1>&2
+	echo "###      Try the --prefix= or --exec-prefix= options " 1>&2
+	echo "###      or --detect-prefix"
+	echo "### $ME: Exitting." 1>&2
+	exit 2
+    fi
+}
+
+## Main starts here.
+
+if [ $# -lt 1 ]; then
+    shortusage
+    exit 1
+fi
+
+
+# Load our variables from autoconf
+# ALWAYS load twice because of dependencies
+loaddefs
+loaddefs
+sanity
+
+while [ $# -gt 0 ];
+do
+    arg="$1"
+    var=`echo $arg | sed -e 's/^[^=]*=//'`
+#    echo "### processing $arg" 1>&2
+    case "$arg" in
+
+        # undocumented.
+	--debug)
+	    set -x
+	    ;;
+
+        --so)
+            echo $SO
+            ;;
+
+	--bindir)
+	    echo $bindir
+	    ;;
+
+	--libdir)
+	    echo $libdir
+	    ;;
+
+	--exists)
+	    sanity
+	    ;;
+
+	--sbindir)
+	    echo $sbindir
+	    ;;
+
+	--invoke=*)
+	    QUOT="'"
+            CMD="${var}"
+
+            # If it's not a locally executable command (1st choice) then 
+            # search for it in the ICU directories. 
+            if [ ! -x ${CMD} ]; then
+                if [ -x ${bindir}/${var} ]; then
+                    CMD="${bindir}/${var}"
+                fi
+                if [ -x ${sbindir}/${var} ]; then
+                    CMD="${sbindir}/${var}"
+                fi
+            fi
+
+	    echo "env ${QUOT}${LDLIBRARYPATH_ENVVAR}=${libdir}:"'${'"${LDLIBRARYPATH_ENVVAR}"'}'${QUOT} ${CMD}
+	    ;;
+
+	--invoke)
+	    QUOT="'"
+	    echo "env ${QUOT}${LDLIBRARYPATH_ENVVAR}=${libdir}:"'${'"${LDLIBRARYPATH_ENVVAR}"'}'${QUOT}
+	    ;;
+
+	--cflags)
+            pkg-config --variable=CFLAGS icu
+	    ;;
+	    
+	--cc)
+	    echo cc
+	    ;;
+	    
+	--cxx)
+	    echo c++
+	    ;;
+
+	--cxxflags)
+            pkg-config --variable=CXXFLAGS icu
+	    ;;
+
+	--cppflags)
+	    # Don't echo the -I. - it's unneeded.
+            CPPFLAGS=`pkg-config --variable=CPPFLAGS icu`
+	    echo $CPPFLAGS | sed -e 's/-I. //'
+	    ;;
+
+	--cppflags-searchpath)
+	    echo -I${prefix}/include
+	    ;;
+
+	--cppflags-dynamic)
+            pkg-config --variable=SHAREDLIBCPPFLAGS icu
+	    ;;
+
+	--cxxflags-dynamic)
+            pkg-config --variable=SHAREDLIBCXXFLAGS icu
+	    ;;
+
+	--cflags-dynamic)
+            pkg-config --variable=SHAREDLIBCFLAGS icu
+	    ;;
+
+	--ldflags-system)
+            pkg-config --variable=ICULIBS_SYSTEMLIBS icu
+	    ;;
+
+	--ldflags)
+            pkg-config --libs icu
+# $RPATH_LDFLAGS
+	    ;;
+
+	--ldflags-libsonly)
+            pkg-config --variable=ICULIBS_LIBSONLY icu
+	    ;;
+
+	--ldflags-icuio)
+            pkg-config --variable=ICULIBS_ICUIO icu
+	    ;;
+
+	--ldflags-obsolete)
+            pkg-config --variable=ICULIBS_OBSOLETE icu
+	    ;;
+
+	--ldflags-toolutil)
+            pkg-config --variable=ICULIBS_TOOLUTIL icu
+	    ;;
+
+	--ldflags-layout)
+            pkg-config --variable=ICULIBS_LAYOUT icu
+	    ;;
+
+	--ldflags-searchpath)
+	    echo -L${libdir}
+	    ;;
+
+	--detect-prefix)
+	    HERE=`echo $0 | sed -e "s/$ME//g"`
+	    if [ -f $HERE/../lib/${ICULIBS_COMMON_LIB_NAME} ]; then
+		prefix=$HERE/..
+		echo "## Using --prefix=${prefix}" 1>&2
+	    fi
+	    loaddefs
+	    loaddefs
+	    sanity
+	    ;;
+
+	--exec-prefix)
+	    echo $exec_prefix
+	    ;;
+
+	--prefix)
+	    echo $prefix
+	    ;;
+
+	--prefix=*)
+	    prefix=$var
+	    loaddefs
+	    loaddefs
+	    sanity
+	    ;;
+
+	--sysconfdir)
+	    echo $sysconfdir
+	    ;;
+
+	--mandir)
+	    echo $mandir
+	    ;;
+
+	--shared-datadir)
+	    echo $datadir
+	    ;;
+
+        --incfile)
+	    echo $pkglibdir/Makefile.inc
+	    ;;
+
+	--icudata)
+            pkg-config --variable=ICUDATA_NAME icu
+	    ;;
+
+	--icudata-mode)
+	    echo $PKGDATA_MODE
+	    ;;
+
+	--icudata-install-dir)
+            pkg-config --variable=ICUPKGDATA_DIR icu
+	    ;;
+	    
+	--icudatadir)
+            pkg-config --variable=ICUDATA_DIR icu
+	    ;;
+
+	--shlib-c)
+            pkg-config --variable=SHLIB_c icu
+	    ;;
+
+	--shlib-cc)
+            pkg-config --variable=SHLIB_cc icu
+	    ;;
+
+	--version)
+            echo $VERSION
+            ;;
+
+        --unicode-version)
+            echo $UNICODE_VERSION
+            ;;
+
+	--help)
+	    usage
+	    exit 0
+	    ;;
+
+	--usage)
+	    usage
+	    exit 0
+	    ;;
+
+#	--enable-rpath=*)
+#	    ENABLE_RPATH=$var
+#	    loaddefs
+#	    ;;
+
+	-?)
+	    usage
+	    exit 0
+	    ;;
+
+        *)
+	    echo ${ME}: ERROR Unknown Option $arg 1>&2
+            echo 1>&2
+            shortusage 1>&2
+	    echo "### $ME: Exitting." 1>&2
+            exit 1;
+            ;;
+    esac
+    shift
+done
+
+# Check once before we quit (will check last used prefix)
+sanity
+## END of icu-config-bottom
+
+exit 0
+

================================================================
Index: packages/icu/pkgconfig.patch
diff -u /dev/null packages/icu/pkgconfig.patch:1.1
--- /dev/null	Sun Sep 20 15:34:02 2009
+++ packages/icu/pkgconfig.patch	Sun Sep 20 15:33:56 2009
@@ -0,0 +1,70 @@
+--- icu/source/configure.in.orig	2006-05-02 12:10:31.000000000 +0100
++++ icu/source/configure.in	2006-05-02 15:06:07.000000000 +0100
+@@ -1117,6 +1117,7 @@
+ 		Makefile \
+ 		data/pkgdataMakefile \
+ 		config/Makefile.inc \
++		config/icu.pc \
+ 		config/pkgdataMakefile \
+ 		data/Makefile \
+ 		stubdata/Makefile \
+--- /dev/null	2006-04-29 13:38:37.035974750 +0100
++++ icu/source/config/icu.pc.in	2006-05-02 15:03:14.000000000 +0100
+@@ -0,0 +1,46 @@
++prefix = @prefix@
++bindir = @bindir@
++exec_prefix = @exec_prefix@
++libdir = @libdir@
++includedir = @includedir@
++datadir = @datadir@
++sbindir = @sbindir@
++mandir = @mandir@
++sysconfdir = @sysconfdir@
++CFLAGS = @CFLAGS@ 
++CXXFLAGS = @CXXFLAGS@ 
++DEFS = @DEFS@ 
++UNICODE_VERSION=@UNICODE_VERSION@
++ICUPREFIX=icu
++ICULIBSUFFIX=@ICULIBSUFFIX@
++LIBICU=lib${ICUPREFIX}
++LIBCPPFLAGS=-D_REENTRANT
++CPPFLAGS=@CPPFLAGS@ ${LIBCPPFLAGS} -I${prefix}/include
++SHAREDLIBCPPFLAGS=-DPIC
++SHAREDLIBCXXFLAGS=-fPIC
++SHAREDLIBCFLAGS=-fPIC
++pkglibdir=${libdir}/@PACKAGE@${ICULIBSUFFIX}/@VERSION@
++pkgdatadir=${datadir}/@PACKAGE@${ICULIBSUFFIX}/@VERSION@
++ICUDATA_NAME = icudt at LIB_VERSION_MAJOR@@ICUDATA_CHAR@
++ICUPKGDATA_DIR=@libdir@
++ICUDATA_DIR=${pkgdatadir}
++SO=so
++ICULIBS_COMMON_LIB_NAME=${LIBICU}uc${ICULIBSUFFIX}.${SO}
++SHLIB_cc=cxx ${DEFS} ${CPPFLAGS} ${CXXFLAGS} @LDFLAGS@ -shared
++SHLIB_c=cc ${DEFS} ${CPPFLAGS} ${CFLAGS} @LDFLAGS@ -shared
++ICULIBS_LAYOUT = -l${ICUPREFIX}le${ICULIBSUFFIX} -l${ICUPREFIX}lx${ICULIBSUFFIX}
++ICULIBS_TOOLUTIL = -l${ICUPREFIX}tu${ICULIBSUFFIX}
++ICULIBS_OBSOLETE = -l${ICUPREFIX}obsolete${ICULIBSUFFIX}
++ICULIBS_ICUIO = -l${ICUPREFIX}io${ICULIBSUFFIX}
++ICULIBS_I18N = -l${ICUPREFIX}i18n${ICULIBSUFFIX}
++ICULIBS_COMMON = -l${ICUPREFIX}uc${ICULIBSUFFIX}
++ICULIBS_DATA = -l${ICUPREFIX}data${ICULIBSUFFIX}
++ICULIBS_LIBSONLY = ${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA}
++ICULIBS_SYSTEMLIBS = @LIBS@
++ICULIBS_BASE = @LIBS@ -L${libdir}
++ICULIBS = ${ICULIBS_BASE} ${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA}
++
++Name: @PACKAGE@
++Description: International Components for Unicode
++Version: @VERSION@
++Libs: @LDFLAGS@ ${ICULIBS} @LIBS@
+--- icu/source/Makefile.in.orig	2006-05-02 12:10:31.000000000 +0100
++++ icu/source/Makefile.in	2006-05-02 15:18:15.000000000 +0100
+@@ -126,6 +126,8 @@
+ 	$(INSTALL_DATA) @platform_make_fragment@ $(DESTDIR)$(pkgdatadir)/config/@platform_make_fragment_name@
+ 	$(INSTALL_SCRIPT) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(pkgdatadir)/mkinstalldirs
+ 	$(INSTALL_SCRIPT) $(top_srcdir)/install-sh $(DESTDIR)$(pkgdatadir)/install-sh
++	@$(MKINSTALLDIRS) $(DESTDIR)$(libdir)/pkgconfig
++	$(INSTALL_DATA) $(top_srcdir)/config/icu.pc $(DESTDIR)$(libdir)/pkgconfig/icu.pc
+ 	$(INSTALL_DATA) $(top_srcdir)/../license.html $(DESTDIR)$(pkgdatadir)/license.html
+ 	$(INSTALL_SCRIPT) $(top_builddir)/config/icu-config $(DESTDIR)$(bindir)/icu-config
+ 	$(INSTALL_DATA) $(top_builddir)/config/Makefile.inc $(DESTDIR)$(pkglibdir)/Makefile.inc
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/icu/icu.spec?r1=1.38&r2=1.39&f=u



More information about the pld-cvs-commit mailing list