Browse Source

fix Tcl packaging; add Tk (optional)

master
parent
commit
05eef4e8fd
  1. 104
      tcl/tcl.spec

104
tcl/tcl.spec

@ -23,6 +23,16 @@
## SUCH DAMAGE.
##
# package version
%define V_major 8
%define V_minor 3
%define V_level 4
# package options
%ifndef with_x11
%define with_x11 no
%endif
# package information
Name: tcl
Summary: Tool Command Language (TCL)
@ -32,46 +42,75 @@ Packager: The OpenPKG Project
Distribution: OpenPKG [REL]
Group: Language
License: GPL
Version: 8.3.4
Version: %{V_major}.%{V_minor}.%{V_level}
Release: 20020610
# list of sources
Source0: ftp://ftp.scriptics.com/pub/tcl/tcl8_3/tcl%{version}.tar.gz
Source0: ftp://ftp.scriptics.com/pub/tcl/tcl%{V_major}_%{V_minor}/tcl%{V_major}.%{V_minor}.%{V_level}.tar.gz
Source1: ftp://ftp.scriptics.com/pub/tcl/tcl%{V_major}_%{V_minor}/tk%{V_major}.%{V_minor}.%{V_level}.tar.gz
# build information
Prefix: %{l_prefix}
BuildRoot: %{l_buildroot}
BuildPreReq: OpenPKG, openpkg >= 20020206
PreReq: OpenPKG, openpkg >= 20020206
%if "%{with_x11}" == "yes"
BuildPreReq: X11
PreReq: X11
%endif
AutoReq: no
AutoReqProv: no
%description
The Tool Command Language (TCL).
The Tool Command Language (TCL), optionally including the
popular TCL Widget Toolkit (Tk).
Options: with_x11=%{with_x11}
%prep
%setup -q -n tcl%{version}
%setup0 -q -c -n tcl-%{V_major}.%{V_minor}.%{V_level}
%setup1 -q -T -D -a 1
%build
cd unix
CC="%{l_cc}" \
CFLAGS="%{l_cflags -O}" \
./configure \
--prefix=%{l_prefix} \
--includedir=%{l_prefix}/include/tcl \
--disable-shared
%{l_make} %{l_mflags -O}
# build Tcl
( cd tcl%{V_major}.%{V_minor}.%{V_level}/unix
CC="%{l_cc}" \
CFLAGS="%{l_cflags -O}" \
./configure \
--prefix=%{l_prefix} \
--includedir=%{l_prefix}/include/tcl \
--disable-shared
%{l_make} %{l_mflags -O}
)
# build Tk (optional)
%if "%{with_x11}" == "yes"
( cd tk%{V_major}.%{V_minor}.%{V_level}/unix
CC="%{l_cc}" \
CFLAGS="%{l_cflags -O}" \
./configure \
--prefix=%{l_prefix} \
--includedir=%{l_prefix}/include/tcl \
--disable-shared \
--with-tcl=../../tcl%{V_major}.%{V_minor}.%{V_level}/unix
--with-x \
--x-includes=`%{l_prefix}/etc/rc --query x11_incdir` \
--x-libraries=`%{l_prefix}/etc/rc --query x11_libdir`
%{l_make} %{l_mflags -O}
)
%endif
%install
rm -rf $RPM_BUILD_ROOT
( cd unix
# install Tcl
( cd tcl%{V_major}.%{V_minor}.%{V_level}/unix
%{l_make} %{l_mflags} install INSTALL_ROOT=$RPM_BUILD_ROOT
)
strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
( cd $RPM_BUILD_ROOT%{l_prefix}
mv bin/tclsh8.3 bin/tclsh
ln lib/libtcl83.a lib/libtcl.a
ln lib/libtclstub83.a lib/libtclstub.a
mv bin/tclsh%{V_major}.%{V_minor} bin/tclsh
ln lib/libtcl%{V_major}%{V_minor}.a lib/libtcl.a
ln lib/libtclstub%{V_major}%{V_minor}.a lib/libtclstub.a
cd man/mann
for mo in *.n; do
mn=`echo $mo | sed -e 's;\.n$;.3;'`
@ -85,6 +124,37 @@ AutoReqProv: no
fi
done
)
%{l_shtool} subst \
-e "s;-L$RPM_BUILD_DIR[^ ]*;-L%{l_prefix}/lib;" \
$RPM_BUILD_ROOT%{l_prefix}/lib/tclConfig.sh
# install Tk (optional)
%if "%{with_x11}" == "yes"
( cd tk%{V_major}.%{V_minor}.%{V_level}/unix
%{l_make} %{l_mflags} install INSTALL_ROOT=$RPM_BUILD_ROOT
)
( cd $RPM_BUILD_ROOT%{l_prefix}
mv bin/wish%{V_major}.%{V_minor} bin/wish
ln lib/libtk%{V_major}%{V_minor}.a lib/libtk.a
ln lib/libtkstub%{V_major}%{V_minor}.a lib/libtkstub.a
cd man/mann
for mo in *.n; do
mn=`echo $mo | sed -e 's;\.n$;.3;'`
mv $mo ../man3/$mn
done
cd ../man3
chmod u+w *
for mp in *.3; do
if [ ".`echo $mp | grep '^Tcl_'`" = . ] && \
[ ".`echo $mp | grep '^Tk_'`" = . ]; then
mv $mp Tk_$mp
fi
done
)
%endif
# post-process installation
strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
%files -f files

Loading…
Cancel
Save