Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37733983
en ru br
Репозитории ALT

Группа :: Разработка/Functional
Пакет: clean

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

%define srcName clean

Name: clean
Version: 3.1
Release: alt3
Summary: The Clean programming language compiler and environment
Summary(ru_RU.UTF-8): п п╬п╪п©п╦п╩я▐я┌п╬я─ п╦ я│п╦я│я┌п╣п╪п╫п╟я▐ п╠п╦п╠п╩п╦п╬я┌п╣п╨п╟ п╢п╩я▐ я▐п╥я▀п╨п╟ Clean
License: BSD license
Group: Development/Functional
Url: https://clean.cs.ru.nl/
ExclusiveArch: x86_64
BuildRequires: prelink-tools

# п÷п╟п╨п╣я┌ п╠п╟п╥п╦я─я┐п╣я┌я│я▐ п╫п╟ я│п╠п╬я─п╬я┤п╫я▀я┘ я│п╨я─п╦п©я┌п╟я┘ п╨п╬п╪п©п╦п╩я▐я┌п╬я─п╟, п╨п╟п╨ я─п╣п╨п╬п╪п╣п╫п╢п╬п╡п╟п╫п╬

# я─п╟п╥я─п╟п╠п╬я┌я┤п╦п╨п╟п╪п╦ Clean (п■п╤п╬п╫п╬п╪ п╦ п п╟п╪п╦п╩п╬п╪).
#
# п║п╠п╬я─п╬я┤п╫я▀п╣ я│п╨я─п╦п©я┌я▀ п╪п╬п╤п╫п╬ я│п╨п╟я┤п╟я┌я▄ п╡
#    https://gitlab.science.ru.nl/clean-and-itasks/clean-build
#
# п≤я│я┘п╬п╢п╫я▀п╣ п╨п╟я┌п╟п╩п╬пЁп╦:
#  clean/build - я┌я┐я┌ п╩п╣п╤п╦я┌ bootstrap compiler
#  clean/clean-base - я┤п╟я│я┌я▄ я│п╠п╬я─п╬я┤п╫я▀я┘ я│п╨я─п╦п©я┌п╬п╡
#  clean/src - п╢п╣я─п╣п╡я▄я▐ п╦я│я┘п╬п╢п╫я▀я┘ п╨п╬п╢п╬п╡ п╨п╬п╪п©п╦п╩я▐я┌п╬я─п╟ п╦ п╠п╟п╥п╬п╡я▀я┘ п╠п╦п╠п╩п╦п╬я┌п╣п╨


Packager: %packager

Source: clean-%version.tar
Patch0: %name-3.0-alt-remove-doc-build.patch

%description
This package contains a Clean language compiler and standard
library. This is a bootstrap package for 64-bit intel architecture.

%prep
%setup -q -n %srcName-%version
%patch0 -p2

%build

./clean-base/linux-x64/build.sh clean-base linux x64

# п п╬п╪п©п╦п╩п╦я─я┐п╣п╪ я│я┌п╟п╫п╢п╟я─я┌п╫я┐я▌ п╠п╦п╠п╩п╦п╬я┌п╣п╨я┐ - п╫п╟п╢п╬ я│п©я─п╬я│п╦я┌я▄ п п╟п╪п╦п╩п╟

cd target/clean-base/lib/StdEnv/
for f in `ls *.icl`; do
 PATH=$PATH:../../bin/ CLEANLIB=../exe clm -dynamics -I . -PO `echo $f | sed s/.icl//`
done
PATH=$PATH:../../bin/ CLEANLIB=../exe clm -dynamics -I . -PO StdEnv
cd ../../../../

# п║п╫п╦п╪п╟п╣п╪ п╠п╦я┌ exec stack - я─п╟п╥я─п╟п╠п╬я┌я┤п╦п╨ John van Groningen

# я│п╬п╬п╠я┴п╦п╩, я┤я┌п╬ п╣пЁп╬ п╪п╬п╤п╫п╬ я│п╫я▐я┌я▄, п╦ п╨п╟п╨ я█я┌п╬ я│п╢п╣п╩п╟я┌я▄.
execstack -c target/clean-base/lib/exe/cg
execstack -c target/clean-base/lib/exe/cocl

# п÷я─п╣п╢я┐п©я─п╣п╤п╢п╣п╫п╦я▐ п╫п╟я│я┤я▒я┌ relocations, п╨ я│п╬п╤п╟п╩п╣п╫п╦я▌ - п©п╬п╩п╬п╤п╦я┌п╣п╩я▄п╫я▀п╣

# я│я─п╟п╠п╟я┌я▀п╡п╟п╫п╦я▐. п╕п╦я┌п╟я┌п╟ п╦п╥ п©п╦я│я▄п╪п╟ п■п╤п╬п╫п╟:
#
# On my system it doesn't like R_X86_64_NONE relocations. You can verify
# if this is the case with objdump --reloc of the object file (or eu-objdump).
# These relocations are generated by the Clean compiler and are essential.
#
# п²п╟ ALT Linux я█я┌п╬ я┌п╬п╤п╣ R_X86_64_NONE.

# п÷п╣я─п╣п╨п╬п╪п©п╦п╩п╦я─я┐п╣п╪ clm я│ п©я─п╬п©п╦я│п╟п╫п╫я▀п╪п╦ п©я┐я┌я▐п╪п╦ п©п╬я│п╩п╣ я┐я│я┌п╟п╫п╬п╡п╨п╦.

# п÷п╬я│п╩п╣ п╪п╦пЁя─п╟я├п╦п╦ п╫п╟ я│п╦я│я┌п╣п╪п╫я▀п╧ ld п╪я▀ п╢п╬п╩п╤п╫я▀ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ clms.
cd src/clm-master
make -fMakefile.linux64 CLEANLIB=%_libdir/%name/exe/ CLEANPATH=.:%_libdir/%name/StdEnv/ clms
cp clms ../../target/clean-base/bin/clm

%install
%define docdir %_docdir/%name-%version
mkdir -p %buildroot%_bindir
mkdir -p %buildroot%_libdir/%name
mkdir -p %buildroot%docdir
mkdir -p %buildroot%_mandir

%define target target/clean-base/

install -pm755 %target/bin/* %buildroot/%_bindir/
cp -R %target/lib/* %buildroot%_libdir/%name
cp src/language-report-master/CleanRep.3.0.doc %buildroot%docdir
cp src/language-report-master/todo.txt %buildroot%docdir
cp src/clean-ide-master/CleanLicenseConditions.txt %buildroot%docdir
cp clean-base/linux-x64/txt/README %buildroot%docdir/README.md

# п╜я┌п╬ п╨п╬я│я┌я▀п╩я▄, п╣пЁп╬ п╫я┐п╤п╫п╬ я┐п╠я─п╟я┌я▄ - я▐ п╬я┌п©я─п╟п╡п╦п╩ п©п╦я│я▄п╪п╬ п п╟п╪п╦п╩п╩я┐,

# я┤я┌п╬ man я│я┌я─п╟п╫п╦я├п╟ п╫п╣ я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟п╣я┌я│я▐ п╡ target.
install -pm644 src/clm-master/clm.1 %buildroot%_mandir

%find_lang %name

%post
# Touching compiled files to prevent autogeneration
touch "/usr/lib64/clean/StdEnv/Clean System Files"/*.abc
sleep 1
touch "/usr/lib64/clean/StdEnv/Clean System Files"/*.o

%files
%_bindir/*
%_libdir/*
%_mandir/*
%%dir %docdir
%docdir/*

%changelog

Полный changelog можно просмотреть здесь

 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin