]> git.pld-linux.org Git - SPECS.git/blob - prothon.spec
SPECS updated Sun 1 Aug 11:02:02 CEST 2021
[SPECS.git] / prothon.spec
1
2 %define         pr_build        b711
3 %define         pr_libver       0.0
4
5 Summary:        Prototype-oriented scripting programming language
6 Summary(pl.UTF-8):      Zorientowany na prototypy skryptowy język programowania
7 Name:           prothon
8 Version:        0.1.2
9 Release:        2
10 License:        HCA
11 Group:          Development/Languages
12 Source0:        http://prothon.org/pub/prothon/%{name}-%{version}-%{pr_build}.tar.gz
13 # Source0-md5:  71bfef4e0269be720bc4236671bfdbfe
14 Source1:        http://prothon.org/pub/prothon/tutorial.zip
15 # Source1-md5:  d1b46ddf2b94c398f3a0e919bebd5bd1
16 URL:            http://prothon.org/
17 BuildRequires:  apr-util-devel
18 BuildRequires:  bison
19 BuildRequires:  boost-devel >= 1.35.0
20 BuildRequires:  sqlite-devel
21 BuildRequires:  unzip
22 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
23
24 %description
25 Prothon is a new object-centric language that gets rid of classes
26 altogether in the same way that Self does and regains the original
27 practical and fun sensibility of Python, an interpreted language with
28 object-oriented features that is practical, powerful, and fun to
29 program at the same time.
30
31 Python is the premiere interpreted language of choice, but over time
32 capabilities have been added to the core Python language, while
33 compatibility with earlier versions has been maintained, and Python
34 has became loaded with features, some quite complex. The metaclass is
35 an example of a recent feature addition. Even Python experts admit
36 that metaclasses are brain-achingly complex.
37
38 Prothon is also an industrial-strength alternative to Python and Self.
39 Prothon uses native threads and a 64-bit architecture to maximize
40 performance in applications such as multiple-cpu hosting. Prothon also
41 has a unique "blanket" security model and a transaction-based object
42 store built into the object structure.
43
44 For an in-depth look at Prototypes versus Classes, check
45 http://web.media.mit.edu/~lieber/Lieberary/OOP/Delegation/Delegation.html
46 link.
47
48 %description -l pl.UTF-8
49 Prothon jest nowym, zorientowanym obiektowo językiem programowania,
50 pozbawionym pojęcia klasy (w taki sam sposób, jak to robi Self z
51 językiem Java). Prothon zachowuje praktyczne i jednocześnie zabawne
52 właściwości Pythona, zauważalne w początkach jego powstawania - jest
53 interpretowanym, zorientowanym obiektowo językiem, umożliwiającym
54 programowanie w sposób praktyczny, skuteczny i jednocześnie wesoły.
55
56 Python jest świetnym językiem interpretowanym, lecz podczas jego
57 długiego rozwoju mnóstwo właściwości zostało dodanych do rdzenia
58 języka, przy jednoczesnym staraniu się o zachowanie kompatybilności z
59 wcześniejszymi wersjami, w wyniku czego Python stał się przeładowany
60 konstrukcjami, czasami bardzo złożonymi. Przykładem takiej konstrukcji
61 jest pojęcie metaklasy. Nawet eksperci Pythona uważają pojęcie to za
62 co najmniej ciężko zrozumiałe.
63
64 Prothon jest zatem mocną alternatywą dla Pythona i Selfa. Wykorzystuje
65 natywne implementacje wątków oraz 64-bitową architekturę w celu
66 zmaksymalizowania wydajności w aplikacjach takich jak wieloprocesorowy
67 hosting. Język posiada też unikalny model zapewniania bezpieczeństwa
68 oraz transakcyjny sposób przechowywania i modyfikacji właściwości
69 obiektów, wbudowany w strukturę obiektu.
70
71 W celu dokładnego porównania zorientowanego na prototypy i na klasy
72 programowania obiektowego warto zapoznać się z dokumentem dostępnym
73 pod linkiem
74 http://web.media.mit.edu/~lieber/Lieberary/OOP/Delegation/Delegation.html.
75
76 %package examples
77 Summary:        Example Prothon programs
78 Summary(pl.UTF-8):      Przykłady programy napisane w Prothonie
79 Group:          Development/Languages
80 Requires:       %{name} = %{version}-%{release}
81
82 %description examples
83 This package contains example programs for Prothon programming
84 language. Theses programs were written as a simple tutorial, which
85 shows most common language features.
86
87 %description examples -l pl.UTF-8
88 Ten pakiet zawiera przykładowe programy napisane w języku Prothon.
89 Programy te napisane zostały w postaci prostego tutoriala
90 wprowadzającego programistę w kolejne możliwości tego języka
91 programowania.
92
93 %prep
94 %setup -q -n %{name}-%{version}-%{pr_build}
95 unzip -d . %{SOURCE1}
96
97 %build
98 %configure
99 %{__make} \
100         CFLAGS="%{rpmcflags}"
101
102 %install
103 rm -rf $RPM_BUILD_ROOT
104 install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir}/prothon-%{pr_libver},%{_examplesdir}/%{name}-%{version}}}
105
106 %{__make} install \
107         DESTDIR=$RPM_BUILD_ROOT
108
109 rm -f $RPM_BUILD_ROOT%{_libdir}/prothon-%{pr_libver}/*.{la,a}
110
111 cp -a tutorial/ $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
112
113 %clean
114 rm -rf $RPM_BUILD_ROOT
115
116 %files
117 %defattr(644,root,root,755)
118 %doc CHANGES.txt LICENSE README.txt STATUS.txt
119 %attr(755,root,root) %{_bindir}/*
120 %dir %{_libdir}/prothon-%{pr_libver}
121 %attr(755,root,root) %{_libdir}/prothon-%{pr_libver}/*.so
122
123 %files examples
124 %defattr(644,root,root,755)
125 %{_examplesdir}/%{name}-%{version}
This page took 0.198187 seconds and 3 git commands to generate.