]> git.ipfire.org Git - ipfire-3.x.git/blob - ncurses/ncurses.nm
json-c: Update to version 0.17-20230812
[ipfire-3.x.git] / ncurses / ncurses.nm
1 ###############################################################################
2 # IPFire.org - An Open Source Firewall Solution #
3 # Copyright (C) - IPFire Development Team <info@ipfire.org> #
4 ###############################################################################
5
6 name = ncurses
7 version = 6.4
8 release = 2
9 thisapp = %{name}-%{version}
10
11 groups = System/Base
12 url = https://invisible-island.net/ncurses/ncurses.html
13 license = MIT
14 summary = Ncurses support utilities.
15
16 description
17 The curses library routines are a terminal-independent method of
18 updating character screens with reasonable optimization. The ncurses
19 (new curses) library is a freely distributable replacement for the
20 discontinued 4.4 BSD classic curses library.
21 end
22
23 source_dl = https://github.com/mirror/%{name}/archive/v%{version}.tar.gz#/
24
25 build
26 requires
27 gcc-c++
28 end
29
30 configure_options += \
31 --with-shared \
32 --without-debug \
33 --without-ada \
34 --with-ospeed=unsigned \
35 --with-chtype=long \
36 --enable-hard-tabs \
37 --enable-xmc-glitch \
38 --enable-colorfgbg \
39 --with-terminfo-dirs=%{sysconfdir}/terminfo:%{datadir}/terminfo \
40 --enable-overwrite \
41 --enable-pc-files \
42 --with-termlib=tinfo \
43 --disable-stripping
44
45 export PKG_CONFIG_LIBDIR=%{libdir}/pkgconfig
46
47 build
48 mkdir -pv narrowc widec
49
50 # Build narrowc version.
51 cd narrowc
52 ln -svf ../configure .
53 ./configure %{configure_options} --with-ticlib
54 make %{PARALLELISMFLAGS} libs
55 make %{PARALLELISMFLAGS} -C progs
56
57 # Build widec version.
58 cd ../widec
59 ln -svf ../configure .
60 ./configure %{configure_options} --enable-widec --without-progs
61 make %{PARALLELISMFLAGS} libs
62 cd ..
63 end
64
65 install
66 make -C narrowc DESTDIR=%{BUILDROOT} install.{libs,progs,data}
67 rm -rvf %{BUILDROOT}%{libdir}/libtinfo.*
68 make -C widec DESTDIR=%{BUILDROOT} install.{libs,includes,man}
69
70 chmod -v 755 %{BUILDROOT}%{libdir}/lib*.so.*.*
71
72 mkdir -pv %{BUILDROOT}/etc/terminfo
73
74 mkdir %{BUILDROOT}%{includedir}/ncurses{,w}
75 for l in %{BUILDROOT}%{includedir}/*.h; do
76 ln -s ../$(basename $l) %{BUILDROOT}%{includedir}/ncurses
77 ln -s ../$(basename $l) %{BUILDROOT}%{includedir}/ncursesw
78 done
79
80 # don't require -ltinfo when linking with --no-add-needed
81 for l in %{BUILDROOT}%{libdir}/libncurses{,w}.so; do
82 soname=$(basename $(readlink $l))
83 rm -f $l
84 echo "INPUT($soname -ltinfo)" > $l
85 done
86
87 rm -f %{BUILDROOT}%{libdir}/libcurses{,w}.so
88 echo "INPUT(-lncurses)" > %{BUILDROOT}%{libdir}/libcurses.so
89 echo "INPUT(-lncursesw)" > %{BUILDROOT}%{libdir}/libcursesw.so
90 echo "INPUT(-ltinfo)" > %{BUILDROOT}%{libdir}/libtermcap.so
91
92 rm -vf %{BUILDROOT}%{libdir}/terminfo
93 rm -vf %{BUILDROOT}%{libdir}/pkgconfig/{*_g,ncurses++*}.pc
94
95 # Manually remove all static libraries
96 rm -vf %{BUILDROOT}%{libdir}/*.a
97 end
98 end
99
100 packages
101 package %{name}
102
103 package %{name}-libs
104 template LIBS
105
106 requires
107 %{name}-base=%{thisver}
108 end
109 end
110
111 package %{name}-devel
112 template DEVEL
113 end
114
115 package %{name}-term
116 summary = Terminal descriptions for ncurses.
117 description
118 This package contains additional terminal descriptions not found in
119 the ncurses-base package.
120 end
121
122 provides += /usr/share/terminfo
123
124 files
125 /usr/share/terminfo
126 end
127 end
128
129 package %{name}-base
130 summary = Terminal descriptions.
131 description
132 This package contains descriptions of common terminals. Other terminal
133 descriptions are included in the ncurses-term package.
134 end
135
136 conflicts = ncurses<=5.9-1
137
138 files
139 /usr/share/terminfo/*/Eterm*
140 /usr/share/terminfo/*/ansi
141 /usr/share/terminfo/*/aterm
142 /usr/share/terminfo/*/bterm
143 /usr/share/terminfo/*/cons25
144 /usr/share/terminfo/*/cygwin
145 /usr/share/terminfo/*/dumb
146 /usr/share/terminfo/*/eterm*
147 /usr/share/terminfo/*/gnome
148 /usr/share/terminfo/*/gnome-256color
149 /usr/share/terminfo/*/hurd
150 /usr/share/terminfo/*/jfbterm
151 /usr/share/terminfo/*/konsole
152 /usr/share/terminfo/*/konsole-256color
153 /usr/share/terminfo/*/linux
154 /usr/share/terminfo/*/mach*
155 /usr/share/terminfo/*/mlterm
156 /usr/share/terminfo/*/mrxvt
157 /usr/share/terminfo/*/nsterm
158 /usr/share/terminfo/*/putty*
159 /usr/share/terminfo/*/pcansi
160 /usr/share/terminfo/*/rxvt
161 /usr/share/terminfo/*/rxvt-*
162 /usr/share/terminfo/*/screen
163 /usr/share/terminfo/*/screen-*color
164 /usr/share/terminfo/*/screen.*
165 /usr/share/terminfo/*/sun
166 /usr/share/terminfo/*/teraterm
167 /usr/share/terminfo/*/teraterm2.3
168 /usr/share/terminfo/*/vt100
169 /usr/share/terminfo/*/vt100-nav
170 /usr/share/terminfo/*/vt102
171 /usr/share/terminfo/*/vt220
172 /usr/share/terminfo/*/vt52
173 /usr/share/terminfo/*/vte
174 /usr/share/terminfo/*/vte-256color
175 /usr/share/terminfo/*/vwmterm
176 /usr/share/terminfo/*/wsvt25*
177 /usr/share/terminfo/*/xfce
178 /usr/share/terminfo/*/xterm
179 /usr/share/terminfo/*/xterm-*
180 end
181 end
182
183 package %{name}-debuginfo
184 template DEBUGINFO
185 end
186 end