diff --git a/projects/gnu.org/libiconv/package.yml b/projects/gnu.org/libiconv/package.yml new file mode 100644 index 00000000..89bb74d5 --- /dev/null +++ b/projects/gnu.org/libiconv/package.yml @@ -0,0 +1,32 @@ +distributable: + url: https://ftp.gnu.org/gnu/libiconv/libiconv-{{version.marketing}}.tar.gz + strip-components: 1 + +versions: + - 1.17.0 # fix + +build: + dependencies: + tea.xyz/gx/cc: c99 + tea.xyz/gx/make: '*' + script: | + ./configure $ARGS + make --jobs {{ hw.concurrency }} + make install + env: + ARGS: + - --prefix="{{prefix}}" + - --disable-debug + - --disable-dependency-tracking + - --enable-extra-encodings + - --enable-static + +provides: + - bin/iconv + +test: + dependencies: + tea.xyz/gx/cc: c99 + script: | + g++ -std=c++11 test.cc -liconv + ./a.out diff --git a/projects/gnu.org/libiconv/test.cc b/projects/gnu.org/libiconv/test.cc new file mode 100644 index 00000000..066932db --- /dev/null +++ b/projects/gnu.org/libiconv/test.cc @@ -0,0 +1,22 @@ +#include +#include +#include + +int main(int argc, char *argv[]) +{ + char src[] = "abcčde"; + char dst[100]; + size_t srclen = 6; + size_t dstlen = 12; + + fprintf(stderr,"in: %s\n",src); + + char * pIn = src; + char * pOut = ( char*)dst; + + iconv_t conv = iconv_open("UTF-8","CP1250"); + iconv(conv, &pIn, &srclen, &pOut, &dstlen); + iconv_close(conv); + + fprintf(stderr,"out: %s\n",dst); +} \ No newline at end of file