summaryrefslogtreecommitdiff
path: root/nemerle.spec
blob: 432342c1a17c66c673456c2cc06afc3a84984a5c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
%define _rev 1418
Summary:	Nemerle compiler
Summary(pl):	Kompilator języka Nemerle
Name:		nemerle
Version:	0.0.1.%{_rev}
Release:	1
Epoch:		0
License:	BSD
Group:		Development/Languages
Vendor:		Nemerle Development Team <feedback@nemerle.org>
Source0:	http://nemerle.org/download/%{name}-%{_rev}.tar.gz
# Source0-md5:	f728c023ba373f2c55586e84c4086b39
BuildArch:	noarch
URL:		http://nemerle.org/
Requires(post):	mono >= 0.29
Requires:	mono >= 0.29
Requires:	%{name}-libs = %{epoch}:%{version}-%{release}
BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)

%description
Nemerle is a new functional language designed from the ground up for
the .NET platform. Nemerle supports: object oriented and imperative
.NET concepts, variant datatypes, matching, higher order functions and
powerful macro system. It has simple, C-like syntax and makes access
to imperative features easy, and thus is easy to learn.

%description -l pl
Nemerle jest nowym językiem funkcjonalnym zaprojektowym od początku z
myślą o platformie .NET. Nemerle wspiera programowanie obiektowe i
imperatywne, typy wariantowe, dopasowanie wzorca, funkcje wyższych
rzędów oraz poteżny system makr. Składnia Nemerle jest prosta,
przypomina trochę C. Nemerle umożliwa łatwy dostęp do swych
imperatywnych oraz obiektowych cech, co powinno ułatwić uczenie się
go.

%package libs
Summary:	Nemerle runtime environment
Summary(pl):	Środowisko uruchomieniowe języka Nemerle
BuildArch:	noarch
Group:		Libraries
Requires(post):	mono >= 0.29
Requires:	mono >= 0.29

%description libs
Libraries needed to run programs written in Nemerle.

%description libs -l pl
Biblioteki niezbędne do uruchamiania programów napisanych w Nemerle.

%prep
%setup -q -n %{name}-%{_rev}

%build

%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_libdir},%{_bindir}}

install boot/*.dll $RPM_BUILD_ROOT%{_libdir}
install lib/aliases.n $RPM_BUILD_ROOT%{_libdir}
install boot/ncc.exe $RPM_BUILD_ROOT%{_bindir}

for f in $RPM_BUILD_ROOT%{_bindir}/*.exe $RPM_BUILD_ROOT%{_libdir}/*.dll ; do
	touch $f.so
done

cat > $RPM_BUILD_ROOT%{_bindir}/ncc <<EOF
#!/bin/sh
mono %{_bindir}/ncc.exe "\$@"
EOF

%clean
rm -rf $RPM_BUILD_ROOT

%post
mono --aot %{_libdir}/Nemerle.Compiler.dll || :
mono --aot %{_libdir}/stdmacros.dll || :
mono --aot %{_bindir}/ncc.exe || :

%post libs
mono --aot %{_libdir}/Nemerle.dll || :

%files
%defattr(644,root,root,755)
%doc AUTHORS README
%attr(755,root,root) %{_bindir}/ncc
%attr(755,root,root) %{_bindir}/ncc.exe
%attr(755,root,root) %{_libdir}/stdmacros.dll
%attr(755,root,root) %{_libdir}/Nemerle.Compiler.dll
%{_libdir}/aliases.n
%ghost %attr(755,root,root) %{_bindir}/ncc.exe.so
%ghost %attr(755,root,root) %{_libdir}/stdmacros.dll.so
%ghost %attr(755,root,root) %{_libdir}/Nemerle.Compiler.dll.so

%files libs
%defattr(644,root,root,755)
%doc COPYRIGHT
%attr(755,root,root) %{_libdir}/Nemerle.dll
%ghost %attr(755,root,root) %{_libdir}/Nemerle.dll.so