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