Группа :: Разработка/Прочее
Пакет: plt2
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Name: plt2
Version: 208
#%define subv p1
Release: alt1.1
#.%subv
%define fullname %name
%set_compress_method gzip
License: LGPL
Group: Development/Other
Url: http://www.plt-scheme.org/
#Source: plt-%version%subv-src-unix.tgz
Source: plt-%version-src-unix.tgz
# Patch: plt-locale-patch.diff
Source1: plt-drscheme.menu
Source2: plt-drscheme.png
Summary: PLT MzScheme & DrScheme
Summary(ru_RU.KOI8-R): PLT MzScheme & DrScheme
PreReq: alternatives >= 0.0.6
%add_findreq_skiplist %_libdir/%fullname/collects/games/paint-by-numbers/*.ss
%add_findreq_skiplist %_libdir/%fullname/install
Provides: %_bindir/mred
Provides: %_bindir/mzscheme
# Automatically added by buildreq on Sun Feb 01 2004
BuildRequires: XFree86-bitmaps XFree86-devel-static fontconfig-devel freetype2-devel gcc-c++ libalternatives-devel libjpeg-devel libpng-devel libssl-devel libstdc++-devel xpm zlib-devel
%description
DrScheme, a pedagogical programming environment, builded on top of
MzScheme -- R5RS-compilant version of Scheme language.
%description -l ru_RU.KOI8-R
DrScheme является образовательной средой, построенной на базе
MzScheme -- реализации языка Scheme, соответствующей R5RS.
%prep
%setup -q -n plt
# %patch -p1
%build
cd src
export CFLAGS="%optflags"
export CXXFLAGS="%optflags"
./configure --prefix=%_libdir/%fullname
make
cd ..
%install
cd src
mkdir -p %buildroot%_libdir/%fullname
RPM_OPT_FLAGS="%optflags" ; export RPM_OPT_FLAGS
RPM_INSTALL_PREFIX="%buildroot" ; export RPM_INSTALL_PREFIX
make prefix=%buildroot%_libdir/%fullname install
# cp -Rf install include collects bin teachpack notes %buildroot%_libdir/%fullname
# install -m 755 src/mzscheme/mzscheme %buildroot%_libdir/%fullname/bin/
# install -m 755 src/mred/mred %buildroot%_libdir/%fullname/bin/
# mkdir %buildroot%_libdir/%fullname/lib/
# install -m 755 src/mzscheme/mzdyn.o %buildroot%_libdir/%fullname/lib/
# install -m 755 src/mzscheme/libmzgc.a %buildroot%_libdir/%fullname/lib/
# install -m 755 src/mzscheme/libmzscheme.a %buildroot%_libdir/%fullname/lib/
cd ..
mkdir -p %buildroot%_mandir/man1
for i in man/man1/* ; do
install -m 644 $i %buildroot%_mandir/man1/`basename $i .1`-2.1
done
RPM_OPT_FLAGS="%optflags" ; export RPM_OPT_FLAGS
mkdir -p %buildroot/%_menudir
install -m 644 %SOURCE1 %buildroot/%_menudir/drscheme-2
mkdir -p %buildroot/%_datadir/icons
install -m 644 %SOURCE2 %buildroot/%_datadir/icons/drscheme-2.png
# install symlinks
mkdir -p %buildroot%_bindir
cd %buildroot%_libdir/%fullname/bin
for i in drscheme help-desk mred mzc mzscheme tex2page web-server web-server-monitor; do
ln -sf %_libdir/%fullname/bin/$i ../../../bin/$i-2
done
cd $OLDWD
#setup alternatives
install -d %buildroot%_altdir
cat >%buildroot%_altdir/%name<<EOF
<group name="candidate">
<option name="link">%_bindir/mzscheme</option>
<option name="real">%_bindir/mzscheme-2</option>
<option name="weight" type="number">20</option>
EOF
#append slaves
for i in drscheme help-desk mred mzc
do
cat >>%buildroot%_altdir/%name<<EOF
<group name="slave">
<option name="link">%_bindir/$i</option>
<option name="real">%_bindir/$i-2</option>
</group>
EOF
done
#append man-pages for slaves
for i in mred mzscheme drscheme
do
cat >>%buildroot%_altdir/%name<<EOF
<group name="slave">
<option name="link">%_man1dir/$i.1.gz</option>
<option name="real">%_man1dir/$i-2.1.gz</option>
</group>
EOF
done
#append end-tag
cat >>%buildroot%_altdir/%name<<EOF
</group>
EOF
%post
## reconfigure plt
PLTHOME="%_libdir/%fullname" ; export PLTHOME
PLTCOLLECTS="" ; export PLTCOLLECTS
RPM_INSTALL_PREFIX="" ; export RPM_INSTALL_PREFIX
cd %_libdir/%fullname
./install
## install menus
%update_menus
%register_alternatives %name -- mzscheme drscheme help-desk mred mzc mred.1.gz mzscheme.1.gz drscheme.1.gz
%preun
%clean_menus
%unregister_alternatives %name
# [ $1 = 0 ] || exit 0
# for i in drscheme help-desk mred mzc mzscheme tex2page web-server web-server-monitor; do
# rm -f %_bindir/$i-2
# done
# % postun
# [ $1 = 0 ] || exit 0
# rm -rf %_libdir/%fullname
#try to fix a big bug in package
%triggerun -- plt2 < 203-alt2.1
mv %_libdir/%fullname %_libdir/%fullname.save
%triggerpostun -- plt2 < 203-alt2.1
mv %_libdir/%fullname.save %_libdir/%fullname
%files
%_altdir/%name
%_bindir/*
%dir %_libdir/%fullname/
%_libdir/%fullname/
%_man1dir/*
%_menudir/*
%_datadir/icons/*
%changelog
…
Полный changelog можно просмотреть здесь
Version: 208
#%define subv p1
Release: alt1.1
#.%subv
%define fullname %name
%set_compress_method gzip
License: LGPL
Group: Development/Other
Url: http://www.plt-scheme.org/
#Source: plt-%version%subv-src-unix.tgz
Source: plt-%version-src-unix.tgz
# Patch: plt-locale-patch.diff
Source1: plt-drscheme.menu
Source2: plt-drscheme.png
Summary: PLT MzScheme & DrScheme
Summary(ru_RU.KOI8-R): PLT MzScheme & DrScheme
PreReq: alternatives >= 0.0.6
%add_findreq_skiplist %_libdir/%fullname/collects/games/paint-by-numbers/*.ss
%add_findreq_skiplist %_libdir/%fullname/install
Provides: %_bindir/mred
Provides: %_bindir/mzscheme
# Automatically added by buildreq on Sun Feb 01 2004
BuildRequires: XFree86-bitmaps XFree86-devel-static fontconfig-devel freetype2-devel gcc-c++ libalternatives-devel libjpeg-devel libpng-devel libssl-devel libstdc++-devel xpm zlib-devel
%description
DrScheme, a pedagogical programming environment, builded on top of
MzScheme -- R5RS-compilant version of Scheme language.
%description -l ru_RU.KOI8-R
DrScheme является образовательной средой, построенной на базе
MzScheme -- реализации языка Scheme, соответствующей R5RS.
%prep
%setup -q -n plt
# %patch -p1
%build
cd src
export CFLAGS="%optflags"
export CXXFLAGS="%optflags"
./configure --prefix=%_libdir/%fullname
make
cd ..
%install
cd src
mkdir -p %buildroot%_libdir/%fullname
RPM_OPT_FLAGS="%optflags" ; export RPM_OPT_FLAGS
RPM_INSTALL_PREFIX="%buildroot" ; export RPM_INSTALL_PREFIX
make prefix=%buildroot%_libdir/%fullname install
# cp -Rf install include collects bin teachpack notes %buildroot%_libdir/%fullname
# install -m 755 src/mzscheme/mzscheme %buildroot%_libdir/%fullname/bin/
# install -m 755 src/mred/mred %buildroot%_libdir/%fullname/bin/
# mkdir %buildroot%_libdir/%fullname/lib/
# install -m 755 src/mzscheme/mzdyn.o %buildroot%_libdir/%fullname/lib/
# install -m 755 src/mzscheme/libmzgc.a %buildroot%_libdir/%fullname/lib/
# install -m 755 src/mzscheme/libmzscheme.a %buildroot%_libdir/%fullname/lib/
cd ..
mkdir -p %buildroot%_mandir/man1
for i in man/man1/* ; do
install -m 644 $i %buildroot%_mandir/man1/`basename $i .1`-2.1
done
RPM_OPT_FLAGS="%optflags" ; export RPM_OPT_FLAGS
mkdir -p %buildroot/%_menudir
install -m 644 %SOURCE1 %buildroot/%_menudir/drscheme-2
mkdir -p %buildroot/%_datadir/icons
install -m 644 %SOURCE2 %buildroot/%_datadir/icons/drscheme-2.png
# install symlinks
mkdir -p %buildroot%_bindir
cd %buildroot%_libdir/%fullname/bin
for i in drscheme help-desk mred mzc mzscheme tex2page web-server web-server-monitor; do
ln -sf %_libdir/%fullname/bin/$i ../../../bin/$i-2
done
cd $OLDWD
#setup alternatives
install -d %buildroot%_altdir
cat >%buildroot%_altdir/%name<<EOF
<group name="candidate">
<option name="link">%_bindir/mzscheme</option>
<option name="real">%_bindir/mzscheme-2</option>
<option name="weight" type="number">20</option>
EOF
#append slaves
for i in drscheme help-desk mred mzc
do
cat >>%buildroot%_altdir/%name<<EOF
<group name="slave">
<option name="link">%_bindir/$i</option>
<option name="real">%_bindir/$i-2</option>
</group>
EOF
done
#append man-pages for slaves
for i in mred mzscheme drscheme
do
cat >>%buildroot%_altdir/%name<<EOF
<group name="slave">
<option name="link">%_man1dir/$i.1.gz</option>
<option name="real">%_man1dir/$i-2.1.gz</option>
</group>
EOF
done
#append end-tag
cat >>%buildroot%_altdir/%name<<EOF
</group>
EOF
%post
## reconfigure plt
PLTHOME="%_libdir/%fullname" ; export PLTHOME
PLTCOLLECTS="" ; export PLTCOLLECTS
RPM_INSTALL_PREFIX="" ; export RPM_INSTALL_PREFIX
cd %_libdir/%fullname
./install
## install menus
%update_menus
%register_alternatives %name -- mzscheme drscheme help-desk mred mzc mred.1.gz mzscheme.1.gz drscheme.1.gz
%preun
%clean_menus
%unregister_alternatives %name
# [ $1 = 0 ] || exit 0
# for i in drscheme help-desk mred mzc mzscheme tex2page web-server web-server-monitor; do
# rm -f %_bindir/$i-2
# done
# % postun
# [ $1 = 0 ] || exit 0
# rm -rf %_libdir/%fullname
#try to fix a big bug in package
%triggerun -- plt2 < 203-alt2.1
mv %_libdir/%fullname %_libdir/%fullname.save
%triggerpostun -- plt2 < 203-alt2.1
mv %_libdir/%fullname.save %_libdir/%fullname
%files
%_altdir/%name
%_bindir/*
%dir %_libdir/%fullname/
%_libdir/%fullname/
%_man1dir/*
%_menudir/*
%_datadir/icons/*
%changelog
…
Полный changelog можно просмотреть здесь