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