# Tests by default. No tests: rpm -ba --define 'dotests 0' slang*.spec %{!?dotests: %define dotests 1} Summary: The shared library for the S-Lang extension language. Name: slang %define version 2.3.1a %define majver 2.3 Version: %{version} Release: 1 Copyright: Artistic Group: System Environment/Libraries Source0: ftp://space.mit.edu/pub/davis/slang/v%{majver}/slang-%{version}.tar.bz2 Source1: slang-%{version}-%{release}.build.log Patch0: %{name}-%{version}-aix.patch Url: ftp://space.mit.edu/pub/davis/slang/ Buildroot: /var/tmp/slang-root Prefix: %{_prefix} %ifarch ia64 %define DEFCCIA gcc %define DEFCC %{DEFCCIA} %else %define DEFCC gcc %endif %ifarch ia64 %define stdlib lib/ia64l32 %define liblink ../../.. %else %define stdlib lib %define liblink ../.. %endif %description S-Lang is an interpreted language and a programming library. The S-Lang language was designed so that it can be easily embedded into a program to provide the program with a powerful extension language. The S-Lang library, provided in this package, provides the S-Lang extension language. S-Lang's syntax resembles C, which makes it easy to recode S-Lang procedures in C if you need to. %package devel Summary: The static library and header files for development using S-Lang. Group: Development/Libraries Requires: slang %description devel This package contains the S-Lang extension language static libraries and header files which you'll need if you want to develop S-Lang based applications. Documentation which may help you write S-Lang based applications is also included. Install the slang-devel package if you want to develop applications based on the S-Lang extension language. %prep %setup -q %patch0 rm -rf /tmp/%{name}-%{version}-32bit cp -pr . /tmp/%{name}-%{version}-32bit rm -fr * mv /tmp/%{name}-%{version}-32bit 32bit cp -pr 32bit 64bit %build # Use the default compiler for this platform - gcc otherwise if [[ -z "$CC" ]] then if test "X`type %{DEFCC} 2>/dev/null`" != 'X'; then export CC=%{DEFCC} else export CC=gcc fi fi if test "X$CC" != "Xgcc" then export RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed 's:-fsigned-char::'` export CFLAGS="$RPM_OPT_FLAGS" %ifarch ia64 if test "X$CC" != "Xgcc" then export RPM_OPT_FLAGS="" fi %endif fi export CC="/opt/freeware/bin/gcc" export CXX="/opt/freeware/bin/g++" # build on 64bit mode cd 64bit export OBJECT_MODE=64 export CFLAGS="$RPM_OPT_FLAGS -maix64 -D_LARGE_FILES" export LDFLAGS="-Wl,-brtl" ./configure --prefix=%{_prefix} --libdir=%{_libdir}64 --mandir=%{_mandir} --includedir=%{_prefix}/include/slang make all if [ "%{dotests}" == 1 ] then (gmake -k check || true) fi # build on 32bit mode cd ../32bit export OBJECT_MODE=32 export CFLAGS="$RPM_OPT_FLAGS -maix32 -D_LARGE_FILES" export LDFLAGS="-Wl,-brtl" ./configure --prefix=%{_prefix} --libdir=%{_libdir} --mandir=%{_mandir} --includedir=%{_prefix}/include/slang make all if [ "%{dotests}" == 1 ] then (gmake -k check || true) fi %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT%{_prefix}/include/slang # install on 64bit mode cd 64bit export OBJECT_MODE=64 make DESTDIR=$RPM_BUILD_ROOT install ( cd ${RPM_BUILD_ROOT}/%{prefix}/bin for fic in $(ls -1| grep -v -e _32 -e _64) do mv $fic "$fic"_64 done ) # install on 32bit mode cd ../32bit export OBJECT_MODE=32 make DESTDIR=$RPM_BUILD_ROOT install ( cd ${RPM_BUILD_ROOT}/%{prefix}/bin for fic in $(ls -1| grep -v -e _32 -e _64) do mv $fic "$fic"_32 ln -sf "$fic"_64 $fic done ) # create the proper AIX shared library /usr/bin/ar -X32 -rv ${RPM_BUILD_ROOT}%{_libdir}/lib%{name}.a \ ${RPM_BUILD_ROOT}%{_libdir}/lib%{name}.so.2 /usr/bin/ar -X64 -q ${RPM_BUILD_ROOT}%{_libdir}/lib%{name}.a \ ${RPM_BUILD_ROOT}%{_libdir}64/lib%{name}.so.2 ( cd $RPM_BUILD_ROOT mkdir -p usr/include cd usr/include ln -sf ../..%{prefix}/include/* . cd - mkdir -p usr/%{stdlib} cd usr/%{stdlib} ln -sf %{liblink}%{prefix}/lib/* . cd - mkdir -p usr/%{stdlib}64 cd usr/%{stdlib}64 ln -sf %{liblink}%{prefix}/lib64/* . cd - mkdir -p usr/bin cd usr/bin ln -sf ../..%{prefix}/bin/* . cd - ) %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,system) %doc 32bit/COPYING 32bit/doc/README 32bit/changes.txt %doc 32bit/doc/*/slang*.txt 32bit/doc/*.txt %{_libdir}/*.a %{_libdir}/*.so* %{_libdir}64/*.so* /usr/lib/*.a /usr/lib/*.so* /usr/lib64/*.so* %doc 32bit/slsh/doc/html/slsh*.html %config(noreplace) %{_sysconfdir}/slsh.rc %{_bindir}/* %{_mandir}/man1/* %{_libdir}/%{name} %{_libdir}64/%{name} %{_datadir}/slsh /usr/bin/* %files devel %defattr(-,root,system) %doc 32bit/doc/*/cslang*.txt 32bit/doc/*/cref.txt %{_includedir}/* /usr/include/* %changelog * Mon Apr 24 2017 Reshma V Kumar - Version 2.3.1a * Mon May 21 2001 Marc Stephenson - Version 1.4.4 * Tue Feb 20 2001 aixtoolbox - Account for different standard lib location in IA64 32-bit ABI * Fri Oct 27 2000 pkgmgr - Modify for AIX Freeware distribution * Tue Mar 7 2000 Jeff Johnson - rebuild for sparc baud rates > 38400. * Sun Mar 21 1999 Cristian Gafton - auto rebuild in the new build environment (release 4) * Wed Oct 21 1998 Bill Nottingham - libslang.so goes in -devel * Sun Jun 07 1998 Prospector System - translations modified for de * Sat Jun 6 1998 Jeff Johnson - updated to 1.2.2 with buildroot. * Tue May 05 1998 Prospector System - translations modified for de, fr, tr * Sat Apr 18 1998 Erik Troan - rebuilt to find terminfo in /usr/share * Tue Oct 14 1997 Donnie Barnes - spec file cleanups * Mon Sep 1 1997 Donnie Barnes - upgraded to 0.99.38 (will it EVER go 1.0???) - all patches removed (all appear to be in this version) * Thu Jun 19 1997 Erik Troan - built against glibc