xterm.spec revision f2e35a3a
1f2e35a3aSmrg# $XTermId: xterm.spec,v 1.141 2021/02/08 20:30:49 tom Exp $
20bd37d32SmrgSummary: X terminal emulator (development version)
30bd37d32Smrg%global my_middle xterm
40bd37d32Smrg%global my_suffix -dev
50bd37d32Smrg%global fullname %{my_middle}%{my_suffix}
60bd37d32Smrg%global my_class XTermDev
70bd37d32SmrgName: %{fullname}
8f2e35a3aSmrgVersion: 366
9e39b573cSmrgRelease: 1
10492d43a5SmrgLicense: X11
110bd37d32SmrgGroup: User Interface/X
12e39b573cSmrgSource: xterm-%{version}.tgz
13f2e35a3aSmrgURL: ftp://ftp.invisible-island.net/xterm/
14f2e35a3aSmrgProvides: x-terminal-emulator >= %{version}
15492d43a5Smrg
16e0a2b6dfSmrg# This part (the build-requires) would be useful if the various distributions
17e0a2b6dfSmrg# had provided stable package-naming, or virtual packages to cover transitions. 
18e0a2b6dfSmrg# However, they have not done this in the past.
19e0a2b6dfSmrg%define use_x_manpage %(test "x$_use_x_manpage" = xyes && echo 1 || echo 0)
20e0a2b6dfSmrg%if "%{use_x_manpage}"
21e0a2b6dfSmrg
22e0a2b6dfSmrg%global is_mandriva %(test -f /etc/mandriva-release && echo %{use_x_manpage} || echo 0)
23e0a2b6dfSmrg%global is_redhat   %(test -f /etc/redhat-release && echo %{use_x_manpage} || echo 0)
24e0a2b6dfSmrg%global is_suse     %(test -f /etc/SuSE-release && echo %{use_x_manpage} || echo 0)
25e0a2b6dfSmrg
26e0a2b6dfSmrg%if %{is_mandriva}
27e0a2b6dfSmrgBuildRequires: x11-docs
28e0a2b6dfSmrg%else
29e0a2b6dfSmrg%if %{is_redhat}
30e0a2b6dfSmrgBuildRequires: xorg-x11-docs
31e0a2b6dfSmrg%else
32e0a2b6dfSmrg%if %{is_suse}
33e0a2b6dfSmrgBuildRequires: xorg-docs
34e0a2b6dfSmrg%endif
35e0a2b6dfSmrg%endif
36e0a2b6dfSmrg%endif
37e0a2b6dfSmrg
38e0a2b6dfSmrg%endif
39e0a2b6dfSmrg
40492d43a5Smrg%description
41492d43a5Smrgxterm is the standard terminal emulator for the X Window System.
42492d43a5SmrgIt provides DEC VT102 and Tektronix 4014 compatible terminals for
43492d43a5Smrgprograms that cannot use the window system directly.  This version
44492d43a5Smrgimplements ISO/ANSI colors, Unicode, and most of the control sequences
45492d43a5Smrgused by DEC VT220 terminals.
46492d43a5Smrg
47492d43a5SmrgThis package provides four commands:
480bd37d32Smrg a) %{fullname}, which is the actual terminal emulator
490bd37d32Smrg b) u%{fullname}, which is a wrapper around %{fullname}
500bd37d32Smrg    which sets %{fullname} to use UTF-8 encoding when
510bd37d32Smrg    the user's locale supports this,
520bd37d32Smrg c) koi8r%{fullname}, a wrapper similar to u%{fullname}
530bd37d32Smrg    for locales that use the KOI8-R character set, and
540bd37d32Smrg d) resize%{my_suffix}.
55492d43a5Smrg
56492d43a5SmrgA complete list of control sequences supported by the X terminal emulator
570bd37d32Smrgis provided in /usr/share/doc/%{fullname}.
58492d43a5Smrg
590bd37d32SmrgThe %{fullname} program uses bitmap images provided by the xbitmaps package.
60492d43a5Smrg
610bd37d32SmrgThose interested in using koi8r%{fullname} will likely want to install the
62492d43a5Smrgxfonts-cyrillic package as well.
63492d43a5Smrg
640bd37d32SmrgThis package is configured to use "%{fullname}" and "%{my_class}"
650bd37d32Smrgfor the program and its resource class, to avoid conflict with other packages.
66e39b573cSmrg
67492d43a5Smrg%prep
68492d43a5Smrg
69f2e35a3aSmrg%global target_appdata %{fullname}.appdata.xml
70492d43a5Smrg
710bd37d32Smrg%define desktop_utils   %(if which desktop-file-install 2>&1 >/dev/null ; then echo 1 || echo 0 ; fi)
720bd37d32Smrg%define icon_theme  %(test -d /usr/share/icons/hicolor && echo 1 || echo 0)
73e0a2b6dfSmrg%define apps_x11r6  %(test -d /usr/X11R6/lib/X11/app-defaults && echo 1 || echo 0)
74492d43a5Smrg%define apps_shared %(test -d /usr/share/X11/app-defaults && echo 1 || echo 0)
75492d43a5Smrg%define apps_syscnf %(test -d /etc/X11/app-defaults && echo 1 || echo 0)
76492d43a5Smrg
77e0a2b6dfSmrg%if %{apps_x11r6}
78e0a2b6dfSmrg%define _xresdir    %{_prefix}/X11R6/lib/X11/app-defaults
79e0a2b6dfSmrg%else
80492d43a5Smrg%if %{apps_shared}
81492d43a5Smrg%define _xresdir    %{_datadir}/X11/app-defaults
82492d43a5Smrg%else
83492d43a5Smrg%define _xresdir    %{_sysconfdir}/X11/app-defaults
84492d43a5Smrg%endif
85e0a2b6dfSmrg%endif
86492d43a5Smrg
87492d43a5Smrg%define _iconsdir   %{_datadir}/icons
88492d43a5Smrg%define _pixmapsdir %{_datadir}/pixmaps
890bd37d32Smrg%define my_docdir   %{_datadir}/doc/%{fullname}
900bd37d32Smrg
910bd37d32Smrg# no need for debugging symbols...
920bd37d32Smrg%define debug_package %{nil}
93492d43a5Smrg
94e39b573cSmrg%setup -q -n xterm-%{version}
95492d43a5Smrg
96492d43a5Smrg%build
97492d43a5SmrgCPPFLAGS="-DMISC_EXP -DEXP_HTTP_HEADERS" \
98492d43a5Smrg%configure \
99f2e35a3aSmrg        --target %{_target_platform} \
100f2e35a3aSmrg        --prefix=%{_prefix} \
101f2e35a3aSmrg        --bindir=%{_bindir} \
102f2e35a3aSmrg        --datadir=%{_datadir} \
103f2e35a3aSmrg        --mandir=%{_mandir} \
104492d43a5Smrg%if "%{my_suffix}" != ""
105f2e35a3aSmrg        --program-suffix=%{my_suffix} \
106f2e35a3aSmrg        --without-xterm-symlink \
1070bd37d32Smrg%endif
1080bd37d32Smrg%if "%{icon_theme}"
109f2e35a3aSmrg        --with-icon-symlink=%{fullname} \
110f2e35a3aSmrg        --with-icon-theme \
111f2e35a3aSmrg        --with-icondir=%{_iconsdir} \
112492d43a5Smrg%endif
113f2e35a3aSmrg        --with-app-class=%{my_class} \
114f2e35a3aSmrg        --disable-imake \
115f2e35a3aSmrg        --enable-dabbrev \
116f2e35a3aSmrg        --enable-dec-locator \
117f2e35a3aSmrg        --enable-double-buffer \
118f2e35a3aSmrg        --enable-exec-xterm \
119f2e35a3aSmrg        --enable-hp-fkeys \
120f2e35a3aSmrg        --enable-load-vt-fonts \
121f2e35a3aSmrg        --enable-logfile-exec \
122f2e35a3aSmrg        --enable-logging \
123f2e35a3aSmrg        --enable-mini-luit \
124f2e35a3aSmrg        --enable-regis-graphics \
125f2e35a3aSmrg        --enable-sco-fkeys \
126f2e35a3aSmrg        --enable-toolbar \
127f2e35a3aSmrg        --enable-xmc-glitch \
128f2e35a3aSmrg        --with-app-defaults=%{_xresdir} \
129f2e35a3aSmrg        --with-pixmapdir=%{_pixmapsdir} \
130f2e35a3aSmrg        --with-own-terminfo=%{_datadir}/terminfo \
131f2e35a3aSmrg        --with-terminal-type=xterm-new \
132f2e35a3aSmrg        --with-utempter \
133f2e35a3aSmrg        --with-icon-name=mini.xterm \
134f2e35a3aSmrg        --with-xpm
135492d43a5Smrgmake
136492d43a5Smrg
137492d43a5Smrgchmod u+w XTerm.ad
138492d43a5Smrgcat >>XTerm.ad <<EOF
139492d43a5Smrg*backarrowKeyIsErase: true
140492d43a5Smrg*ptyInitialErase: true
141492d43a5SmrgEOF
142492d43a5Smrgls -l *.ad
143492d43a5Smrg
144492d43a5Smrg%install
145492d43a5Smrgrm -rf $RPM_BUILD_ROOT
146492d43a5Smrg
147492d43a5Smrg# Usually do not use install-ti, since that will conflict with ncurses.
148492d43a5Smrgmake install-bin install-man install-app install-icon \
149492d43a5Smrg%if "%{install_ti}" == "yes"
150f2e35a3aSmrg        install-ti \
151492d43a5Smrg%endif
152f2e35a3aSmrg        DESTDIR=$RPM_BUILD_ROOT \
153f2e35a3aSmrg        TERMINFO=%{_datadir}/terminfo
154492d43a5Smrg
155f2e35a3aSmrg        mkdir -p $RPM_BUILD_ROOT%{my_docdir}
156f2e35a3aSmrg        cp \
157f2e35a3aSmrg                ctlseqs.txt \
158f2e35a3aSmrg                README.i18n \
159f2e35a3aSmrg                THANKS \
160f2e35a3aSmrg                xterm.log.html \
161f2e35a3aSmrg        $RPM_BUILD_ROOT%{my_docdir}/
162492d43a5Smrg
163f2e35a3aSmrg        cp -r vttests \
164f2e35a3aSmrg        $RPM_BUILD_ROOT%{my_docdir}/
165492d43a5Smrg
166f2e35a3aSmrg        # The scripts are readable, but not executable, to let find-requires
167f2e35a3aSmrg        # know that they do not depend on Perl packages.
168f2e35a3aSmrg        chmod 644 $RPM_BUILD_ROOT%{my_docdir}/vttests/*.pl
169492d43a5Smrg
1700bd37d32Smrg%if "%{desktop_utils}"
171492d43a5Smrgmake install-desktop \
172f2e35a3aSmrg        DESKTOP_FLAGS="--dir $RPM_BUILD_ROOT%{_datadir}/applications"
173492d43a5Smrg
174492d43a5Smrgtest -n "%{my_suffix}" && \
175492d43a5Smrg( cd $RPM_BUILD_ROOT%{_datadir}/applications
176f2e35a3aSmrg        for p in *.desktop
177f2e35a3aSmrg        do
178f2e35a3aSmrg                mv $p `basename $p .desktop`%{my_suffix}.desktop
179f2e35a3aSmrg        done
180492d43a5Smrg)
181f2e35a3aSmrg
182f2e35a3aSmrgmkdir -p $RPM_BUILD_ROOT%{_datadir}/appdata && \
183f2e35a3aSmrginstall -m 644 xterm.appdata.xml $RPM_BUILD_ROOT%{_datadir}/appdata/%{target_appdata} && \
184f2e35a3aSmrg( cd $RPM_BUILD_ROOT%{_datadir}/appdata
185f2e35a3aSmrg  sed -i \
186f2e35a3aSmrg      -e 's/>xterm\.desktop</>%{fullname}.desktop</' \
187f2e35a3aSmrg      -e 's/>XTerm</>%{my_class}</' \
188f2e35a3aSmrg      %{target_appdata}
189f2e35a3aSmrg)
190f2e35a3aSmrgdiff -u xterm.appdata.xml $RPM_BUILD_ROOT%{_datadir}/appdata/%{target_appdata} && \
191492d43a5Smrg%endif
192492d43a5Smrg
1930bd37d32Smrg%post
1940bd37d32Smrg%if "%{icon_theme}"
1950bd37d32Smrgtouch --no-create %{_iconsdir}/hicolor
1960bd37d32Smrgif [ -x %{_bindir}/gtk-update-icon-cache ]; then
1970bd37d32Smrg  %{_bindir}/gtk-update-icon-cache %{_iconsdir}/hicolor || :
1980bd37d32Smrgfi
1990bd37d32Smrg%endif
200e0a2b6dfSmrg# find-requires does not care about at this point
201e0a2b6dfSmrgchmod +x %{my_docdir}/vttests/*.*
2020bd37d32Smrg
2030bd37d32Smrg%postun
2040bd37d32Smrg%if "%{icon_theme}"
2050bd37d32Smrgtouch --no-create %{_iconsdir}/hicolor
2060bd37d32Smrgif [ -x %{_bindir}/gtk-update-icon-cache ]; then
2070bd37d32Smrg  %{_bindir}/gtk-update-icon-cache %{_iconsdir}/hicolor || :
2080bd37d32Smrgfi
2090bd37d32Smrg%endif
2100bd37d32Smrg
211492d43a5Smrg%clean
212f2e35a3aSmrgif rm -rf $RPM_BUILD_ROOT; then
213f2e35a3aSmrg  echo OK
214f2e35a3aSmrgelse
215f2e35a3aSmrg  find $RPM_BUILD_ROOT -type f | grep -F -v /.nfs && exit 1
216f2e35a3aSmrgfi
217f2e35a3aSmrgexit 0
218492d43a5Smrg
219492d43a5Smrg%files
220492d43a5Smrg%defattr(-,root,root,-)
2210bd37d32Smrg%{_bindir}/koi8r%{fullname}
2220bd37d32Smrg%{_bindir}/%{fullname}
2230bd37d32Smrg%{_bindir}/u%{fullname}
224492d43a5Smrg%{_bindir}/resize%{my_suffix}
225492d43a5Smrg%{_mandir}/*/*
226492d43a5Smrg%{my_docdir}/*
227492d43a5Smrg%{_xresdir}/*XTerm*
228492d43a5Smrg
229492d43a5Smrg%if "%{install_ti}" == "yes"
230492d43a5Smrg%{_datadir}/terminfo/*
231492d43a5Smrg%endif
232492d43a5Smrg
2330bd37d32Smrg%if "%{desktop_utils}"
234f2e35a3aSmrg%config(missingok) %{_datadir}/appdata/%{target_appdata}
235f2e35a3aSmrg%config(missingok) %{_datadir}/applications/%{fullname}.desktop
236f2e35a3aSmrg%config(missingok) %{_datadir}/applications/u%{fullname}.desktop
237492d43a5Smrg%endif
238492d43a5Smrg
2390bd37d32Smrg%if "%{icon_theme}"
240f2e35a3aSmrg%{_iconsdir}/hicolor/*.png
241f2e35a3aSmrg%{_iconsdir}/hicolor/*.svg
242f2e35a3aSmrg%{_iconsdir}/hicolor/48x48/apps/*.png
243f2e35a3aSmrg%{_iconsdir}/hicolor/scalable/apps/*.svg
2440bd37d32Smrg%endif
245f2e35a3aSmrg%{_pixmapsdir}/*.xpm
2460bd37d32Smrg
247492d43a5Smrg%changelog
248492d43a5Smrg
249f2e35a3aSmrg* Sat Jul 25 2020 Thomas E. Dickey
250f2e35a3aSmrg- sixels are enabled by default
251f2e35a3aSmrg
252f2e35a3aSmrg* Sun Mar 08 2020 Thomas E. Dickey
253f2e35a3aSmrg- remove "--vendor" option from desktop-file-install
254f2e35a3aSmrg
255f2e35a3aSmrg* Sun Nov 17 2019 Thomas E. Dickey
256f2e35a3aSmrg- install appdata.xml file
257f2e35a3aSmrg
258f2e35a3aSmrg* Wed May 02 2018 Thomas E. Dickey
259f2e35a3aSmrg- install all icons
260f2e35a3aSmrg
2612e4f8982Smrg* Fri Jan 29 2016 Thomas E. Dickey
2622e4f8982Smrg- use --enable-screen-dumps
2632e4f8982Smrg
2640bd37d32Smrg* Mon May 27 2013 Thomas E. Dickey
2650bd37d32Smrg- use --with-icon-symlink
2660bd37d32Smrg
2670bd37d32Smrg* Mon Oct 08 2012 Thomas E. Dickey
2680bd37d32Smrg- added to pixmapsdir
2690bd37d32Smrg
2700bd37d32Smrg* Fri Jun 15 2012 Thomas E. Dickey
2710bd37d32Smrg- modify to support icon theme
2720bd37d32Smrg
273492d43a5Smrg* Fri Oct 22 2010 Thomas E. Dickey
274492d43a5Smrg- initial version.
275