ncurses/ncurses.spec

Mon, 28 Jan 2013 17:37:18 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Mon, 28 Jan 2013 17:37:18 +0100
changeset 758
a2c6460cfb16
parent 682
3799cd65a8f9
permissions
-rw-r--r--

Correct socket error reporting improvement with IPv6 portable code,
after helpful recommendation by Saúl Ibarra Corretgé on OSips devlist.

michael@682 1 ##
michael@682 2 ## ncurses.spec -- OpenPKG RPM Package Specification
michael@682 3 ## Copyright (c) 2000-2012 OpenPKG Foundation e.V. <http://openpkg.net/>
michael@682 4 ##
michael@682 5 ## Permission to use, copy, modify, and distribute this software for
michael@682 6 ## any purpose with or without fee is hereby granted, provided that
michael@682 7 ## the above copyright notice and this permission notice appear in all
michael@682 8 ## copies.
michael@682 9 ##
michael@682 10 ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
michael@682 11 ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
michael@682 12 ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
michael@682 13 ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
michael@682 14 ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
michael@682 15 ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
michael@682 16 ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
michael@682 17 ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
michael@682 18 ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
michael@682 19 ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
michael@682 20 ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
michael@682 21 ## SUCH DAMAGE.
michael@682 22 ##
michael@682 23
michael@682 24 # package versions
michael@682 25 %define V_base 5.9
michael@682 26 %define V_patch0 20111224
michael@682 27 %define V_patch1 20111231
michael@682 28 %define V_patch2 20120107
michael@682 29 %define V_patch3 20120114
michael@682 30 %define V_patch4 20120121
michael@682 31 %define V_patch5 20120128
michael@682 32 %define V_patch6 20120204
michael@682 33 %define V_patch7 20120211
michael@682 34 %define V_patch8 20120218
michael@682 35 %define V_patch9 20120225
michael@682 36 %define V_patch10 20120228
michael@682 37 %define V_patch11 20120303
michael@682 38 %define V_patch12 20120310
michael@682 39 %define V_patch13 20120317
michael@682 40 %define V_patch14 20120324
michael@682 41 %define V_patch15 20120331
michael@682 42 %define V_patch16 20120407
michael@682 43 %define V_patch17 20120414
michael@682 44 %define V_patch18 20120421
michael@682 45 %define V_patch19 20120428
michael@682 46 %define V_patch20 20120505
michael@682 47 %define V_patch21 20120512
michael@682 48 %define V_patch22 20120526
michael@682 49 %define V_patchB %{V_patch0}
michael@682 50 %define V_patchL %{V_patch22}
michael@682 51 %define V_patches 22
michael@682 52
michael@682 53 # package information
michael@682 54 Name: ncurses
michael@682 55 Summary: Terminal Capability and Display Library
michael@682 56 URL: http://www.gnu.org/software/ncurses/
michael@682 57 Vendor: Free Software Foundation
michael@682 58 Packager: OpenPKG Foundation e.V.
michael@682 59 Distribution: OpenPKG Community
michael@682 60 Class: CORE
michael@682 61 Group: Terminal
michael@682 62 License: MIT-style
michael@682 63 Version: %{V_base}.%{V_patchL}
michael@683 64 Release: 20120800
michael@682 65
michael@682 66 # list of sources
michael@682 67 Source0: ftp://invisible-island.net/ncurses/ncurses-%{V_base}.tar.gz
michael@682 68 Patch0: ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch0}-patch.sh.bz2
michael@682 69 Patch1: ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch1}.patch.gz
michael@682 70 Patch2: ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch2}.patch.gz
michael@682 71 Patch3: ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch3}.patch.gz
michael@682 72 Patch4: ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch4}.patch.gz
michael@682 73 Patch5: ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch5}.patch.gz
michael@682 74 Patch6: ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch6}.patch.gz
michael@682 75 Patch7: ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch7}.patch.gz
michael@682 76 Patch8: ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch8}.patch.gz
michael@682 77 Patch9: ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch9}.patch.gz
michael@682 78 Patch10: ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch10}.patch.gz
michael@682 79 Patch11: ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch11}.patch.gz
michael@682 80 Patch12: ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch12}.patch.gz
michael@682 81 Patch13: ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch13}.patch.gz
michael@682 82 Patch14: ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch14}.patch.gz
michael@682 83 Patch15: ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch15}.patch.gz
michael@682 84 Patch16: ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch16}.patch.gz
michael@682 85 Patch17: ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch17}.patch.gz
michael@682 86 Patch18: ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch18}.patch.gz
michael@682 87 Patch19: ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch19}.patch.gz
michael@682 88 Patch20: ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch20}.patch.gz
michael@682 89 Patch21: ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch21}.patch.gz
michael@682 90 Patch22: ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch22}.patch.gz
michael@682 91 Patch100: ncurses.patch
michael@682 92
michael@682 93 # build information
michael@682 94 BuildPreReq: OpenPKG, openpkg >= 20100101
michael@682 95 PreReq: OpenPKG, openpkg >= 20100101
michael@682 96
michael@682 97 %description
michael@682 98 NCurses is the GNU re-implementation of the popular SVR4 Curses
michael@682 99 terminal screen handling library. Its API is base-level conformant
michael@682 100 with the X/OPEN curses specification XSI Curses. It uses the
michael@682 101 Terminfo database format, supports pads and color and multiple
michael@682 102 highlights and forms characters and function-key mapping, and has
michael@682 103 all the other SVR4-Curses enhancements over original BSD Curses.
michael@682 104 Additionally, it provides full emulations of the SVR4 panels
michael@682 105 (supporting a stack of windows), forms (supporting data collection
michael@682 106 through on-screen forms) and menu (supporting a uniform interface
michael@682 107 for menu programming) companion libraries.
michael@682 108
michael@682 109 %track
michael@682 110 prog ncurses = {
michael@682 111 version = %{V_base}
michael@682 112 url = ftp://invisible-island.net/ncurses/
michael@682 113 regex = ncurses-(__VER__)\.tar\.gz
michael@682 114 }
michael@682 115 prog ncurses:patchbase = {
michael@682 116 disabled
michael@682 117 version = %{V_patchB}
michael@682 118 url = ftp://invisible-island.net/ncurses/
michael@682 119 regex = (\d+\.\d+)
michael@682 120 url = ftp://invisible-island.net/ncurses/__NEWVER__/
michael@682 121 regex = ncurses-__NEWVER__-(\d+)-patch\.sh\.bz2
michael@682 122 }
michael@682 123 prog ncurses:patchset = {
michael@682 124 version = %{V_patchL}
michael@682 125 url = ftp://invisible-island.net/ncurses/
michael@682 126 regex = (\d+\.\d+)
michael@682 127 url = ftp://invisible-island.net/ncurses/__NEWVER__/
michael@682 128 regex = ncurses-__NEWVER__-(\d+)\.patch\.gz
michael@682 129 }
michael@682 130
michael@682 131 %prep
michael@682 132 %setup -q -n ncurses-%{V_base}
michael@682 133 for patchfile in \
michael@682 134 %{expand:%(i=0; while [ $i -le %{V_patches} ]; do %{l_shtool} echo -n " %%{PATCH$i}"; i=`expr $i + 1`; done)}
michael@682 135 do
michael@682 136 case "$patchfile" in
michael@682 137 *-patch.sh.bz2 ) %{l_bzip2} -d -c $patchfile | %{l_patch} -p1 -f || true ;;
michael@682 138 *-patch.sh.gz ) %{l_bzip2} -d -c $patchfile | %{l_patch} -p1 -f || true ;;
michael@682 139 *.sh.bz2 ) %{l_bzip2} -d -c $patchfile | sed -e 's;gzip -dc;%{l_gzip} -dc;' -e 's;patch -p1;%{l_patch} -p1 -f;' | sh - || true ;;
michael@682 140 *.sh.gz ) %{l_gzip} -d -c $patchfile | sed -e 's;gzip -dc;%{l_gzip} -dc;' -e 's;patch -p1;%{l_patch} -p1 -f;' | sh - || true ;;
michael@682 141 *.patch.bz2 ) %{l_bzip2} -d -c $patchfile | %{l_patch} -p1 -f || true ;;
michael@682 142 *.patch.gz ) %{l_gzip} -d -c $patchfile | %{l_patch} -p1 -f || true ;;
michael@682 143 * )
michael@682 144 echo "Unknown patch format" | %{l_rpmtool} msg -b -t error 1>&2
michael@682 145 exit 1
michael@682 146 ;;
michael@682 147 esac
michael@682 148 done
michael@682 149 find . -name "*.orig" -print | xargs rm -f
michael@682 150 %patch -p0 -P 100
michael@682 151
michael@682 152 %build
michael@682 153 %{l_shtool} subst \
michael@682 154 -e 's;SRC_SUBDIRS test;SRC_SUBDIRS;' \
michael@682 155 configure
michael@682 156 CC="%{l_cc}" \
michael@682 157 CPPFLAGS="%{l_cppflags}" \
michael@682 158 CFLAGS="%{l_cflags}" \
michael@682 159 ./configure \
michael@682 160 --prefix=%{l_prefix} \
michael@682 161 --includedir=%{l_prefix}/include/ncurses \
michael@682 162 --datadir=%{l_prefix}/share/ncurses \
michael@682 163 --enable-hashmap \
michael@682 164 --without-debug \
michael@682 165 --with-manpage-format=normal \
michael@682 166 --disable-getcap-cache \
michael@682 167 --without-cxx-binding \
michael@682 168 --without-cxx \
michael@682 169 --without-gpm \
michael@682 170 --enable-termcap \
michael@682 171 --disable-overwrite
michael@682 172 %{l_make} %{l_mflags}
michael@682 173
michael@682 174 %install
michael@682 175 %{l_shtool} subst -e "s;ln -s;ln;g" edit_man.sh
michael@682 176 %{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT
michael@682 177 ( cd $RPM_BUILD_ROOT%{l_prefix}/man
michael@682 178 for dir in man1 man3; do
michael@682 179 cd $dir
michael@682 180 for file in *.[13][a-z]*; do
michael@682 181 if [ ".$file" = ".*.[13][a-z]*" ]; then
michael@682 182 break
michael@682 183 fi
michael@682 184 eval `echo "$file" | sed -e 's;^\(.*\.[13]\)[a-z]*$;base=\1;'`
michael@682 185 mv $file ncurses_$base
michael@682 186 done
michael@682 187 cd ..
michael@682 188 done
michael@682 189 ) || exit $?
michael@682 190 strip $RPM_BUILD_ROOT%{l_prefix}/bin/* 2>/dev/null || true
michael@682 191 %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
michael@682 192
michael@682 193 %files -f files
michael@682 194
michael@682 195 %clean
michael@682 196

mercurial