]> git.pld-linux.org Git - packages/cook.git/blob - cook.spec
3f8e43340e2536e6efaf6271abbd3ce5450c482d
[packages/cook.git] / cook.spec
1 Summary:        A file construction tool
2 Summary(pl):    Narzêdzie do konstrukcji plików
3 Name:           cook
4 Version:        2.21
5 Release:        3
6 License:        GPL
7 Group:          Development/Building
8 Source0:        http://www.canb.auug.org.au/~millerp/cook/%{name}-%{version}.tar.gz
9 URL:            http://www.canb.auug.org.au/~millerp/cook/
10 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
11
12 %description
13 Cook is a tool for constructing files. It is given a set of files to
14 create, and recipes of how to create them. In any non-trivial program
15 there will be prerequisites to performing the actions necessary to
16 creating any file, such as include files. The cook program provides a
17 mechanism to define these.
18
19 When a program is being developed or maintained, the programmer will
20 typically change one file of several which comprise the program. Cook
21 examines the last-modified times of the files to see when the
22 prerequisites of a file have changed, implying that the file needs to
23 be recreated as it is logically out of date.
24
25 Cook also provides a facility for implicit recipes, allowing users to
26 specify how to form a file with a given suffix from a file with a
27 different suffix. For example, to create filename.o from filename.c
28
29 - Cook is a replacement for the traditional make(1) tool. However, it
30   is necessary to convert makefiles into cookbooks using the make2cook
31   utility included in the distribution.
32
33 - Cook has a simple but powerful string-based description language
34   with many built-in functions. This allows sophisticated filename
35   specification and manipulation without loss of readability or
36   performance.
37
38 - Cook is able to use fingerprints to supplement file modification
39   times. This allows build optimization without contorted rules.
40
41 - Cook is able to build your project with multiple parallel threads,
42   with support for rules which must be single threaded. It is possible
43   to distribute parallel builds over your LAN, allowing you to turn your
44   network into a virtual parallel build engine.
45
46 If you are putting together a source-code distribution and planning to
47 write a makefile, consider writing a cookbook instead. Although Cook
48 takes a day or two to learn, it is much more powerful and a bit more
49 intuitave than the traditional make(1) tool. And Cook doesn't
50 interpret tab differently to 8 space characters!
51
52 %description -l pl
53
54 Cook jest narzêdziem do tworzenia plików. Podaje mu siê listê plików do 
55 utworzenia oraz regu³y wyja¶niaj±ce jak je utworzyæ. Ka¿dy nietrywialny
56 program wymaga podjêcia pewnych dzia³añ koniecznych do utworzenia 
57 ró¿nych plików, jak np. plików nag³ówkowych. Cook udostêpnia mechanizmy
58 pozwalaj±cy je zdefiniowaæ.
59
60 Tworz±c i rozwijaj±c program zazwyczaj modyfikuje siê pliki, z których
61 siê sk³ada. Cook bada daty ostatniej modyfikacji sprawdzaj±c, czy
62 zmieni³y siê zale¿no¶ci; je¶li tak, pliki powinny zostaæ zaktualizowane.
63
64 Cook umo¿liwia równie¿ definiowanie niejawnych regu³, pozwalaj±c
65 u¿ytkownikom wyszczególniæ metody tworzenia plików o podanym
66 rozszerzeniu z pliku o innym rozszerzeniu (np. jak utworzyæ
67 plik.o z plik.c).
68
69 - Cook jest zamiennikiem tradycyjnego narzêdzia make(1). Jednak przed
70 u¿yciem plików Makefile z cookiem, nale¿y wcze¶niej przekszta³ciæ
71 je do formatu rozumianego przez cooka przy u¿yciu narzêdzia make2cook
72 dostarczanego wraz z dystrybucj±.
73
74 - Cook posiada prosty lecz potê¿ny jêzyk opisowy, z wieloma wbudowanymi
75   funkcjami, dziêki czemu mo¿na podawaæ i manipulowaæ skomplikowanymi
76   specyfikacjami nazw plików bez utraty czytelno¶ci i wydajno¶ci.
77
78 - Oprócz daty ostatniej modyfikacji, cook pozwala korzystaæ z fingerprintów.
79   Dziêki temu mo¿na zoptymalizowaæ proces budowania nie uciekaj±c siê
80   do nienaturalnych regu³.
81
82 - Cook potrafi przeprowadziæ proces budowania w wielu równoleg³ych
83   w±tkach, obs³uguj±c prawid³owo regu³y jednow±tkowe. Mo¿na
84   przeprowadziæ rozproszone budowanie w sieci LAN, przekszta³caj±c
85   lokaln± sieæ w wirtualn± maszynê do budowania równoleg³ego.
86
87 Je¶li tworzysz program od zera i planujesz napisaæ Makefile,
88 przemy¶l mo¿liwo¶æ wykorzystania zamiast niego pliku cookbook.
89 Choæ na naukê Cooka trzeba po¶wiêciæ dzieñ lub dwa, jest to
90 narzêdzie o wiele potê¿niejsze i znacznie bardziej intuicyjne ni¿
91 tradycyjne make(1). Poza tym Cook nie traktuje inaczej TAB-a i
92 o¶miu spacji!
93
94 %package doc-ps
95 Summary:        Cook documentation, PostScript format
96 Summary(pl):    Dokumentacja do cooka w formacie PostScript
97 Group:          Development/Building
98
99 %description doc-ps
100 Cook documentation in PostScript format.
101
102 %description doc-ps -l pl
103 Dokumentacja do cooka w formacie PostScript.
104
105 %prep
106 %setup -q
107
108 %build
109 %configure2_13
110 %{__make}
111
112 %install
113 rm -rf $RPM_BUILD_ROOT
114 install -d $RPM_BUILD_ROOT
115 install -d $RPM_BUILD_ROOT%{_bindir}
116 install -d $RPM_BUILD_ROOT%{_libdir}
117 install -d $RPM_BUILD_ROOT%{_libdir}/cook
118 install -d $RPM_BUILD_ROOT%{_libdir}/cook/en/
119 install -d $RPM_BUILD_ROOT%{_libdir}/cook/en/LC_MESSAGES
120 install -d $RPM_BUILD_ROOT%{_datadir}
121 install -d $RPM_BUILD_ROOT%{_datadir}/cook
122 install -d $RPM_BUILD_ROOT%{_datadir}/cook/en
123 install -d $RPM_BUILD_ROOT%{_datadir}
124 ln -s $RPM_BUILD_ROOT%{_mandir}/man1 $RPM_BUILD_ROOT%{_datadir}/cook/en/man1
125 install -d $RPM_BUILD_ROOT%{_mandir}
126 install -d $RPM_BUILD_ROOT%{_mandir}/man1
127 install -d $RPM_BUILD_ROOT%{_pixmapsdir}
128
129 %{__make} RPM_BUILD_ROOT=$RPM_BUILD_ROOT install
130 #rm -rf $RPM_BUILD_ROOT%{_datadir}/cook/en
131 rm -rf $RPM_BUILD_ROOT%{_datadir}/cook/en/man1
132 install cook.gif $RPM_BUILD_ROOT%{_pixmapsdir}
133
134 %files
135 %defattr(644,root,root,755)
136 %doc README lib/en/*.{ps,txt} 
137 %attr(0755,root,root) %{_bindir}/*
138 %{_libdir}/cook
139 %{_datadir}/cook
140 %{_mandir}/man*/*
141 %{_pixmapsdir}/cook.gif
142
143 %files doc-ps
144 %defattr(644,root,root,755)
145 %doc %{_datadir}/doc/%{name}-%{version}/*.ps.gz
146
147 %clean
148 rm -rf $RPM_BUILD_ROOT
This page took 0.216617 seconds and 2 git commands to generate.