Re: [ITP] libuninum

Andrew Schulman via Cygwin-apps <[email protected]> Fri, 31 Oct 2025 12:26:12 -0400
Newsgroups gmane.os.cygwin.applications
Message-ID <[email protected]>
On Fri, 31 Oct 2025 16:39:36 +0100, in gmane.os.cygwin.applications you wrote:

>On 31/10/2025 00:04, Andrew Schulman via Cygwin-apps wrote:
>> # Cygport script for libuninum
>> 
>> NAME=libuninum
>> VERSION=2.7
>> RELEASE=1
>...
>> PATCH_URI="
>>      libuninum-no-undefined.patch
>> "
>
>can you please attach the cygport and the patch ?

Sure, here you go. Both are also available in the libuninum branch of
https://cygwin.com/git/cygwin-packages/playground .
libuninum.cygport (text/plain, 1.8 KB)
# Cygport script for libuninum

NAME=libuninum
VERSION=2.7
RELEASE=1

# Packaging

SUMMARY="Convert between Unicode strings and numbers"
DESCRIPTION="Library for converting Unicode strings to numbers and numbers to Unicode strings. Standard functions like strtoul, strtod, and sprintf do this for numbers written in the usual Western number system using the Indo-Arabic numerals, but they do not handle other number systems. The main functions take as input a UTF-32 Unicode string and compute the corresponding unsigned integer. For example, they will convert the Chinese string 五å??ä¹?万四å?ƒä¸‰ç™¾äºŒå??一 to the integer 594,321 and the Devanagari string ७८४९२ to the integer 78,492. Internal computation is done using arbitrary precision arithmetic, so there is no limit on the size of the integer that can be converted."
CATEGORY="Libs"
HOMEPAGE="https://www.billposer.org/Software/libuninum.html"
LICENSE="LGPL-2.0-only"

PKG_NAMES="libuninum libuninum-devel numconv"

libuninum_CONTENTS="usr/bin/cyguninum-5.dll"
libuninum_CATEGORY="Libs"

libuninum_devel_CONTENTS="--exclude=usr/bin --exclude=usr/share/man usr"
libuninum_devel_CATEGORY="Devel"

numconv_CONTENTS="usr/bin/numconv.exe usr/share/man"
numconv_CATEGORY="Utils"
numconv_SUMMARY="Convert integers from one number system to another"
numconv_DESCRIPTION='numconv is a filter that converts integers from one number system to another.  For example, it can convert from Roman Numerals such as "CCLVI" to ordinary Western numbers such as "256" or from Western numbers to Chinese.'

# Sources

SRC_URI="https://billposer.org/Software/Downloads/libuninum-${PV}.tar.bz2"

PATCH_URI="
	libuninum-no-undefined.patch
"

# Build

BUILD_REQUIRES="libgmp-devel"

src_install() {
	cd "${B}"
	cyginstall
	rm "${D}/usr/bin/NumberConverter.tcl"
}
libuninum-no-undefined.patch (text/plain, 635 B)
diff --unified '--color=auto' -urN libuninum-2.7.orig/Makefile.am libuninum-2.7/Makefile.am
--- libuninum-2.7.orig/Makefile.am	2008-02-09 22:59:33.000000000 -0500
+++ libuninum-2.7/Makefile.am	2025-10-30 08:35:25.245261200 -0400
@@ -9,7 +9,7 @@
 library_include_HEADERS =  nsdefs.h unicode.h uninum.h
 numconv_LDADD = libuninum.la
 LIBS+=-lm
-libuninum_la_LDFLAGS = -version-info 8:0:3
+libuninum_la_LDFLAGS = -version-info 8:0:3 -no-undefined
 EXTRA_DIST = Examples GPL TestFiles uninum.i tcl_uninum_wrap.c README_TCL TclMakefile CREDITS NumberConverter.tcl README_NUMBERCONVERTER
 AUTOMAKE_OPTIONS = dist-zip dist-bzip2
 if ALLOCAOK