xref: /haiku/build/jam/OptionalPackages (revision 56187df6ebd9d1fb16bf954fce8df0999e9e3048)
1# This file defines the optional packages that can be added to the Haiku image.
2# It is directly included from HaikuImage -- all variables defined there can
3# be used
4
5# Detect a hybrid GCC2/GCC4 image and disable the checks for unavailable GCC4
6# packages. (It does not matter if a package was built with either compiler,
7# the system should have the respective other system libs.)
8local isHybridBuild ;
9if $(HAIKU_ADD_ALTERNATIVE_GCC_LIBS) = 1
10		&& $(HAIKU_ALTERNATIVE_GCC_OUTPUT_DIR) {
11	isHybridBuild = 1 ;
12}
13
14
15# Available Optional Packages:
16#	ABI-compliance-checker	- tool for checking ABI compatibility between libs
17#	APR						- support libraries used for example by Subversion
18#	APR-util				- Apache portable runtime utility library
19#	Bazaar					- the distributed version control system
20#	BeAE					- open source Audio Editor
21#	Beam					- powerful native e-mail client
22#	BeBook					- the classic BeOS API documentation
23#	BeHappy					- special documentation (i.e. BeBook) browser
24#	BeOSCompatibility		- creates links within the system to support old apps
25#	BePDF					- native PDF reader
26#	BeZillaBrowser			- fork of Mozilla's 1.8 branch.
27#	Bluetooth				- experimental Haiku components for Bluetooth
28#	BurnItNow				- CD burning app
29#	Bzip					- file archiving utility
30#	CCache					- fast compiler cache
31#	CDRecord				- the command line CD writing tools
32#	Clockwerk				- native audio/video compositing
33#	CLucene					- indexed file search
34#	Curl					- a client that groks URLs
35#	CMake					- cross platform make
36#	CVS						- the version control system
37#	Development				- more complete dev environment (including autotools)
38#	DevelopmentBase			- basic development environment (gcc, headers, libs,...)
39#	DevelopmentMin			- development headers, libs, tools, from sources only
40#	EtPan					- e-mail libraries
41#	Expat					- XML parsing libraries
42#	Fastdep					- fast dependency generator for C/C++ files
43#	friss					- RSS/ATOM/... feeds reader
44#	GetText					- a framework to help produce multi-lingual messages.
45#	Git						- the distributed version control system
46#	GPerf					- the perfect hash function generator.
47#	Groff					- text formatter used for man pages
48#	ICU-devel				- the headers and lib-links for ICU (for development)
49#	KeymapSwitcher			- Easy to use keymap switcher
50#	LibEvent				- An event notification library
51#	LibIconv				- text encoding conversion library
52#	LibLayout				- GCC2 package needed by some BeOS apps to compile
53#	Libmng					- mng support library
54#	LibXML2					- the XML support library
55#	LibXSLT					- xslt library and utility
56#	Links					- the web browser
57#	Man						- standard commands to read man pages
58#	Mercurial				- the distributed version control system
59#	Nano					- the command line text editor
60#	Neon					- support libraries used for example by SVN
61#	NetFS					- the native networked file system components
62#	NetSurf					- the web browser
63#	OCaml					- the Objective Caml language
64#	OpenSound				- additional audio driver package
65#	OpenSSH					- the secure shell
66#	OpenSSL					- secure sockets library
67#	P7zip					- file archiving utility
68#	Paladin					- a Haiku IDE
69#	PCRE					- the (Perl-compatible) regex engine
70#	Pe						- the powerful native Programmer's Editor
71#	Perl					- the scripting language
72#	Python					- the scripting language
73#	Rsync					- remote directory synchronization
74#	Ruby					- the programming language
75#	Sed						- the ultimate stream editor
76#	SQLite					- the database implementation
77#	Subversion				- the version control system
78#	Tar						- archiving utility
79#	TimGMSoundFont			- a good quality General MIDI Sound Font
80#	TrackerNewTemplates		- template files for Tracker's New menu
81#	Transmission			- a fast, easy, and free BitTorrent Client
82#	UserlandFS				- aids native file system development (like FUSE)
83#	Vim						- Vi IMproved. Highly configurable text editor
84#	Vision					- powerful native IRC client
85#	VLC						- the multi media player with native interface
86#	WebPositive				- native, WebKit-based web browser
87#	Welcome					- introductory documentation to Haiku
88#	WifiFirmwareScriptData	- data files needed by install-wifi-firmwares.sh
89#	WonderBrush				- native graphics application
90#	XZ-Utils				- file archiving utility
91#	Yasm					- the assembler utility
92
93local baseURL = http://haiku-files.org/files/optional-packages ;
94local baseSourceURL = http://haiku-files.org/files/releases/r1alpha2/sources ;
95
96# ABI-compliance-checker
97if [ IsOptionalHaikuImagePackageAdded ABI-compliance-checker ] {
98	if $(HAIKU_GCC_VERSION[1]) < 4 && ! $(isHybridBuild) {
99		Echo "No optional package ABI-compliance-checker for gcc2" ;
100	} else {
101		InstallOptionalHaikuImagePackage
102			ABI-compliance-checker-1.12-noarch-gcc4-2010-02-01.zip
103			: $(baseURL)/ABI-compliance-checker-1.12-noarch-gcc4-2010-02-01.zip
104		;
105	}
106}
107
108
109# APR
110if [ IsOptionalHaikuImagePackageAdded APR ] {
111	if $(TARGET_ARCH) != x86 {
112		Echo "No optional package APR available for $(TARGET_ARCH)" ;
113	} else {
114		InstallOptionalHaikuImagePackage apr-1.4.2-x86-gcc2-2010-10-13.zip
115			: $(baseURL)/apr-1.4.2-x86-gcc2-2010-10-13.zip
116			:
117			: true
118		;
119	}
120}
121
122
123# APR-util
124if [ IsOptionalHaikuImagePackageAdded APR-util ] {
125	if $(TARGET_ARCH) != x86 {
126		Echo "No optional package APR-util available for $(TARGET_ARCH)" ;
127	} else {
128		InstallOptionalHaikuImagePackage
129			apr-util-1.3.10-x86-gcc2-2010-10-13.zip
130			: $(baseURL)/apr-util-1.3.10-x86-gcc2-2010-10-13.zip
131			:
132			: true
133		;
134	}
135}
136
137
138# Bazaar
139if [ IsOptionalHaikuImagePackageAdded Bazaar ] {
140	if $(TARGET_ARCH) != x86 {
141		Echo "No optional package BeAE available for $(TARGET_ARCH)" ;
142	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
143		InstallOptionalHaikuImagePackage bzr-2.2.0-gcc4-2010-09-15.zip
144			: $(baseURL)/bzr-2.2.0-x86-gcc4-2010-09-15.zip
145			:
146 		;
147	} else {
148		InstallOptionalHaikuImagePackage bzr-2.2.1-x86-gcc2-2010-10-16.zip
149			: $(baseURL)/bzr-2.2.1-x86-gcc2-2010-10-16.zip
150			:
151		;
152	}
153}
154
155
156# BeAE
157if [ IsOptionalHaikuImagePackageAdded BeAE ] {
158	if $(TARGET_ARCH) != x86 {
159		Echo "No optional package BeAE available for $(TARGET_ARCH)" ;
160	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
161		InstallOptionalHaikuImagePackage beae-22-x86-gcc4-2010-09-15.zip
162			: $(baseURL)/beae-22-x86-gcc4-2010-09-15.zip
163			:
164 		;
165		AddSymlinkToHaikuImage home config be Applications
166			: /boot/apps/BeAE/BeAE ;
167	} else {
168		InstallOptionalHaikuImagePackage beae-22-x86-gcc2-2010-09-15.zip
169			: $(baseURL)/beae-22-x86-gcc2-2010-09-15.zip
170			:
171		;
172		AddSymlinkToHaikuImage home config be Applications
173			: /boot/apps/BeAE/BeAE ;
174	}
175}
176
177
178# Beam
179if [ IsOptionalHaikuImagePackageAdded Beam ] {
180	if $(TARGET_ARCH) != x86 {
181		Echo "No optional package Beam available for $(TARGET_ARCH)" ;
182	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) {
183		Echo "No optional package Beam available for gcc4" ;
184	} else {
185		InstallOptionalHaikuImagePackage Beam-1.2alpha-x86-gcc2-2010-04-29.zip
186			: $(baseURL)/Beam-1.2alpha-x86-gcc2-2010-04-29.zip
187		;
188		AddSymlinkToHaikuImage home config be Applications
189			: /boot/apps/Beam/Beam ;
190	}
191}
192
193
194# BeBook
195if [ IsOptionalHaikuImagePackageAdded BeBook ] {
196	InstallOptionalHaikuImagePackage bebook_20081026.zip
197		: $(baseURL)/bebook_20081026.zip
198		: system documentation
199	;
200	AddSymlinkToHaikuImage home Desktop
201		: /boot/system/documentation/bebook/index.html : BeBook ;
202}
203
204
205# BeHappy
206if [ IsOptionalHaikuImagePackageAdded BeHappy ] {
207	if $(TARGET_ARCH) != x86 {
208		Echo "No optional package BeHappy available for $(TARGET_ARCH)" ;
209	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) {
210		Echo "No optional package BeHappy available for gcc4" ;
211	} else {
212		InstallOptionalHaikuImagePackage BeHappy-1.0.6-x86-gcc2-2008-10-16.zip
213			: $(baseURL)/BeHappy-1.0.6-x86-gcc2-2008-10-16.zip
214			:
215		;
216		AddSymlinkToHaikuImage home config be Applications
217			: /boot/apps/BeHappy/BeHappy ;
218	}
219}
220
221
222# BeOSCompatibility
223if [ IsOptionalHaikuImagePackageAdded BeOSCompatibility ] {
224	if $(TARGET_ARCH) != x86 {
225		Echo "No optional package BeOSCompatibility available for $(TARGET_ARCH)" ;
226	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) {
227		Echo "No optional package BeOSCompatibility available for gcc4" ;
228	} else {
229		Echo "Warning: Adding BeOS compatibility symlinks. This will go away. Please fix your apps!" ;
230		AddSymlinkToHaikuImage beos : ../system/apps ;
231		AddSymlinkToHaikuImage beos : ../system/bin ;
232		AddSymlinkToHaikuImage beos : ../system/documentation ;
233		AddSymlinkToHaikuImage beos : ../common/etc ;
234		AddSymlinkToHaikuImage beos : ../system/preferences ;
235		AddSymlinkToHaikuImage beos : ../system ;
236		AddDirectoryToHaikuImage var ;
237		AddSymlinkToHaikuImage var : /boot/common/var/log ;
238		AddSymlinkToHaikuImage var : /boot/common/cache/tmp ;
239	}
240}
241
242
243# BePDF
244if [ IsOptionalHaikuImagePackageAdded BePDF ] {
245	if $(TARGET_ARCH) != x86 {
246		Echo "No optional package BePDF available for $(TARGET_ARCH)" ;
247	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) {
248		Echo "No optional package BePDF available for gcc4" ;
249	} else {
250		InstallOptionalHaikuImagePackage
251			BePDF-1.1.1b3-r1a2-x86-gcc2-2010-05-08.zip
252			: $(baseURL)/BePDF-1.1.1b3-r1a2-x86-gcc2-2010-05-08.zip
253			: apps
254		;
255		AddSymlinkToHaikuImage home config be Applications
256			: /boot/apps/BePDF/BePDF ;
257		AddSymlinkToHaikuImage common data licenses
258			: "/boot/apps/BePDF/license/locale DevKit/Open Tracker License"
259			: "Open Tracker" ;
260		AddSymlinkToHaikuImage common data licenses
261			: "/boot/apps/BePDF/license/locale DevKit/LICENSE"
262			: "48HRS Public License" ;
263		InstallSourceArchive bepdf-1.1.1b3-2010-05-05.tar.xz
264			: $(baseSourceURL)/bepdf-1.1.1b3-2010-05-05.tar.xz ;
265	}
266}
267
268
269# BeZillaBrowser
270if [ IsOptionalHaikuImagePackageAdded BeZillaBrowser ] {
271	if $(TARGET_ARCH) != x86 {
272		Echo "No optional package BeZillaBrowser available for $(TARGET_ARCH)" ;
273	} else {
274		if $(HAIKU_GCC_VERSION[1]) >= 4 {
275			InstallOptionalHaikuImagePackage
276				BeZillaBrowser-2.0.0.22pre-r1a2-x86-gcc4-2010-05-04.zip
277				: $(baseURL)/BeZillaBrowser-2.0.0.22pre-r1a2-x86-gcc4-2010-05-04.zip
278 				:
279 			;
280 		} else {
281			InstallOptionalHaikuImagePackage
282				BeZillaBrowser-2.0.0.22pre-r1a2-x86-gcc2-2010-05-02.zip
283				: $(baseURL)/BeZillaBrowser-2.0.0.22pre-r1a2-x86-gcc2-2010-05-02.zip
284 				:
285 			;
286 		}
287 		AddSymlinkToHaikuImage home config be Applications
288			: /boot/apps/BeZillaBrowser/BeZillaBrowser
289		;
290		InstallSourceArchive BeZillaBrowser-2.0.0.22pre-r1a2-sources.tar.xz
291			: $(baseSourceURL)/BeZillaBrowser-2.0.0.22pre-r1a2-sources.tar.xz
292		;
293	}
294}
295
296
297# Bluetooth stack
298if [ IsOptionalHaikuImagePackageAdded Bluetooth ] {
299	local bluetoothDrivers = h2generic ;
300	AddDriversToHaikuImage bluetooth : $(bluetoothDrivers) ;
301	AddFilesToHaikuImage system servers : bluetooth_server ;
302	AddFilesToHaikuImage system lib : libbluetooth.so ;
303	AddFilesToHaikuImage system add-ons kernel network protocols : l2cap ;
304	AddFilesToHaikuImage system add-ons kernel bluetooth : btCoreData hci ;
305	AddFilesToHaikuImage system preferences : Bluetooth ;
306	AddFilesToHaikuImage system bin : bt_dev_info bt_discovery ;
307	AddSymlinkToHaikuImage home config be Preferences
308		: /boot/system/preferences/Bluetooth ;
309	if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ]
310		&& $(HAIKU_GCC_VERSION[1]) in 2 4 {
311		local arch = $(TARGET_ARCH) ;
312		local abi = gcc$(HAIKU_GCC_VERSION[1]) ;
313		AddSymlinkToHaikuHybridImage develop abi $(arch) $(abi) lib
314			: /system/lib libbluetooth.so : : true ;
315	}
316}
317
318
319# BurnItNow
320if [ IsOptionalHaikuImagePackageAdded BurnItNow ] {
321	if $(TARGET_ARCH) != x86 {
322		Echo "No optional package BurnItNow available for $(TARGET_ARCH)" ;
323	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
324		InstallOptionalHaikuImagePackage burnitnow-39-x86-gcc4-2010-09-15.zip
325			: $(baseURL)/burnitnow-39-x86-gcc4-2010-09-15.zip
326			:
327 		;
328		AddSymlinkToHaikuImage home config be Applications
329			: /boot/apps/BurnItNow/BurnItNow ;
330	} else {
331		InstallOptionalHaikuImagePackage burnitnow-39-x86-gcc2-2010-09-15.zip
332			: $(baseURL)/burnitnow-39-x86-gcc2-2010-09-15.zip
333			:
334		;
335		AddSymlinkToHaikuImage home config be Applications
336			: /boot/apps/BurnItNow/BurnItNow ;
337	}
338}
339
340
341# Bzip
342if [ IsOptionalHaikuImagePackageAdded Bzip ] {
343	if $(TARGET_ARCH) != x86 {
344		Echo "No optional package Bzip available for $(TARGET_ARCH)" ;
345	} else {
346		InstallOptionalHaikuImagePackage
347			bzip2-1.0.6-x86-gcc2-2010-09-21.zip
348			: $(baseURL)/bzip2-1.0.6-x86-gcc2-2010-09-21.zip
349			:
350			: true
351		;
352	}
353}
354
355
356# CCache
357if [ IsOptionalHaikuImagePackageAdded CCache ] {
358	if $(TARGET_ARCH) != x86 {
359		Echo "No optional package CCache available for $(TARGET_ARCH)" ;
360	} else {
361		InstallOptionalHaikuImagePackage
362			ccache-3.0.1-x86-gcc2-2010-08-30.zip
363			: $(baseURL)/ccache-3.0.1-x86-gcc2-2010-08-30.zip
364			:
365		;
366	}
367}
368
369
370# CDRecord
371if [ IsOptionalHaikuImagePackageAdded CDRecord ] {
372	if $(TARGET_ARCH) != x86 {
373		Echo "No optional package CDRecord available for $(TARGET_ARCH)" ;
374	} else {
375		InstallOptionalHaikuImagePackage
376			cdrtools-3.00-x86-gcc2-2010-08-25-1.zip
377			: $(baseURL)/cdrtools-3.00-x86-gcc2-2010-08-25-1.zip
378			:
379		;
380	}
381}
382
383
384# Clockwerk
385if [ IsOptionalHaikuImagePackageAdded Clockwerk ] {
386	if $(TARGET_ARCH) != x86 {
387		Echo "No optional package Clockwerk available for $(TARGET_ARCH)" ;
388	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
389		InstallOptionalHaikuImagePackage
390			Clockwerk-0.0.2-x86-gcc4-2010-10-13-1.zip
391			: $(baseURL)/Clockwerk-0.0.2-x86-gcc4-2010-10-13-1.zip
392			:
393		;
394		AddSymlinkToHaikuImage home config be Applications
395			: /boot/apps/Clockwerk/Clockwerk ;
396	} else {
397		InstallOptionalHaikuImagePackage
398			Clockwerk-0.0.2-x86-gcc2-2010-10-13-1.zip
399			: $(baseURL)/Clockwerk-0.0.2-x86-gcc2-2010-10-13-1.zip
400			:
401		;
402		AddSymlinkToHaikuImage home config be Applications
403			: /boot/apps/Clockwerk/Clockwerk ;
404	}
405}
406
407
408# CLucene
409if [ IsOptionalHaikuImagePackageAdded CLucene ] {
410	if $(TARGET_ARCH) != x86 {
411		Echo "No optional package CLucene available for $(TARGET_ARCH)" ;
412	} else if $(HAIKU_GCC_VERSION[1]) < 4 && ! $(isHybridBuild) {
413		Echo "No optional package CLucene available for GCC2" ;
414	} else {
415		InstallOptionalHaikuImagePackage
416			clucene-0.9.21svn-x86-gcc4-haiku-2009-08-11.zip
417			: $(baseURL)/clucene-0.9.21-x86-gcc4-haiku-2009-08-11.zip
418			:
419			: true
420		;
421	}
422}
423
424
425# CMake
426if [ IsOptionalHaikuImagePackageAdded CMake ] {
427	if $(TARGET_ARCH) != x86 {
428		Echo "No optional package CMake available for $(TARGET_ARCH)" ;
429	} else {
430		InstallOptionalHaikuImagePackage
431			cmake-2.8.2-x86-gcc2-2010-10-13.zip
432			: $(baseURL)/cmake-2.8.2-x86-gcc2-2010-10-13.zip
433			:
434			: true
435		;
436	}
437}
438
439
440# Curl
441if [ IsOptionalHaikuImagePackageAdded Curl ] {
442	if $(TARGET_ARCH) != x86 {
443		Echo "No optional package Curl available for $(TARGET_ARCH)" ;
444	} else {
445		InstallOptionalHaikuImagePackage
446			curl-7.21.2-x86-gcc2-2010-10-13.zip
447			: $(baseURL)/curl-7.21.2-x86-gcc2-2010-10-13.zip
448			:
449			: true
450		;
451	}
452}
453
454
455# CVS
456if [ IsOptionalHaikuImagePackageAdded CVS ] {
457	if $(TARGET_ARCH) != x86 {
458		Echo "No optional package CVS available for $(TARGET_ARCH)" ;
459	} else {
460		InstallOptionalHaikuImagePackage
461			cvs-1.12.13-r1a2-x86-gcc2-2010-04-29-a.zip
462			: $(baseURL)/cvs-1.12.13-r1a2-x86-gcc2-2010-04-29-a.zip
463			:
464			: true
465		;
466		InstallSourceArchive cvs-1.12.13_haiku-2010-04-29.tar.xz
467			: $(baseSourceURL)/cvs-1.12.13_haiku-2010-04-29.tar.xz ;
468	}
469}
470
471
472# Development
473if [ IsOptionalHaikuImagePackageAdded Development ] && $(TARGET_ARCH) = x86 {
474	# autotools
475	InstallOptionalHaikuImagePackage autoconf-2.68-x86-gcc2-2010-09-23.zip
476		: $(baseURL)/autoconf-2.68-x86-gcc2-2010-09-23.zip
477		:
478		: true
479	;
480	InstallOptionalHaikuImagePackage automake-1.11.1-r1a2-x86-gcc2-2010-04-21-a.zip
481		: $(baseURL)/automake-1.11.1-r1a2-x86-gcc2-2010-04-21-a.zip
482		:
483		: true ;
484	InstallSourceArchive automake-1.11.1_haiku-2010-04-29.tar.xz
485		: $(baseSourceURL)/automake-1.11.1_haiku-2010-04-29.tar.xz
486	;
487	InstallOptionalHaikuImagePackage libtool-2.4-x86-gcc2-2010-09-25.zip
488		: $(baseURL)/libtool-2.4-x86-gcc2-2010-09-25.zip
489		:
490		: true
491	;
492	InstallOptionalHaikuImagePackage texinfo-4.13a-r1a2-x86-gcc2-2010-04-21-a.zip
493		: $(baseURL)/texinfo-4.13a-r1a2-x86-gcc2-2010-04-21-a.zip
494		:
495		: true ;
496	InstallSourceArchive texinfo-4.13a_haiku-2010-04-29.tar.xz
497		: $(baseSourceURL)/texinfo-4.13a_haiku-2010-04-29.tar.xz
498	;
499}
500
501
502# DevelopmentBase
503if [ IsOptionalHaikuImagePackageAdded DevelopmentBase ]
504		&& $(TARGET_ARCH) = x86 {
505	# gcc and binutils
506	if $(HAIKU_GCC_VERSION[1]) = 2 || $(isHybridBuild) {
507		InstallOptionalHaikuImagePackage
508			gcc-2.95.3-x86-gcc2-2010-08-18.zip
509			: $(baseURL)/gcc-2.95.3-x86-gcc2-2010-08-18.zip ;
510	}
511
512	if $(HAIKU_GCC_VERSION[1]) = 2 {
513		# symlink to the appropriate system/lib[/gcc2] folder
514		AddSymlinkToHaikuHybridImage
515			develop abi x86 gcc2 tools gcc-2.95.3-haiku-100818 lib
516			: /system/lib libstdc++.r4.so : : true ;
517	}
518
519	if $(HAIKU_GCC_VERSION[1]) = 4 || $(isHybridBuild) {
520		InstallOptionalHaikuImagePackage gcc-4.4.4-x86-gcc4-2010-10-09.zip
521			: $(baseURL)/gcc-4.4.4-x86-gcc4-2010-10-09.zip ;
522	}
523
524	if $(HAIKU_GCC_VERSION[1]) = 4 {
525		# symlink cpp to g++'s headers
526		AddSymlinkToHaikuHybridImage develop abi x86 gcc4 headers
527			: ../tools/current/include/g++ : cpp ;
528
529		# symlink to the appropriate system/lib[/gcc4] folder
530		local libs = libstdc++.so libsupc++.so ;
531		for lib in $(libs) {
532			AddSymlinkToHaikuHybridImage
533				develop abi x86 gcc4 tools gcc-4.4.4-haiku-100705 lib
534				: /system/lib $(lib) : : true ;
535		}
536	}
537
538	# other commonly used tools
539	InstallOptionalHaikuImagePackage bison-2.4.1-r1a2-x86-gcc2-2010-04-21-a.zip
540		: $(baseURL)/bison-2.4.1-r1a2-x86-gcc2-2010-04-21-a.zip ;
541	InstallSourceArchive bison-2.4.1_haiku-2010-04-29.tar.xz
542		: $(baseSourceURL)/bison-2.4.1_haiku-2010-04-29.tar.xz ;
543	InstallOptionalHaikuImagePackage m4-1.4.14-r1a2-x86-gcc2-2010-04-21-a.zip
544		: $(baseURL)/m4-1.4.14-r1a2-x86-gcc2-2010-04-21-a.zip ;
545	InstallSourceArchive m4-1.4.14_haiku-2010-04-29.tar.xz
546		: $(baseSourceURL)/m4-1.4.14_haiku-2010-04-29.tar.xz ;
547	InstallOptionalHaikuImagePackage flex-2.5.35-r1a2-x86-gcc2-2010-04-21-a.zip
548		: $(baseURL)/flex-2.5.35-r1a2-x86-gcc2-2010-04-21-a.zip ;
549	InstallSourceArchive flex-2.5.35_haiku-2010-04-29.tar.xz
550		: $(baseSourceURL)/flex-2.5.35_haiku-2010-04-29.tar.xz ;
551	InstallOptionalHaikuImagePackage jam-2.5-r1a2-x86-gcc2-2010-04-21.zip
552		: $(baseURL)/jam-2.5-r1a2-x86-gcc2-2010-04-21.zip ;
553	InstallOptionalHaikuImagePackage mkdepend-1.7-x86-gcc2-2010-09-24.zip
554		: $(baseURL)/mkdepend-1.7-x86-gcc2-2010-09-24.zip ;
555	InstallOptionalHaikuImagePackage make-3.82-x86-gcc2-2010-09-25.zip
556		: $(baseURL)/make-3.82-x86-gcc2-2010-09-25.zip ;
557}
558
559
560# DevelopmentMin
561if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] && $(TARGET_ARCH) = x86 {
562	if ! ( $(HAIKU_GCC_VERSION[1]) in 2 4 ) {
563		Exit "Optional package DevelopmentMin: Unsupported GCC version:"
564			$(HAIKU_GCC_VERSION[1]) ;
565	}
566
567	local arch = $(TARGET_ARCH) ;
568	local abi = gcc$(HAIKU_GCC_VERSION[1]) ;
569	local abiDirTokens = develop abi $(arch) $(abi) ;
570
571	# glue code
572	AddFilesToHaikuHybridImage $(abiDirTokens) lib :
573		<src!system!glue!arch!$(arch)>crti.o
574		<src!system!glue!arch!$(arch)>crtn.o
575		<src!system!glue>init_term_dyn.o
576		<src!system!glue>start_dyn.o
577		<src!system!glue>haiku_version_glue.o
578	;
579
580	# kernel
581	AddFilesToHaikuHybridImage $(abiDirTokens) lib : kernel.so : _KERNEL_ ;
582
583	# additional libraries
584	local developmentLibs = <revisioned>libroot_debug.so ;
585	AddFilesToHaikuHybridImage system lib : $(developmentLibs) : : true ;
586
587	# library symlinks
588	local lib ;
589	for lib in $(SYSTEM_LIBS) $(SYSTEM_LIBS_LIBGL_ALIASES) $(developmentLibs) {
590		AddSymlinkToHaikuHybridImage $(abiDirTokens) lib
591			: /system/lib $(lib:BS) : : true ;
592		local abiVersion = [ on $(lib) return $(HAIKU_LIB_ABI_VERSION) ] ;
593		if $(abiVersion) {
594			local abiVersionedLib = $(lib:BS).$(abiVersion) ;
595			AddSymlinkToHaikuHybridImage $(abiDirTokens) lib
596				: /system/lib $(abiVersionedLib) : : true ;
597		}
598	}
599
600	# static libraries
601	AddFilesToHaikuHybridImage $(abiDirTokens) lib : libncurses.a ;
602	AddFilesToHaikuHybridImage $(abiDirTokens) lib : liblocalestub.a ;
603
604	# the POSIX error code mapper library
605	AddFilesToHaikuHybridImage $(abiDirTokens) lib : libposix_error_mapper.a ;
606
607	# symlinks for ABI abstraction
608	AddSymlinkToHaikuImage develop abi : $(arch)/$(abi) : current ;
609	AddSymlinkToHaikuImage develop lib : /boot/develop/abi/current/lib
610		: $(arch) ;
611	AddSymlinkToHaikuImage develop tools
612		: /boot/develop/abi/current/tools/current : gnupro ;
613	AddSymlinkToHaikuImage develop headers
614		: /boot/develop/abi/current/headers/cpp ;
615	AddSymlinkToHaikuHybridImage $(abiDirTokens) library-paths
616		: /boot/common/lib : common : true ;
617	AddSymlinkToHaikuHybridImage $(abiDirTokens) library-paths
618		: /boot/home/config/lib : home : true ;
619
620	# ABI independent stuff
621
622	# scripts: cc and c++ wrapper, freetype-config, setgcc
623	local scripts = cc c++ freetype-config setgcc ;
624	SEARCH on $(scripts) = [ FDirName $(HAIKU_TOP) data bin ] ;
625	AddFilesToHaikuImage system bin : $(scripts) ;
626
627	# skeleton makefile and makefile-engine
628	local makefileEngineFiles =
629		<makefile-engine>makefile
630		<makefile-engine>makefile-engine
631	;
632	SEARCH on $(makefileEngineFiles)
633		= [ FDirName $(HAIKU_TOP) data develop ] ;
634	AddFilesToHaikuImage develop etc : $(makefileEngineFiles) ;
635
636	# headers
637	AddHeaderDirectoryToHaikuImage config ;
638	AddHeaderDirectoryToHaikuImage glibc ;
639	AddHeaderDirectoryToHaikuImage os ;
640	AddHeaderDirectoryToHaikuImage posix ;
641
642	# create be -> os symlink for now
643	AddSymlinkToHaikuImage develop headers : os : be ;
644
645	# BSD and GNU compatibility headers
646	AddHeaderDirectoryToHaikuImage compatibility bsd : bsd ;
647	AddHeaderDirectoryToHaikuImage compatibility gnu : gnu ;
648
649	# third party libs headers
650	AddHeaderDirectoryToHaikuImage libs freetype2 : 3rdparty ;
651	AddHeaderDirectoryToHaikuImage libs jpeg : 3rdparty ;
652	AddHeaderDirectoryToHaikuImage libs ncurses : 3rdparty ;
653	AddHeaderDirectoryToHaikuImage libs png : 3rdparty ;
654	AddHeaderDirectoryToHaikuImage libs termcap : 3rdparty ;
655	AddHeaderDirectoryToHaikuImage libs tiff : 3rdparty ;
656	AddHeaderDirectoryToHaikuImage libs zlib : 3rdparty ;
657
658	# cpp headers
659	if $(HAIKU_GCC_VERSION[1]) = 2 {
660		# GCC 2 only -- for GCC 4 they come with the DevelopmentBase package
661		CopyDirectoryToHaikuImage $(abiDirTokens) headers
662			: [ FDirName $(HAIKU_TOP) headers cpp ] : : -x .svn ;
663		CopyDirectoryToAlternativeGCCArchive $(abiDirTokens) headers
664			: [ FDirName $(HAIKU_TOP) headers cpp ] : : -x .svn ;
665	}
666}
667
668
669# EtPan
670if [ IsOptionalHaikuImagePackageAdded EtPan ] {
671	if $(TARGET_ARCH) != x86 {
672		Echo "No optional package EtPan available for $(TARGET_ARCH)" ;
673	} else {
674		if $(HAIKU_GCC_VERSION[1]) >= 4 {
675			InstallOptionalHaikuImagePackage
676				etpan-1.0-x86-gcc4-2010-10-20.zip
677				: $(baseURL)/etpan-1.0-x86-gcc4-2010-10-20.zip
678				:
679				: true
680			;
681		} else {
682			InstallOptionalHaikuImagePackage
683				etpan-1.0-x86-gcc2-2010-10-20.zip
684				: $(baseURL)/etpan-1.0-x86-gcc2-2010-10-20.zip
685				:
686				: true
687			;
688		}
689	}
690}
691
692
693# Expat
694if [ IsOptionalHaikuImagePackageAdded Expat ] {
695	if $(TARGET_ARCH) != x86 {
696		Echo "No optional package Expat available for $(TARGET_ARCH)" ;
697	} else {
698		InstallOptionalHaikuImagePackage
699			expat-2.0.1-r1a2-x86-gcc2-2010-04-22-a.zip
700			: $(baseURL)/expat-2.0.1-r1a2-x86-gcc2-2010-04-22-a.zip
701			:
702			: true
703			: true
704		;
705		InstallSourceArchive expat-2.0.1_haiku-2010-04-29.tar.xz
706			: $(baseSourceURL)/expat-2.0.1_haiku-2010-04-29.tar.xz ;
707	}
708}
709
710
711# Fastdep
712if [ IsOptionalHaikuImagePackageAdded Fastdep ] {
713	if $(TARGET_ARCH) != x86 {
714		Echo "No optional package Fastdep available for $(TARGET_ARCH)" ;
715	} else {
716		InstallOptionalHaikuImagePackage
717			fastdep-0.16-x86-gcc2-2010-09-02.zip
718			: $(baseURL)/fastdep-0.16-x86-gcc2-2010-09-02.zip
719			:
720		;
721	}
722}
723
724
725# friss
726if [ IsOptionalHaikuImagePackageAdded friss ] {
727	if $(TARGET_ARCH) != x86 {
728		Echo "No optional package friss available for $(TARGET_ARCH)" ;
729	} else if $(HAIKU_GCC_VERSION[1]) >= 4 || $(isHybridBuild) {
730		InstallOptionalHaikuImagePackage friss-0.5pre7-x86-gcc4.zip
731			: http://pulkomandy.ath.cx/projects/friss/export/8/bin/friss-0.5pre7-x86-gcc4.zip
732			:
733			: true
734		;
735	} else {
736		Echo "No optional package friss available for gcc2" ;
737	}
738}
739
740
741# GetText
742if [ IsOptionalHaikuImagePackageAdded GetText ] {
743	if $(TARGET_ARCH) != x86 {
744		Echo "No optional package GetText available for $(TARGET_ARCH)" ;
745	} else {
746		if $(HAIKU_GCC_VERSION[1]) >= 4 {
747			InstallOptionalHaikuImagePackage
748				gettext-0.17-x86-gcc4-2010-05-06.zip
749				: $(baseURL)/gettext-0.17-x86-gcc4-2010-05-06.zip
750				:
751				: true
752			;
753			InstallSourceArchive gettext-0.17_haiku-2010-05-06.tar.xz
754				: $(baseSourceURL)/gettext-0.17_haiku-2010-05-06.tar.xz ;
755		} else if $(HAIKU_GCC_VERSION[1]) = 2 && $(isHybridBuild) {
756			InstallOptionalHaikuImagePackage
757				gettext-0.17-x86-gcc2h-2010-05-06.zip
758				: $(baseURL)/gettext-0.17-x86-gcc2h-2010-05-06.zip
759				:
760				: true
761			;
762			InstallSourceArchive gettext-0.17_haiku-2010-05-06.tar.xz
763				: $(baseSourceURL)/gettext-0.17_haiku-2010-05-06.tar.xz ;
764		} else {
765			Echo "No optional package GetText available for $(TARGET_ARCH)-gcc2" ;
766		}
767	}
768}
769
770
771# Git
772if [ IsOptionalHaikuImagePackageAdded Git ] {
773	if $(TARGET_ARCH) != x86 {
774		Echo "No optional package Git available for $(TARGET_ARCH)" ;
775	} else {
776		InstallOptionalHaikuImagePackage
777			git-1.7.1-x86-gcc2-2010-05-26.zip
778			: $(baseURL)/git-1.7.1-x86-gcc2-2010-05-26.zip
779			:
780			: true
781		;
782	}
783}
784
785
786# GPerf
787if [ IsOptionalHaikuImagePackageAdded GPerf ] {
788	if $(TARGET_ARCH) != x86 {
789		Echo "No optional package GPerf available for $(TARGET_ARCH)" ;
790	} else {
791		if $(HAIKU_GCC_VERSION[1]) >= 4 {
792			InstallOptionalHaikuImagePackage
793				gperf-3.0.4-x86-gcc4-2010-06-15.zip
794				: $(baseURL)/gperf-3.0.4-x86-gcc4-2010-06-15.zip
795				:
796				: true
797			;
798		} else {
799			InstallOptionalHaikuImagePackage
800				gperf-3.0.4-x86-gcc2-2010-06-15.zip
801				: $(baseURL)/gperf-3.0.4-x86-gcc2-2010-06-15.zip
802				:
803				: true
804			;
805		}
806	}
807}
808
809
810# Groff
811if [ IsOptionalHaikuImagePackageAdded Groff ] {
812	if $(TARGET_ARCH) != x86 {
813		Echo "No optional package Groff available for $(TARGET_ARCH)" ;
814	} else {
815		InstallOptionalHaikuImagePackage
816			 groff-1.20.1-x86-gcc2-2010-08-31.zip
817			: $(baseURL)/groff-1.20.1-x86-gcc2-2010-08-31.zip
818			:
819		;
820	}
821}
822
823
824# ICU
825if [ IsOptionalHaikuImagePackageAdded ICU ] {
826	if $(TARGET_ARCH) != x86 {
827		Echo "No optional package ICU available for $(TARGET_ARCH)" ;
828	} else {
829		if $(HAIKU_GCC_VERSION[1]) = 2 {
830			# unzip gcc2
831			InstallOptionalHaikuImagePackage $(HAIKU_ICU_GCC_2_PACKAGE)
832				: $(baseURL)/$(HAIKU_ICU_GCC_2_PACKAGE)
833				: system lib ;
834			if $(isHybridBuild) {
835				# unzip gcc4 to gcc4 subdir
836				InstallOptionalHaikuImagePackage $(HAIKU_ICU_GCC_4_PACKAGE)
837					: $(baseURL)/$(HAIKU_ICU_GCC_4_PACKAGE)
838					: system lib gcc4
839				;
840			}
841		} else {
842			# unzip gcc4
843			InstallOptionalHaikuImagePackage $(HAIKU_ICU_GCC_4_PACKAGE)
844				: $(baseURL)/$(HAIKU_ICU_GCC_4_PACKAGE)
845				: system lib ;
846			if $(isHybridBuild) {
847				# unzip gcc2 to gcc2 subdir
848				InstallOptionalHaikuImagePackage $(HAIKU_ICU_GCC_2_PACKAGE)
849					: $(baseURL)/$(HAIKU_ICU_GCC_2_PACKAGE)
850					: system lib gcc2
851				;
852			}
853		}
854	}
855}
856
857
858# ICU-devel
859if [ IsOptionalHaikuImagePackageAdded ICU-devel ] {
860	InstallOptionalHaikuImagePackage $(HAIKU_ICU_DEVEL_PACKAGE)
861		: $(baseURL)/$(HAIKU_ICU_DEVEL_PACKAGE)
862	;
863
864	local arch = $(TARGET_ARCH) ;
865	local abi = gcc$(HAIKU_GCC_VERSION[1]) ;
866	for abiVersionedLib in $(HAIKU_ICU_LIBS) {
867		abiVersionedLib = $(abiVersionedLib:G=) ;
868		local lib = $(abiVersionedLib:B) ;
869		AddSymlinkToHaikuHybridImage develop abi $(arch) $(abi) lib
870			: /system/lib $(abiVersionedLib) : : true ;
871		AddSymlinkToHaikuHybridImage develop abi $(arch) $(abi) lib
872			: $(abiVersionedLib) : $(lib) ;
873	}
874}
875
876
877# KeymapSwitcher
878if [ IsOptionalHaikuImagePackageAdded KeymapSwitcher ] {
879	if $(TARGET_ARCH) != x86 {
880		Echo "No optional package KeymapSwitcher available for $(TARGET_ARCH)" ;
881	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
882		InstallOptionalHaikuImagePackage
883			KeymapSwitcher-1.2.5-r1a2-x86-gcc4-2010-05-08.zip
884			: $(baseURL)/KeymapSwitcher-1.2.5-r1a2-x86-gcc4-2010-05-08.zip
885			:
886		;
887		AddSymlinkToHaikuImage home config be Desktop\ applets
888			: /boot/common/bin/KeymapSwitcher ;
889	} else {
890		InstallOptionalHaikuImagePackage
891			KeymapSwitcher-1.2.5-r1a2-x86-gcc2-2010-05-08.zip
892			: $(baseURL)/KeymapSwitcher-1.2.5-r1a2-x86-gcc2-2010-05-08.zip
893			:
894		;
895		AddSymlinkToHaikuImage home config be Desktop\ applets
896			: /boot/common/bin/KeymapSwitcher ;
897	}
898}
899
900
901# LibEvent
902if [ IsOptionalHaikuImagePackageAdded LibEvent ] {
903	if $(TARGET_ARCH) != x86 {
904		Echo "No optional package LibEvent available for $(TARGET_ARCH)" ;
905	} else {
906		if $(HAIKU_GCC_VERSION[1]) >= 4 {
907			InstallOptionalHaikuImagePackage
908				libevent-1.4.13-x86-gcc4-2010-05-06.zip
909				: $(baseURL)/libevent-1.4.13-x86-gcc4-2010-05-06.zip
910				:
911				: true
912			;
913			InstallSourceArchive libevent-1.4.13_haiku-2010-05-06.tar.xz
914				: $(baseSourceURL)/libevent-1.4.13_haiku-2010-05-06.tar.xz ;
915		} else if $(HAIKU_GCC_VERSION[1]) = 2 && $(isHybridBuild) {
916			InstallOptionalHaikuImagePackage
917				libevent-1.4.13-x86-gcc2h-2010-05-06.zip
918				: $(baseURL)/libevent-1.4.13-x86-gcc2h-2010-05-06.zip
919				:
920				: true
921			;
922			InstallSourceArchive libevent-1.4.13_haiku-2010-05-06.tar.xz
923				: $(baseSourceURL)/libevent-1.4.13_haiku-2010-05-06.tar.xz ;
924		} else {
925			Echo "No optional package LibEvent available for $(TARGET_ARCH)-gcc2" ;
926		}
927	}
928}
929
930
931# LibIconv
932if [ IsOptionalHaikuImagePackageAdded LibIconv ] {
933	if $(TARGET_ARCH) != x86 {
934		Echo "No optional package LibIconv available for $(TARGET_ARCH)" ;
935	} else {
936		InstallOptionalHaikuImagePackage
937			libiconv-1.13.1-r1a2-x86-gcc2-2010-04-21-a.zip
938			: $(baseURL)/libiconv-1.13.1-r1a2-x86-gcc2-2010-04-21-a.zip
939			:
940			:
941			: true
942		;
943		InstallSourceArchive libiconv-1.13.1_haiku-2010-04-29.tar.xz
944			: $(baseSourceURL)/libiconv-1.13.1_haiku-2010-04-29.tar.xz ;
945	}
946}
947
948
949# LibLayout library
950if [ IsOptionalHaikuImagePackageAdded LibLayout ] {
951	if $(TARGET_ARCH) != x86 {
952		Echo "No optional package LibLayout available for $(TARGET_ARCH)" ;
953	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) {
954		Echo "No optional package LibLayout available for gcc4" ;
955	} else {
956		InstallOptionalHaikuImagePackage liblayout-1.4.0-gcc2-2009-03-08.zip
957			: $(baseURL)/liblayout-1.4.0-gcc2-2009-03-08.zip
958			:
959		;
960	}
961}
962
963
964# Libmng library
965if [ IsOptionalHaikuImagePackageAdded Libmng ] {
966	if $(TARGET_ARCH) != x86 {
967		Echo "No optional package Libmng available for $(TARGET_ARCH)" ;
968	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) {
969		Echo "No optional package Libmng available for gcc4" ;
970	} else {
971		InstallOptionalHaikuImagePackage libmng-1.0.10-x86-gcc2-2010-09-26.zip
972			: $(baseURL)/libmng-1.0.10-x86-gcc2-2010-09-26.zip
973			:
974		;
975	}
976}
977
978
979# LibXML2
980if [ IsOptionalHaikuImagePackageAdded LibXML2 ] {
981	if $(TARGET_ARCH) != x86 {
982		Echo "No optional package LibXML2 available for $(TARGET_ARCH)" ;
983	} else {
984		InstallOptionalHaikuImagePackage
985			libxml2-2.7.7-r1a2-x86-gcc2-2010-04-22-a.zip
986			: $(baseURL)/libxml2-2.7.7-r1a2-x86-gcc2-2010-04-22-a.zip
987			:
988			:
989			: true
990		;
991		InstallSourceArchive libxml2-2.7.7_haiku-2010-04-29.tar.xz
992			: $(baseSourceURL)/libxml2-2.7.7_haiku-2010-04-29.tar.xz ;
993	}
994}
995
996
997# LibXSLT
998if [ IsOptionalHaikuImagePackageAdded LibXSLT ] {
999	if $(TARGET_ARCH) != x86 {
1000		Echo "No optional package LibXSLT available for $(TARGET_ARCH)" ;
1001	} else {
1002		InstallOptionalHaikuImagePackage
1003			libxslt-1.1.26-r1a2-x86-gcc2-2010-04-22-a.zip
1004			: $(baseURL)/libxslt-1.1.26-r1a2-x86-gcc2-2010-04-22-a.zip
1005			:
1006			: true
1007		;
1008		InstallSourceArchive libxslt-1.1.26_haiku-2010-04-29.tar.xz
1009			: $(baseSourceURL)/libxslt-1.1.26_haiku-2010-04-29.tar.xz ;
1010	}
1011}
1012
1013
1014# Links web browser
1015if [ IsOptionalHaikuImagePackageAdded Links ] {
1016	if $(TARGET_ARCH) != x86 {
1017		Echo "No optional package Links available for $(TARGET_ARCH)" ;
1018	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) {
1019		Echo "No optional package Links available for gcc4" ;
1020	} else {
1021		InstallOptionalHaikuImagePackage Links.zip
1022			: $(baseURL)/links-x86-gcc2-2008-05-03.zip
1023			:
1024		;
1025		AddSymlinkToHaikuImage home config be Applications
1026			: /boot/home/config/bin/links ;
1027	}
1028}
1029
1030
1031# Man
1032if [ IsOptionalHaikuImagePackageAdded Man ] {
1033	if $(TARGET_ARCH) != x86 {
1034		Echo "No optional package Man available for $(TARGET_ARCH)" ;
1035	} else {
1036		InstallOptionalHaikuImagePackage
1037			 man-1.6f-x86-gcc2-2010-09-01.zip
1038			: $(baseURL)/man-1.6f-x86-gcc2-2010-09-01.zip
1039			:
1040		;
1041	}
1042}
1043
1044
1045# MandatoryPackages
1046if [ IsOptionalHaikuImagePackageAdded MandatoryPackages ] {
1047	# Pseudo package for grouping packages, which are added to all images.
1048}
1049
1050
1051# Mercurial
1052if [ IsOptionalHaikuImagePackageAdded Mercurial ] {
1053	if $(TARGET_ARCH) != x86 {
1054		Echo "No optional package Mercurial available for $(TARGET_ARCH)" ;
1055	} else {
1056		InstallOptionalHaikuImagePackage
1057			mercurial-1.6-x86-gcc2-2010-07-01.zip
1058			: $(baseURL)/mercurial-1.6-x86-gcc2-2010-07-01.zip
1059			:
1060			: true
1061		;
1062	}
1063}
1064
1065
1066# Nano
1067if [ IsOptionalHaikuImagePackageAdded Nano ] {
1068	if $(TARGET_ARCH) != x86 {
1069		Echo "No optional package Nano available for $(TARGET_ARCH)" ;
1070	} else {
1071		InstallOptionalHaikuImagePackage
1072			nano-2.2.5-x86-gcc2-2010-10-16.zip
1073			: $(baseURL)/nano-2.2.5-x86-gcc2-2010-10-16.zip
1074			:
1075		;
1076	}
1077}
1078
1079
1080# Neon
1081if [ IsOptionalHaikuImagePackageAdded Neon ] {
1082	if $(TARGET_ARCH) != x86 {
1083		Echo "No optional package Neon available for $(TARGET_ARCH)" ;
1084	} else {
1085		InstallOptionalHaikuImagePackage
1086			neon-0.29.5-x86-gcc2-2010-10-16.zip
1087			: $(baseURL)/neon-0.29.5-x86-gcc2-2010-10-16.zip
1088			:
1089		;
1090	}
1091}
1092
1093
1094# NetFS network file system
1095if [ IsOptionalHaikuImagePackageAdded NetFS ] {
1096	# userlandfs module
1097	AddFilesToHaikuImage home config add-ons userlandfs : netfs ;
1098
1099	# servers
1100	AddFilesToHaikuImage system servers : netfs_server ;
1101	AddFilesToHaikuImage system servers : authentication_server ;
1102
1103	# tools
1104	AddFilesToHaikuImage system bin : netfs_config ;
1105	AddFilesToHaikuImage system bin : netfs_server_prefs ;
1106
1107	#example settings for netfs_server
1108	local netfsServerSettingsFiles = <driver-settings>netfs-server ;
1109	SEARCH on $(netfsServerSettingsFiles)
1110		= [ FDirName $(HAIKU_TOP) src add-ons kernel file_systems netfs ] ;
1111	AddFilesToHaikuImage home config settings kernel drivers
1112	: $(netfsServerSettingsFiles) ;
1113
1114	#userlandfs settings are needed for netfs_config to work (ioctls)
1115	local userlandfsServerSettingsFiles = <driver-settings>userlandfs ;
1116	SEARCH on $(userlandfsServerSettingsFiles)
1117		= [ FDirName $(HAIKU_TOP) src add-ons kernel file_systems userlandfs ] ;
1118	AddFilesToHaikuImage home config settings kernel drivers
1119	: $(userlandfsServerSettingsFiles) ;
1120}
1121
1122
1123# NetSurf web browser
1124if [ IsOptionalHaikuImagePackageAdded NetSurf ] {
1125	if $(TARGET_ARCH) != x86 {
1126		Echo "No optional package NetSurf available for $(TARGET_ARCH)" ;
1127	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) {
1128		Echo "No optional package NetSurf available for gcc4" ;
1129	} else {
1130		InstallOptionalHaikuImagePackage netsurf-2.6-x86.gcc2-2010-09-26.zip
1131			: $(baseURL)/netsurf-2.6-x86-gcc2-2010-09-26.zip
1132			:
1133		;
1134		AddSymlinkToHaikuImage home config be Applications
1135			: /boot/apps/netsurf/NetSurf ;
1136	}
1137}
1138
1139
1140# OCaml
1141if [ IsOptionalHaikuImagePackageAdded OCaml ] {
1142	if $(TARGET_ARCH) != x86 {
1143		Echo "No optional package OCaml available for $(TARGET_ARCH)" ;
1144	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) {
1145		Echo "No optional package OCaml available for gcc4" ;
1146	} else {
1147		InstallOptionalHaikuImagePackage
1148			ocaml-3.11.1-r1a1-x86-gcc2-2009-09-06.zip
1149			: http://jerome.duval.free.fr/obos/ocaml-3.11.1-r1a1-x86-gcc2-2009-09-06.zip
1150			:
1151		;
1152		InstallOptionalHaikuImagePackage
1153			camlp5-5.12-r1a1-x86-gcc2-2009-09-06.zip
1154			: http://jerome.duval.free.fr/obos/camlp5-5.12-r1a1-x86-gcc2-2009-09-06.zip
1155			:
1156		;
1157	}
1158}
1159
1160
1161# OpenSound drivers
1162if [ IsOptionalHaikuImagePackageAdded OpenSound ] {
1163	if $(TARGET_ARCH) != x86 {
1164		Echo "No optional package OpenSound available for $(TARGET_ARCH)" ;
1165	} else {
1166		InstallOptionalHaikuImagePackage
1167			opensound-4.2-r1a2-x86-gcc2-2010-05-01.zip
1168			: $(baseURL)/opensound-4.2-r1a2-x86-gcc2-2010-05-01.zip
1169			:
1170		;
1171	}
1172	#ExtractArchiveToHaikuImage home : data/vv.mp3.zip : 0 ;
1173}
1174
1175
1176# OpenSSH
1177if [ IsOptionalHaikuImagePackageAdded OpenSSH ] {
1178	if $(TARGET_ARCH) != x86 {
1179		Echo "No optional package OpenSSH available for $(TARGET_ARCH)" ;
1180	} else {
1181		if ! $(HAIKU_IMAGE_HOST_NAME) && ! $(HAIKU_IGNORE_USER_BUILD_CONFIG) {
1182			Exit "Optional package OpenSSH requires the HAIKU_IMAGE_HOST_NAME"
1183				"variable to be set!" ;
1184		}
1185		InstallOptionalHaikuImagePackage
1186			openssh-5.6p1-x86-gcc2-2010-08-31.zip
1187			: $(baseURL)/openssh-5.6p1-x86-gcc2-2010-08-31.zip
1188			:
1189		;
1190
1191		AddUserToHaikuImage sshd : 1001 : 100 : /var/empty : /bin/true
1192			: "sshd user" ;
1193	}
1194}
1195
1196
1197# OpenSSL
1198if [ IsOptionalHaikuImagePackageAdded OpenSSL ] {
1199	if $(TARGET_ARCH) != x86 {
1200		Echo "No optional package OpenSSL available for $(TARGET_ARCH)" ;
1201	} else {
1202		InstallOptionalHaikuImagePackage $(HAIKU_OPENSSL_PACKAGE)
1203			: $(HAIKU_OPENSSL_URL)
1204			:
1205			:
1206			: true
1207		;
1208	}
1209}
1210
1211
1212# P7zip
1213if [ IsOptionalHaikuImagePackageAdded P7zip ] {
1214	if $(TARGET_ARCH) != x86 {
1215		Echo "No optional package P7zip available for $(TARGET_ARCH)" ;
1216	} else {
1217		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1218			InstallOptionalHaikuImagePackage
1219				p7zip-9.04-r1a2-x86-gcc4-2010-05-06.zip
1220				: $(baseURL)/p7zip-9.04-r1a2-x86-gcc4-2010-05-06.zip
1221				:
1222			;
1223		} else {
1224			InstallOptionalHaikuImagePackage
1225				p7zip-9.04-x86-gcc2-2010-09-01.zip
1226				: $(baseURL)/p7zip-9.04-x86-gcc2-2010-09-01.zip
1227				:
1228			;
1229		}
1230		AddExpanderRuleToHaikuImage "application/x-7z-compressed" : .7z
1231			: "7za l \\0045s"
1232			: "7za x -y \\0045s"
1233		;
1234
1235	}
1236}
1237
1238
1239# Paladin
1240if [ IsOptionalHaikuImagePackageAdded Paladin ] {
1241	if $(TARGET_ARCH) != x86 {
1242		Echo "No optional package Paladin available for $(TARGET_ARCH)" ;
1243	} else {
1244		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1245			InstallOptionalHaikuImagePackage paladin-1.3-x86-gcc4-2010-09-06.zip
1246				: $(baseURL)/paladin-1.3-x86-gcc4-2010-09-06.zip
1247			;
1248		} else {
1249			InstallOptionalHaikuImagePackage
1250				paladin-1.3-x86-gcc2-2010-09-06.zip
1251			: $(baseURL)/paladin-1.3-x86-gcc2-2010-09-06.zip
1252			;
1253		}
1254
1255		AddSymlinkToHaikuImage home config be Applications
1256			: /boot/apps/Paladin/Paladin ;
1257		AddSymlinkToHaikuImage common bin
1258			: /boot/apps/Paladin/Paladin ;
1259	}
1260}
1261
1262
1263# PCRE regex engine
1264if [ IsOptionalHaikuImagePackageAdded PCRE ] {
1265	if $(TARGET_ARCH) != x86 {
1266		Echo "No optional package PCRE available for $(TARGET_ARCH)" ;
1267	} else {
1268		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1269			InstallOptionalHaikuImagePackage pcre-7.9-x86-gcc4-2009-09-30.zip
1270				: $(baseURL)/pcre-7.9-x86-gcc4-2009-09-30.zip
1271			;
1272		} else {
1273			InstallOptionalHaikuImagePackage
1274				libpcre-8.02-r1a2-x86-gcc2-2010-04-28-a.zip
1275				: $(baseURL)/libpcre-8.02-r1a2-x86-gcc2-2010-04-28-a.zip
1276			;
1277		}
1278		InstallSourceArchive libpcre-8.02_haiku-2010-04-29.tar.xz
1279			: $(baseSourceURL)/libpcre-8.02_haiku-2010-04-29.tar.xz ;
1280	}
1281}
1282
1283
1284# Pe text editor
1285if [ IsOptionalHaikuImagePackageAdded Pe ] {
1286	if $(TARGET_ARCH) != x86 {
1287		Echo "No optional package Pe available for $(TARGET_ARCH)" ;
1288	} else {
1289		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1290			InstallOptionalHaikuImagePackage pe-2.4.3-600-x86-gcc4-2010-09-28.zip
1291				: $(baseURL)/pe-2.4.3-600-x86-gcc4-2010-09-28.zip
1292			;
1293		} else {
1294			InstallOptionalHaikuImagePackage
1295				pe-2.4.3-600-x86-gcc2-2010-09-28.zip
1296				: $(baseURL)/pe-2.4.3-600-x86-gcc2-2010-09-28.zip
1297			;
1298		}
1299
1300		AddSymlinkToHaikuImage home config be Applications
1301			: /boot/apps/Pe/Pe ;
1302		AddSymlinkToHaikuImage common bin
1303			: /boot/apps/Pe/lpe ;
1304	}
1305}
1306
1307
1308# Perl
1309if [ IsOptionalHaikuImagePackageAdded Perl ] {
1310	if $(TARGET_ARCH) != x86 {
1311		Echo "No optional package Perl available for $(TARGET_ARCH)" ;
1312	} else {
1313		InstallOptionalHaikuImagePackage
1314			perl-5.10.1-r1a2-x86-gcc2-2010-04-25-a.zip
1315			: $(baseURL)/perl-5.10.1-r1a2-x86-gcc2-2010-04-25-a.zip
1316			:
1317			: true
1318			: true
1319		;
1320		InstallSourceArchive perl-5.10.1_haiku-2010-04-29.tar.xz
1321			: $(baseSourceURL)/perl-5.10.1_haiku-2010-04-29.tar.xz ;
1322	}
1323}
1324
1325
1326# Python
1327if [ IsOptionalHaikuImagePackageAdded Python ] {
1328	if $(TARGET_ARCH) != x86 {
1329		Echo "No optional package Python available for $(TARGET_ARCH)" ;
1330	} else {
1331		InstallOptionalHaikuImagePackage
1332			python-2.6.6-x86-gcc2-2010-08-30.zip
1333			: $(baseURL)/python-2.6.6-x86-gcc2-2010-08-30.zip
1334			:
1335			: true
1336			: true
1337		;
1338	}
1339}
1340
1341
1342# Rsync
1343if [ IsOptionalHaikuImagePackageAdded Rsync ] {
1344	if $(TARGET_ARCH) != x86 {
1345		Echo "No optional package Rsync available for $(TARGET_ARCH)" ;
1346	} else {
1347		InstallOptionalHaikuImagePackage
1348			rsync-3.0.7-r1a2-x86-gcc2-2010-04-22-a.zip
1349			: $(baseURL)/rsync-3.0.7-r1a2-x86-gcc2-2010-04-22-a.zip
1350			:
1351		;
1352		InstallSourceArchive rsync-3.0.7_haiku-2010-04-29.tar.xz
1353			: $(baseSourceURL)/rsync-3.0.7_haiku-2010-04-29.tar.xz ;
1354	}
1355}
1356
1357
1358# Ruby
1359if [ IsOptionalHaikuImagePackageAdded Ruby ] {
1360	if $(TARGET_ARCH) != x86 {
1361		Echo "No optional package Ruby available for $(TARGET_ARCH)" ;
1362	} else {
1363		InstallOptionalHaikuImagePackage
1364			ruby-1.9.1-x86-gcc2-2010-05-20.zip
1365			: $(baseURL)/ruby-1.9.1-x86-gcc2-2010-05-20.zip
1366			:
1367		;
1368	}
1369}
1370
1371
1372# Sed
1373if [ IsOptionalHaikuImagePackageAdded Sed ] {
1374	if $(TARGET_ARCH) != x86 {
1375		Echo "No optional package Sed available for $(TARGET_ARCH)" ;
1376	} else {
1377		InstallOptionalHaikuImagePackage
1378			sed-4.2.1-r1a2-x86-gcc2-2010-04-21-a.zip
1379			: $(baseURL)/sed-4.2.1-r1a2-x86-gcc2-2010-04-21-a.zip
1380			:
1381			:
1382		;
1383		InstallSourceArchive sed-4.2.1_haiku-2010-04-29.tar.xz
1384			: $(baseSourceURL)/sed-4.2.1_haiku-2010-04-29.tar.xz ;
1385	}
1386}
1387
1388
1389# SQLite
1390if [ IsOptionalHaikuImagePackageAdded SQLite ] {
1391	if $(TARGET_ARCH) != x86 {
1392		Echo "No optional package SQLite available for $(TARGET_ARCH)" ;
1393	} else {
1394		InstallOptionalHaikuImagePackage
1395			sqlite-3.7.3-x86-gcc2-2010-10-13.zip
1396			: $(baseURL)/sqlite-3.7.3-x86-gcc2-2010-10-13.zip
1397			:
1398			: true
1399		;
1400	}
1401}
1402
1403
1404# Subversion
1405if [ IsOptionalHaikuImagePackageAdded Subversion ] {
1406	if $(TARGET_ARCH) != x86 {
1407		Echo "No optional package Subversion available for $(TARGET_ARCH)" ;
1408	} else {
1409		InstallOptionalHaikuImagePackage
1410			subversion-1.6.13-x86-gcc2-2010-10-13.zip
1411			: $(baseURL)/subversion-1.6.13-x86-gcc2-2010-10-13.zip
1412			:
1413			: true
1414		;
1415	}
1416}
1417
1418
1419# Tar
1420if [ IsOptionalHaikuImagePackageAdded Tar ] {
1421	if $(TARGET_ARCH) != x86 {
1422		Echo "No optional package Tar available for $(TARGET_ARCH)" ;
1423	} else {
1424		InstallOptionalHaikuImagePackage
1425			tar-1.22-r1a2-x86-gcc2-2010-04-22-a.zip
1426			: $(baseURL)/tar-1.22-r1a2-x86-gcc2-2010-04-22-a.zip
1427			:
1428		;
1429		InstallSourceArchive tar-1.22_haiku-2010-04-29.tar.xz
1430			: $(baseSourceURL)/tar-1.22_haiku-2010-04-29.tar.xz ;
1431	}
1432}
1433
1434
1435# TimGMSoundFont
1436if [ IsOptionalHaikuImagePackageAdded TimGMSoundFont ] {
1437	InstallOptionalHaikuImagePackage TimGMSoundFont-2010-06-16.zip
1438		: $(baseURL)/TimGMSoundFont-2010-06-16.zip
1439		:
1440	;
1441}
1442
1443
1444# TrackerNewTemplates
1445if [ IsOptionalHaikuImagePackageAdded TrackerNewTemplates ] {
1446	InstallOptionalHaikuImagePackage TrackerNewTemplates-2010-04-26.zip
1447		: $(baseURL)/TrackerNewTemplates-2010-04-26.zip
1448		: home config settings Tracker "Tracker New Templates"
1449	;
1450}
1451
1452
1453# Transmission
1454if [ IsOptionalHaikuImagePackageAdded Transmission ] {
1455	if $(TARGET_ARCH) != x86 {
1456		Echo "No optional package Transmission available for $(TARGET_ARCH)" ;
1457	} else {
1458		if $(HAIKU_GCC_VERSION[1]) >= 4 || $(isHybridBuild) {
1459			InstallOptionalHaikuImagePackage
1460				transmission-2.01-x86-gcc4-2010-07-10.zip
1461				: $(baseURL)/transmission-2.01-x86-gcc4-2010-07-10.zip
1462				:
1463				: true
1464			;
1465		} else {
1466			Echo "No optional package Transmission available for $(TARGET_ARCH)-gcc2" ;
1467		}
1468	}
1469}
1470
1471
1472# UserlandFS
1473if [ IsOptionalHaikuImagePackageAdded UserlandFS ] {
1474	local arch = $(TARGET_ARCH) ;
1475	local abi = gcc$(HAIKU_GCC_VERSION[1]) ;
1476
1477	# kernel module
1478	AddFilesToHaikuImage system add-ons kernel file_systems : userlandfs ;
1479
1480	# server
1481	AddFilesToHaikuImage system servers : userlandfs_server ;
1482
1483	# libs
1484	local userlandfsLibs =
1485		libuserlandfs_beos_kernel.so
1486		libuserlandfs_haiku_kernel.so
1487		libuserlandfs_fuse.so
1488	;
1489	AddFilesToHaikuHybridImage system lib : $(userlandfsLibs) : : true ;
1490
1491	# development goodies
1492	if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] {
1493		if ! ( $(HAIKU_GCC_VERSION[1]) in 2 4 ) {
1494			Exit "Optional package UserlandFS: Unsupported GCC version:"
1495				$(HAIKU_GCC_VERSION[1]) ;
1496		}
1497
1498		# library symlinks
1499		local lib ;
1500		for lib in $(userlandfsLibs) {
1501			AddSymlinkToHaikuImage develop abi $(arch) $(abi) lib
1502				: /system/lib/$(lib:BS) ;
1503			AddSymlinkToAlternativeGCCArchive develop abi $(arch) $(abi) lib
1504				: /system/lib/$(arch)/$(lib:BS) ;
1505		}
1506
1507		# FUSE headers
1508		local fuseHeaders =
1509			fuse_common_compat.h
1510			fuse_common.h
1511			fuse_compat.h
1512			fuse.h
1513			fuse_lowlevel_compat.h
1514			fuse_lowlevel.h
1515			fuse_opt.h
1516		;
1517		fuseHeaders = $(fuseHeaders:G=userlandfs!fuse) ;
1518		SEARCH on $(fuseHeaders)
1519			= [ FDirName $(HAIKU_TOP) headers private userlandfs fuse ] ;
1520		AddFilesToHaikuImage develop headers userlandfs fuse : $(fuseHeaders) ;
1521	}
1522}
1523
1524
1525# Vim
1526if [ IsOptionalHaikuImagePackageAdded Vim ] {
1527	if $(TARGET_ARCH) != x86 {
1528		Echo "No optional package Vim available for $(TARGET_ARCH)" ;
1529	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
1530		InstallOptionalHaikuImagePackage vim-7.3-x86-gcc4-2010-08-22.zip
1531			:  $(baseURL)/vim-7.3-x86-gcc4-2010-08-22.zip
1532			:
1533		;
1534		AddSymlinkToHaikuImage home config be Applications
1535			: /boot/common/bin/gvim ;
1536		# TODO: move this symlink to the archive
1537		AddSymlinkToHaikuImage common bin : vim : vi ;
1538	} else {
1539		InstallOptionalHaikuImagePackage vim-7.3-x86-gcc2-2010-08-22.zip
1540			:  $(baseURL)/vim-7.3-x86-gcc2-2010-08-22.zip
1541			:
1542		;
1543		AddSymlinkToHaikuImage home config be Applications
1544			: /boot/common/bin/gvim ;
1545		# TODO: move this symlink to the archive
1546		AddSymlinkToHaikuImage common bin : vim : vi ;
1547	}
1548}
1549
1550
1551# Vision
1552if [ IsOptionalHaikuImagePackageAdded Vision ] {
1553	if $(TARGET_ARCH) != x86 {
1554		Echo "No optional package Vision available for $(TARGET_ARCH)" ;
1555	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
1556		InstallOptionalHaikuImagePackage Vision-0.9.7-H-x86-gcc4-2010-05-22.zip
1557			: $(baseURL)/Vision-0.9.7-H-x86-gcc4-2010-05-22.zip
1558			:
1559		;
1560		AddSymlinkToHaikuImage home config be Applications
1561			: /boot/apps/Vision-0.9.7-H-090423/Vision ;
1562	} else {
1563		InstallOptionalHaikuImagePackage Vision-0.9.7-H-x86-gcc2-2010-05-22.zip
1564			: $(baseURL)/Vision-0.9.7-H-x86-gcc2-2010-05-22.zip
1565			:
1566		;
1567		AddSymlinkToHaikuImage home config be Applications
1568			: /boot/apps/Vision-0.9.7-H-090423/Vision ;
1569	}
1570}
1571
1572
1573# VLC media player
1574if [ IsOptionalHaikuImagePackageAdded VLC ] {
1575	if $(TARGET_ARCH) != x86 {
1576		Echo "No optional package VLC available for $(TARGET_ARCH)" ;
1577	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) {
1578		Echo "No optional package VLC available for gcc4" ;
1579	} else {
1580		InstallOptionalHaikuImagePackage VLC-0.8.6d.zip
1581			: $(baseURL)/vlc-0.8.6d-gcc2-2009-04-18.zip
1582			: apps
1583		;
1584		AddSymlinkToHaikuImage home config be Applications
1585			: "/boot/apps/vlc-0.8.6d/VLC media player" ;
1586		AddSymlinkToHaikuImage common bin
1587			: "/boot/apps/vlc-0.8.6d/VLC media player" : vlc ;
1588	}
1589}
1590
1591
1592# WebPositive
1593if [ IsOptionalHaikuImagePackageAdded WebPositive ] {
1594	if $(TARGET_ARCH) != x86 {
1595		Echo "No optional package WebPositive available for $(TARGET_ARCH)" ;
1596	} else if $(HAIKU_GCC_VERSION[1]) < 4 && ! $(isHybridBuild) {
1597		Echo "No optional package WebPositive available for gcc2" ;
1598	} else {
1599		InstallOptionalHaikuImagePackage
1600			WebPositive-gcc4-x86-r545-2010-08-31.zip
1601			: $(baseURL)/WebPositive-gcc4-x86-r545-2010-08-31.zip
1602			:
1603		;
1604		AddSymlinkToHaikuImage home config be Applications
1605			: /boot/apps/WebPositive/WebPositive ;
1606	}
1607}
1608
1609
1610# Welcome
1611if [ IsOptionalHaikuImagePackageAdded Welcome ] {
1612	CopyDirectoryToHaikuImage system documentation
1613		: [ FDirName $(HAIKU_TOP) docs welcome ]
1614		: welcome : -x .svn ;
1615	CopyDirectoryToHaikuImage system documentation
1616		: [ FDirName $(HAIKU_TOP) docs userguide ]
1617		: userguide : -x .svn ;
1618	AddSymlinkToHaikuImage home Desktop
1619		: /boot/system/documentation/welcome/welcome_en.html : Welcome ;
1620	AddSymlinkToHaikuImage home Desktop
1621		: /boot/system/documentation/userguide/en/contents.html : User\ Guide ;
1622}
1623
1624
1625# WifiFirmwareScriptData
1626# This optional package is for people who build their own images & have wifi
1627# hardware that requires install-wifi-firmwares.sh & have no active network
1628# connection. This is not to be added to default images.
1629if [ IsOptionalHaikuImagePackageAdded WifiFirmwareScriptData ] {
1630	if $(TARGET_ARCH) != x86 {
1631		Echo "No optional package WifiFirmwareScriptData available for"
1632			$(TARGET_ARCH) ;
1633	} else {
1634		# broadcom43xx
1635		# firmware cutter
1636		local broadcomFWCutterArchive = b43-fwcutter-012.tar.bz2 ;
1637		local broadcomFWCutterURL =
1638			http://bu3sch.de/b43/fwcutter/$(broadcomFWCutterArchive) ;
1639		local broadcomFWCutterFile = [ DownloadFile $(broadcomFWCutterArchive)
1640			: $(broadcomFWCutterURL) ] ;
1641		AddFilesToHaikuImage system data firmware broadcom43xx b43-fwcutter
1642			: $(broadcomFWCutterFile) ;
1643
1644		# headers needed to compile firmware cutter
1645		local glibcDir = [ FDirName
1646			$(HAIKU_TOP) src system libroot posix glibc ] ;
1647		local byteswapHeader = [ FDirName $(glibcDir) string byteswap.h ] ;
1648		AddFilesToHaikuImage system data firmware broadcom43xx b43-fwcutter
1649			: $(byteswapHeader) ;
1650		local bitByteswapHeader = [ FDirName
1651			$(glibcDir) include arch x86 bits byteswap.h ] ;
1652		AddFilesToHaikuImage system data firmware broadcom43xx b43-fwcutter bits
1653			: $(bitByteswapHeader) ;
1654
1655		# file containing firmware
1656		local broadcom43xxFile ;
1657		broadcom43xxFile = [ DownloadFile wl_apsta-3.130.20.0.o
1658			: http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o ] ;
1659		AddFilesToHaikuImage system data firmware broadcom43xx
1660			: $(broadcom43xxFile) ;
1661
1662		# marvell88w8335
1663		local marvelArchive = malo-firmware-1.4.tgz ;
1664		local marvelURL = http://www.nazgul.ch/malo/$(marvelArchive) ;
1665		local marvelFile = [ DownloadFile $(marvelArchive) : $(marvelURL) ] ;
1666		AddFilesToHaikuImage system data firmware marvell88w8335
1667			: $(marvelFile) ;
1668	}
1669}
1670
1671
1672# WonderBrush
1673if [ IsOptionalHaikuImagePackageAdded WonderBrush ] {
1674	if $(TARGET_ARCH) != x86 {
1675		Echo "No optional package WonderBrush available for $(TARGET_ARCH)" ;
1676	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) {
1677		Echo "No optional package WonderBrush available for gcc4" ;
1678	} else {
1679		InstallOptionalHaikuImagePackage WonderBrush-2.1.2.zip
1680			: $(baseURL)/WonderBrush-2.1.2-x86-gcc2-2008-11-08.zip
1681			: apps
1682		;
1683		AddSymlinkToHaikuImage home config be Applications
1684			: /boot/apps/WonderBrush/WonderBrush ;
1685	}
1686}
1687
1688
1689# XZ-Utils
1690if [ IsOptionalHaikuImagePackageAdded XZ-Utils ] {
1691	if $(TARGET_ARCH) != x86 {
1692		Echo "No optional package XZ-Utils available for $(TARGET_ARCH)" ;
1693	} else {
1694		InstallOptionalHaikuImagePackage
1695			xz-utils-4.999.9-r1a2-x86-gcc4-2010-04-25-a.zip
1696			: $(baseURL)/xz-utils-4.999.9-r1a2-x86-gcc4-2010-04-25-a.zip
1697			:
1698			:
1699			: true
1700		;
1701		InstallSourceArchive xz-utils-4.999.9_haiku-2010-04-29.tar.xz
1702			: $(baseSourceURL)/xz-utils-4.999.9_haiku-2010-04-29.tar.xz ;
1703		AddExpanderRuleToHaikuImage "application/x-xz" : .tar.xz
1704			: "tar -Jtvf \\0045s"
1705			: "tar -Jxvf \\0045s"
1706		;
1707		AddExpanderRuleToHaikuImage "application/x-xz" : .txz
1708			: "tar -Jtvf \\0045s"
1709			: "tar -Jxvf \\0045s"
1710		;
1711		AddExpanderRuleToHaikuImage "application/x-xz" : .xz
1712			: "echo \\0045s | sed 's/.xz\\\$//g'"
1713			: "xz -df \\0045s"
1714		;
1715	}
1716}
1717
1718
1719# Yasm
1720if [ IsOptionalHaikuImagePackageAdded Yasm ] {
1721	if $(TARGET_ARCH) != x86 {
1722		Echo "No optional package Yasm available for $(TARGET_ARCH)" ;
1723	} else {
1724		InstallOptionalHaikuImagePackage
1725			yasm-1.1.0-x86-gcc2-2010-08-23.zip
1726			: $(baseURL)/yasm-1.1.0-x86-gcc2-2010-08-23.zip
1727			:
1728		;
1729	}
1730}
1731