Tue, 28 Aug 2012 18:35:45 +0200
Update version, modernize packaging, correct considereable portability
flaws, correct typical german english grammar errors, and worst of all
correct detection of builtin GCC atomic primitives sync_sub_and_fetch
by forcing the detecting function to return the return value which seems
to cause GCC to fail for unknown reasons.
| michael@564 | 1 | ## |
| michael@564 | 2 | ## libidn.spec -- OpenPKG RPM Package Specification |
| michael@564 | 3 | ## Copyright (c) 2000-2012 OpenPKG Foundation e.V. <http://openpkg.net/> |
| michael@564 | 4 | ## |
| michael@564 | 5 | ## Permission to use, copy, modify, and distribute this software for |
| michael@564 | 6 | ## any purpose with or without fee is hereby granted, provided that |
| michael@564 | 7 | ## the above copyright notice and this permission notice appear in all |
| michael@564 | 8 | ## copies. |
| michael@564 | 9 | ## |
| michael@564 | 10 | ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED |
| michael@564 | 11 | ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
| michael@564 | 12 | ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
| michael@564 | 13 | ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR |
| michael@564 | 14 | ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
| michael@564 | 15 | ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
| michael@564 | 16 | ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF |
| michael@564 | 17 | ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
| michael@564 | 18 | ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
| michael@564 | 19 | ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT |
| michael@564 | 20 | ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
| michael@564 | 21 | ## SUCH DAMAGE. |
| michael@564 | 22 | ## |
| michael@564 | 23 | |
| michael@564 | 24 | # package information |
| michael@564 | 25 | Name: libidn |
| michael@564 | 26 | Summary: International Domain Name (IDN) Library |
| michael@564 | 27 | URL: http://www.gnu.org/software/libidn/ |
| michael@564 | 28 | Vendor: Simon Josefsson |
| michael@564 | 29 | Packager: OpenPKG Foundation e.V. |
| michael@564 | 30 | Distribution: OpenPKG Community |
| michael@564 | 31 | Class: BASE |
| michael@564 | 32 | Group: DNS |
| michael@564 | 33 | License: LGPL |
| michael@564 | 34 | Version: 1.25 |
| michael@565 | 35 | Release: 20120800 |
| michael@564 | 36 | |
| michael@564 | 37 | # list of sources |
| michael@564 | 38 | Source0: ftp://ftp.gnu.org/pub/gnu/libidn/libidn-%{version}.tar.gz |
| michael@564 | 39 | Patch0: libidn.patch |
| michael@564 | 40 | |
| michael@564 | 41 | # build information |
| michael@565 | 42 | BuildPreReq: OpenPKG, openpkg >= 20100101, make |
| michael@564 | 43 | PreReq: OpenPKG, openpkg >= 20100101 |
| michael@564 | 44 | BuildPreReq: libiconv |
| michael@564 | 45 | PreReq: libiconv |
| michael@564 | 46 | |
| michael@564 | 47 | %description |
| michael@564 | 48 | GNU Libidn is an implementation of the Stringprep, Punycode and |
| michael@564 | 49 | IDNA specifications defined by the IETF Internationalized Domain |
| michael@564 | 50 | Names (IDN) working group, used for internationalized domain names. |
| michael@564 | 51 | The library contains a generic Stringprep implementation that |
| michael@564 | 52 | does Unicode 3.2 NFKC normalization, mapping and prohibitation of |
| michael@564 | 53 | characters, and bidirectional character handling. Profiles for |
| michael@564 | 54 | iSCSI, Kerberos 5, Nameprep, SASL and XMPP are included. Punycode |
| michael@564 | 55 | and ASCII Compatible Encoding (ACE) via IDNA are supported. The |
| michael@564 | 56 | Stringprep API consists of two main functions, one for converting |
| michael@564 | 57 | data from the system's native representation into UTF-8, and |
| michael@564 | 58 | one function to perform the Stringprep processing. Adding a |
| michael@564 | 59 | new Stringprep profile for your application within the API is |
| michael@564 | 60 | straightforward. The Punycode API consists of one encoding function |
| michael@564 | 61 | and one decoding function. The IDNA API consists of the ToASCII |
| michael@565 | 62 | and ToUnicode functions, as well as an high level interface for |
| michael@564 | 63 | converting entire domain names to and from the ACE encoded form. |
| michael@564 | 64 | |
| michael@564 | 65 | %track |
| michael@564 | 66 | prog libidn = { |
| michael@564 | 67 | version = %{version} |
| michael@564 | 68 | url = ftp://ftp.gnu.org/pub/gnu/libidn/ |
| michael@564 | 69 | regex = libidn-(__VER__)\.tar\.gz |
| michael@564 | 70 | } |
| michael@564 | 71 | |
| michael@564 | 72 | %prep |
| michael@564 | 73 | %setup -q |
| michael@564 | 74 | %patch -p0 |
| michael@564 | 75 | %{l_shtool} subst \ |
| michael@564 | 76 | -e 's;^\(SUBDIRS = .*\) doc \(.*\)$;\1 \2;' \ |
| michael@564 | 77 | Makefile.in |
| michael@564 | 78 | %{l_shtool} subst \ |
| michael@564 | 79 | -e 's;^\(Libs: -L${libdir} -lidn\)$;\1 @LTLIBICONV@;' \ |
| michael@564 | 80 | libidn.pc.in |
| michael@565 | 81 | %{l_shtool} subst \ |
| michael@565 | 82 | -e 's;^\(const gchar \*const g_utf8_skip\);static \1;' \ |
| michael@565 | 83 | lib/nfkc.c |
| michael@564 | 84 | |
| michael@564 | 85 | %build |
| michael@564 | 86 | CC="%{l_cc}" \ |
| michael@564 | 87 | CFLAGS="%{l_cflags -O}" \ |
| michael@564 | 88 | CPPFLAGS="%{l_cppflags}" \ |
| michael@564 | 89 | LDFLAGS="%{l_ldflags}" \ |
| michael@564 | 90 | MAKEINFO="true" \ |
| michael@564 | 91 | GREP=grep \ |
| michael@564 | 92 | ./configure \ |
| michael@564 | 93 | --prefix=%{l_prefix} \ |
| michael@564 | 94 | --includedir=%{l_prefix}/include/libidn \ |
| michael@564 | 95 | --with-libiconv-prefix=%{l_prefix} \ |
| michael@564 | 96 | --disable-shared \ |
| michael@564 | 97 | --disable-nls |
| michael@564 | 98 | %{l_make} %{l_mflags -O} |
| michael@564 | 99 | |
| michael@564 | 100 | %install |
| michael@565 | 101 | %{l_make} %{l_mflags} install DESTDIR="$RPM_BUILD_ROOT" |
| michael@564 | 102 | strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true |
| michael@564 | 103 | rm -f $RPM_BUILD_ROOT%{l_prefix}/info/dir |
| michael@564 | 104 | rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/emacs |
| michael@564 | 105 | rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/Libidn.dll |
| michael@564 | 106 | %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ |
| michael@564 | 107 | %{l_files_std} |
| michael@564 | 108 | |
| michael@564 | 109 | %files -f files |
| michael@564 | 110 | |
| michael@564 | 111 | %clean |
| michael@564 | 112 |