"Fossies" - the Fresh Open Source Software Archive

Member "scm/scm.spec" (16 Feb 2020, 5730 Bytes) of package /linux/privat/scm-5f3.zip:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) RPM Spec source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "scm.spec": 5f2_vs_5f3.

    1 %define name scm
    2 %define version 5f3
    3 %define release 1
    4 %define implpath %{prefix}/lib/scm
    5 %define slibpath %{prefix}/lib/slib
    6 %define dumparch setarch %{_target_cpu}
    7 # rpm seems to require all on one line, bleah.
    8 %define features cautious bignums arrays inexact dynamic-linking macro engineering-notation
    9 
   10 Name:         %{name}
   11 Release:      %{release}
   12 Version:      %{version}
   13 Packager:     Aubrey Jaffer <agj @ alum.mit.edu>
   14 
   15 License:      GPL
   16 Vendor:       Aubrey Jaffer <agj @ alum.mit.edu>
   17 Group:        Development/Languages
   18 Provides:     scm
   19 Requires:     slib
   20 
   21 Summary:      SCM Scheme implementation
   22 Source:       http://groups.csail.mit.edu/mac/ftpdir/scm/scm-%{version}.zip
   23 URL:          http://people.csail.mit.edu/jaffer/SCM
   24 BuildRoot:    %{_tmppath}/%{name}-%{version}
   25 Prefix:       /usr
   26 
   27 %description
   28 Scm conforms to Revised^5 Report on the Algorithmic Language Scheme and
   29 the IEEE P1178 specification.  Scm provides a machine independent
   30 platform for JACAL, a symbolic algebra system.
   31 
   32 This distribution requires libdl.so from the glibc-devel package and the
   33 slib Scheme library package.  If your machine lacks XFree86 or readline,
   34 install with --nodeps.
   35 
   36 # % define __os_install_post /usr/lib/rpm/brp-compress
   37 
   38 %prep
   39 rm -rf /var/tmp/%{name}-%{version}
   40 %setup -n scm -c -T
   41 cd ..
   42 unzip $RPM_SOURCE_DIR/scm-%{version}.zip
   43 
   44 %build
   45 # SLIB is required to build SCM.
   46 if [ -n "$SCHEME_LIBRARY_PATH" ]; then
   47   echo using SLIB $SCHEME_LIBRARY_PATH
   48 elif [ -d %{slibpath} ]; then
   49   export SCHEME_LIBRARY_PATH=%{slibpath}/
   50 elif [ -d %{prefix}/share/slib ]; then
   51   export SCHEME_LIBRARY_PATH=%{prefix}/share/slib/
   52 fi
   53 make scmlit
   54 make clean
   55 export PATH=.:$PATH   # to get scmlit in the path.
   56 
   57 # Build the executable.
   58 ./build -h system -o scm --compiler-options="-O2" -l debug -s %{implpath} -F %{features}
   59 # echo "(quit)" | ./udscm5 -no-init-file -r5 -o scm
   60 # make check
   61 
   62 # Build dlls
   63 # ./build -h system -t dll -F curses --compiler-options="-O2"
   64 # ./build -h system -t dll -F edit-line --compiler-options="-O2"
   65 make x.so
   66 ./build -h system -t dll -c differ.c --compiler-options="-O2"
   67 ./build -h system -t dll -c sc2.c --compiler-options="-O2"
   68 ./build -h system -t dll -c rgx.c --compiler-options="-O2"
   69 ./build -h system -t dll -c record.c --compiler-options="-O2"
   70 ./build -h system -t dll -c gsubr.c --compiler-options="-O2"
   71 ./build -h system -t dll -c ioext.c --compiler-options="-O2"
   72 ./build -h system -t dll -c posix.c --compiler-options="-O2"
   73 ./build -h system -t dll -c unix.c --compiler-options="-O2"
   74 ./build -h system -t dll -c socket.c --compiler-options="-O2"
   75 ./build -h system -t dll -c ramap.c --compiler-options="-O2"
   76 ./build -h system -t dll -c byte.c --compiler-options="-O2"
   77 ./build -h system -t dll -F x --compiler-options="-O2"
   78 
   79 # Build libscm.a static library
   80 ./build -h system -F cautious bignums arrays inexact dynamic-linking -t lib \
   81     --compiler-options="-O2"
   82 
   83 %install
   84 mkdir -p ${RPM_BUILD_ROOT}%{prefix}/bin
   85 mkdir -p ${RPM_BUILD_ROOT}%{prefix}/lib/scm
   86 mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man1
   87 make prefix=${RPM_BUILD_ROOT}%{prefix}/ \
   88      mandir=${RPM_BUILD_ROOT}%{_mandir}/ \
   89      infodir=${RPM_BUILD_ROOT}%{_infodir}/ \
   90      install
   91 rm -f ${RPM_BUILD_ROOT}%{prefix}/bin/scm
   92 cp scm ${RPM_BUILD_ROOT}%{prefix}/bin/
   93 
   94 # Assume SLIB is in %{prefix}/lib/slib, as installed by the slib rpm.
   95 cat > ${RPM_BUILD_ROOT}%{prefix}/lib/scm/require.scm <<EOF
   96 (set! library-vicinity (lambda () "%{prefix}/lib/slib/"))
   97 EOF
   98 
   99 %clean
  100 rm -rf $RPM_BUILD_ROOT
  101 
  102 # echo "(quit)" | % {dumparch} % {prefix}/bin/udscm5 -no-init-file -r5 -o % {prefix}/bin/scm
  103 %post
  104 ln -s %{prefix}/bin/scm %{prefix}/local/bin/
  105 ln -s %{prefix}/lib/scm %{prefix}/local/lib/
  106 %{prefix}/bin/scm -br new-catalog
  107 
  108 %verifyscript
  109 cp -f %{prefix}/lib/scm/r4rstest.scm /tmp/
  110 (cd /tmp
  111     %{prefix}/bin/scm -fr4rstest.scm -e'(test-sc4)(test-cont)(test-delay)(gc)')
  112 
  113 %preun
  114 rm -f %{prefix}/lib/scm/slibcat %{prefix}/lib/scm/implcat
  115 if [ -L %{prefix}/local/bin/scm ] && \
  116     ls -l %{prefix}/local/bin/scm | grep -q "> %{prefix}/bin/scm"; then
  117   rm -f %{prefix}/local/bin/scm
  118 fi
  119 if [ -L %{prefix}/local/lib/scm ] && \
  120     ls -l %{prefix}/local/lib/scm | grep -q "> %{prefix}/lib/scm"; then
  121   rm -f %{prefix}/local/lib/scm
  122 fi
  123 rm -f %{prefix}/bin/scm
  124 
  125 %files
  126 %defattr(-, root, root)
  127 %{prefix}/bin/scmlit
  128 %{prefix}/bin/scm
  129 %dir %{prefix}/lib/scm
  130 # No wildcards here because we need to segregate files by package.
  131 # % {prefix}/lib/scm/crs.so
  132 %{prefix}/lib/scm/gsubr.so
  133 %{prefix}/lib/scm/posix.so
  134 %{prefix}/lib/scm/record.so
  135 %{prefix}/lib/scm/sc2.so
  136 %{prefix}/lib/scm/unix.so
  137 %{prefix}/lib/scm/ioext.so
  138 %{prefix}/lib/scm/ramap.so
  139 %{prefix}/lib/scm/socket.so
  140 %{prefix}/lib/scm/rgx.so
  141 %{prefix}/lib/scm/Init%{version}.scm
  142 %{prefix}/lib/scm/require.scm
  143 %{prefix}/lib/scm/Iedline.scm
  144 %{prefix}/lib/scm/Macexp.scm
  145 %{prefix}/lib/scm/Macro.scm
  146 %{prefix}/lib/scm/Tscript.scm
  147 %{prefix}/lib/scm/Transcen.scm
  148 %{prefix}/lib/scm/mkimpcat.scm
  149 %{prefix}/lib/scm/Link.scm
  150 %{prefix}/lib/scm/compile.scm
  151 %{prefix}/lib/scm/hobbit.scm
  152 %{prefix}/lib/scm/scmhob.scm
  153 %{prefix}/lib/scm/scmhob.h
  154 %{prefix}/lib/scm/patchlvl.h
  155 %{prefix}/lib/scm/build.scm
  156 %{prefix}/lib/scm/build
  157 %{prefix}/lib/scm/Idiffer.scm
  158 %{prefix}/lib/scm/differ.so
  159 %{prefix}/lib/scm/x.so
  160 %{prefix}/lib/scm/xevent.scm
  161 %{prefix}/lib/scm/xatoms.scm
  162 %{prefix}/lib/scm/x11.scm
  163 %{prefix}/lib/scm/keysymdef.scm
  164 %{prefix}/lib/scm/r4rstest.scm
  165 %{prefix}/lib/scm/byte.so
  166 %{prefix}/lib/scm/COPYING
  167 %{prefix}/lib/scm/COPYING.LESSER
  168 %{_infodir}/Xlibscm.info.gz
  169 %{_infodir}/hobbit.info.gz
  170 %{_infodir}/scm.info.gz
  171 %{_infodir}/dir
  172 %{_mandir}/man1/scm.1.gz
  173 
  174 %{prefix}/lib/libscm.a
  175 %{prefix}/include/scm.h
  176 %{prefix}/include/scmfig.h
  177 %{prefix}/include/scmflags.h
  178 
  179 %doc ANNOUNCE COPYING COPYING.LESSER QUICKREF README ChangeLog
  180 
  181 %changelog