This is the mail archive of the cygwin-apps mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: ITP libunistring 0.9.3-1


On Thu, 2011-10-06 at 22:52 +0200, Erwin Waterlander wrote:
> I propose package 'libunistring' for cygwin.

I presume you have another package in mind which will use this?

> http://waterlan.home.xs4all.nl/libunistring/libunistring-0.9.3-1.tar.bz2
> http://waterlan.home.xs4all.nl/libunistring/libunistring-0.9.3-1-src.tar.bz2

There are several packaging issues:

1) Libraries should be packaged in separate runtime and development
packages, so that nothing will break whenever the library ABI changes.

2) Your .cygport file uses internal functions.  This is not supported.

3) You have skipped the cygautoreconf step.  As mentioned in the cygport
documentation, this is strongly discouraged, particularly where libtool
is involved.

Therefore the .cygport should look like:

DESCRIPTION="Unicode string library"
HOMEPAGE="http://www.gnu.org/s/libunistring/";
SRC_URI="mirror://gnu/libunistring/${P}.tar.gz"

PKG_NAMES="libunistring0 libunistring-devel libunistring-doc"
libunistring0_CONTENTS="usr/bin/cygunistring-0.dll"
libunistring_devel_CONTENTS="usr/include/ usr/lib/"
libunistring_doc_CONTENTS="usr/share/doc/ usr/share/info/"

That's it.

4) I see this is one of Bruno's packages.  He has some unconventional
views about the PE format, and Cygwin in particular.  I would suggest
the attached patch.

> category: Libs
> requires: libgcc1
> sdesc: "Library for manipulating Unicode strings."
> ldesc: "This library provides functions for manipulating Unicode
> strings and for manipulating C strings according to the Unicode standard."

You will need separate .hint files for each subpackage, adding the
external-source tag.  You also need to add a libiconv2 dependency to the
runtime package and libiconv to the devel package.


Yaakov

--- origsrc/libunistring-0.9.3/configure.ac	2010-03-28 21:35:26.000000000 -0500
+++ src/libunistring-0.9.3/configure.ac	2011-10-06 18:12:24.064566600 -0500
@@ -61,7 +61,7 @@ LT_LANG([Windows Resource])
 dnl On mingw and Cygwin, we can activate special Makefile rules which add
 dnl version information to the shared libraries and executables.
 case "$host_os" in
-  mingw* | cygwin*) is_woe32=yes ;;
+  mingw*) is_woe32=yes ;;
   *) is_woe32=no ;;
 esac
 AM_CONDITIONAL([WOE32], [test $is_woe32 = yes])
@@ -79,7 +79,7 @@ dnl    must arrange to define the auxili
 dnl    exported variables _also_ in the static library.
 if test "$enable_shared" = yes; then
   case "$host_os" in
-    mingw* | cygwin*) is_woe32dll=yes ;;
+    mingw*) is_woe32dll=yes ;;
     *) is_woe32dll=no ;;
   esac
 else
--- origsrc/libunistring-0.9.3/m4/woe32-dll.m4	2009-04-19 13:00:22.000000000 -0500
+++ src/libunistring-0.9.3/m4/woe32-dll.m4	2011-10-06 19:29:25.470649000 -0500
@@ -29,7 +29,7 @@ AC_DEFUN([gl_WOE32_DLL],
 [
   AC_REQUIRE([AC_CANONICAL_HOST])
   case "$host_os" in
-    mingw* | cygwin*)
+    mingw*)
       AC_MSG_CHECKING([for auto-import of symbols])
       AC_CACHE_VAL([gl_cv_ld_autoimport], [
         gl_save_LDFLAGS="$LDFLAGS"

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]