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"