xref: /haiku/build/jam/OptionalPackages (revision 49d7857e32a5c34fe63a11e46a41a774aa1b2728)
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#	ArmyKnife				- tool for editing audio file metadata and attributes
20#	Bazaar					- the distributed version control system
21#	BeAE					- open source Audio Editor
22#	Beam					- powerful native e-mail client
23#	BeBook					- the classic BeOS API documentation
24#	BeHappy					- special documentation (i.e. BeBook) browser
25#	BeOSCompatibility		- creates links within the system to support old apps
26#	BePDF					- native PDF reader
27#	BeZillaBrowser			- fork of Mozilla's 1.8 branch.
28#	Bluetooth				- experimental Haiku components for Bluetooth
29#	BurnItNow				- CD burning app
30#	Bzip					- file archiving utility
31#	Caya					- a multiprotocol im client
32#	CCache					- fast compiler cache
33#	CDRecord				- the command line CD writing tools
34#	Clang					- the LLVM C and C++ compiler (llvm, libs, headers)
35#	Clockwerk				- native audio/video compositing
36#	CLucene					- indexed file search
37#	CMake					- cross platform make
38#	Colors!					- color picker application
39#	Ctags					- exuberant ctags (source files indexing)
40#	Curl					- a client that groks URLs
41#	CVS						- the version control system
42#	Development				- more complete dev environment (including autotools)
43#	DevelopmentBase			- basic development environment (gcc, headers, libs,...)
44#	DevelopmentJava			- JamVM, a Java Virtual machine, GNU Classpath, ECJ
45#	DevelopmentMin			- development headers, libs, tools, from sources only
46#	DevelopmentPowerPC			- Cross compiling environment for PowerPC
47#	Doxygen					- Generate documentation from source code
48#	Droid					- Font family from Google's Android project
49#	Expat					- XML parsing libraries
50#	Fastdep					- fast dependency generator for C/C++ files
51#	friss					- RSS/ATOM/... feeds reader
52#	GetText					- a framework to help produce multi-lingual messages.
53#	Git						- the distributed version control system
54#	GitDoc					- documentation for the distributed version control system
55#	GPerf					- the perfect hash function generator.
56#	Groff					- text formatter used for man pages
57#	HGrep					- header grep tool
58#	ICU-devel				- the headers and lib-links for ICU (for development)
59#	KeymapSwitcher			- Easy to use keymap switcher
60#	LGrep					- Library Grep tool
61#	LibEvent				- An event notification library
62#	LibIconv				- text encoding conversion library
63#	LibLayout				- GCC2 package needed by some BeOS apps to compile
64#	Libmng					- mng support library
65#	LibXML2					- the XML support library
66#	LibXSLT					- xslt library and utility
67#	Links					- the web browser
68#	Lua						- the scripting language
69#	Man						- standard commands to read man pages
70#	Mercurial				- the distributed version control system
71#	Nano					- the command line text editor
72#	Nanumfont				- Korean monospace font
73#	Neon					- support libraries used for example by SVN
74#	NetFS					- the native networked file system components
75#	NetSurf					- the web browser
76#	OCaml					- the Objective Caml language
77#	OpenSound				- additional audio driver package
78#	OpenSSH					- the secure shell
79#	OpenSSL					- secure sockets library
80#	P7zip					- file archiving utility
81#	Paladin					- a Haiku IDE
82#	PCRE					- the (Perl-compatible) regex engine
83#	Pe						- the powerful native Programmer's Editor
84#	Perl					- the scripting language
85#	Python					- the scripting language
86#	Puri					- chess game
87#	Rsync					- remote directory synchronization
88#	Ruby					- the programming language
89#	Sed						- the ultimate stream editor
90#	SQLite					- the database implementation
91#	Subversion				- the version control system
92#	TagLib					- id3 tag library
93#	Tar						- archiving utility
94#	TimGMSoundFont			- a good quality General MIDI Sound Font
95#	TrackerNewTemplates		- template files for Tracker's New menu
96#	Transmission			- a fast, easy, and free BitTorrent Client
97#	UserlandFS				- aids native file system development (like FUSE)
98#	Vim						- Vi IMproved. Highly configurable text editor
99#	Vision					- powerful native IRC client
100#	WebPositive				- native, WebKit-based web browser
101#	WebPositiveBookmarks	- bookmarks for WebPositive
102#	Welcome					- introductory documentation to Haiku
103#	WifiFirmwareScriptData	- data files needed by install-wifi-firmwares.sh
104#	WonderBrush				- native graphics application
105#	wpa_supplicant			- a WPA Supplicant with support for WPA and WPA2
106#	WQY-MicroHei			- Chinese font
107#	XZ-Utils				- file archiving utility
108#	Yasm					- the assembler utility
109
110local baseURL = http://haiku-files.org/files/optional-packages ;
111local baseSourceURL = http://haiku-files.org/files/sources ;
112
113# ABI-compliance-checker
114if [ IsOptionalHaikuImagePackageAdded ABI-compliance-checker ] {
115	if $(HAIKU_GCC_VERSION[1]) < 4 && ! $(isHybridBuild) {
116		Echo "No optional package ABI-compliance-checker for gcc2" ;
117	} else {
118		InstallOptionalHaikuImagePackage
119			ABI-compliance-checker-1.12-noarch-gcc4-2010-02-01.zip
120			: $(baseURL)/ABI-compliance-checker-1.12-noarch-gcc4-2010-02-01.zip ;
121	}
122}
123
124
125# APR
126if [ IsOptionalHaikuImagePackageAdded APR ] {
127	if $(TARGET_ARCH) != x86 {
128		Echo "No optional package APR available for $(TARGET_ARCH)" ;
129	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
130		InstallOptionalHaikuImagePackage
131			apr-1.4.6-r1a4-x86-gcc4-2012-08-30.zip
132			: $(baseURL)/apr-1.4.6-r1a4-x86-gcc4-2012-08-30.zip
133			: : true ;
134	} else {
135		InstallOptionalHaikuImagePackage
136			apr-1.4.6-r1a4-x86-gcc2-2012-08-27.zip
137			: $(baseURL)/apr-1.4.6-r1a4-x86-gcc2-2012-08-27.zip
138			: : true ;
139	}
140}
141
142
143# APR-util
144if [ IsOptionalHaikuImagePackageAdded APR-util ] {
145	if $(TARGET_ARCH) != x86 {
146		Echo "No optional package APR-util available for $(TARGET_ARCH)" ;
147	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
148		InstallOptionalHaikuImagePackage
149			apr-util-1.4.1-r1a4-x86-gcc4-2012-08-30.zip
150			: $(baseURL)/apr-util-1.4.1-r1a4-x86-gcc4-2012-08-30.zip
151			: : true ;
152	} else {
153		InstallOptionalHaikuImagePackage
154			apr-util-1.4.1-r1a4-x86-gcc2-2012-08-27.zip
155			: $(baseURL)/apr-util-1.4.1-r1a4-x86-gcc2-2012-08-27.zip
156			: : true ;
157	}
158}
159
160
161# ArmyKnife
162if [ IsOptionalHaikuImagePackageAdded ArmyKnife ] {
163	if $(TARGET_ARCH) != x86 {
164		Echo "No optional package ArmyKnife available for $(TARGET_ARCH)" ;
165	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) {
166		Echo "No optional package ArmyKnife for gcc4" ;
167	} else {
168		InstallOptionalHaikuImagePackage
169			armyknife-63-r1a4-x86-gcc2-2012-08-30.zip
170			: $(baseURL)/armyknife-63-r1a4-x86-gcc2-2012-08-30.zip ;
171		AddSymlinkToHaikuImage home config settings deskbar Applications
172			: /boot/apps/ArmyKnife/ArmyKnife ;
173	}
174}
175
176
177# Bazaar
178if [ IsOptionalHaikuImagePackageAdded Bazaar ] {
179	if $(TARGET_ARCH) != x86 {
180		Echo "No optional package Bazaar available for $(TARGET_ARCH)" ;
181	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
182		InstallOptionalHaikuImagePackage bzr-2.6b1-r1a4-x86-gcc4-2012-08-30.zip
183			: $(baseURL)/bzr-2.6b1-r1a4-x86-gcc4-2012-08-30.zip ;
184	} else {
185		InstallOptionalHaikuImagePackage bzr-2.5.1-r1a4-x86-gcc2-2012-08-27.zip
186			: $(baseURL)/bzr-2.5.1-r1a4-x86-gcc2-2012-08-27.zip ;
187	}
188}
189
190
191# BeAE
192if [ IsOptionalHaikuImagePackageAdded BeAE ] {
193	if $(TARGET_ARCH) != x86 {
194		Echo "No optional package BeAE available for $(TARGET_ARCH)" ;
195	} else {
196		if $(HAIKU_GCC_VERSION[1]) >= 4 {
197			InstallOptionalHaikuImagePackage
198				beae-22-r1a4-x86-gcc4-2012-08-30.zip
199				: $(baseURL)/beae-22-r1a4-x86-gcc4-2012-08-30.zip ;
200		} else {
201			InstallOptionalHaikuImagePackage
202				beae-22-r1a4-x86-gcc2-2012-08-27.zip
203				: $(baseURL)/beae-22-r1a4-x86-gcc2-2012-08-27.zip ;
204		}
205		AddSymlinkToHaikuImage home config settings deskbar Applications
206			: /boot/apps/BeAE/BeAE ;
207	}
208}
209
210
211# Beam
212if [ IsOptionalHaikuImagePackageAdded Beam ] {
213	if $(TARGET_ARCH) != x86 {
214		Echo "No optional package Beam available for $(TARGET_ARCH)" ;
215	} else {
216		if $(HAIKU_GCC_VERSION[1]) >= 4 {
217			InstallOptionalHaikuImagePackage
218				beam-1.2alpha-r1a4-x86-gcc4-2012-09-12.zip
219				: $(baseURL)/beam-1.2alpha-r1a4-x86-gcc4-2012-09-12.zip ;
220		} else {
221			InstallOptionalHaikuImagePackage
222				beam-1.2alpha-r1a4-x86-gcc2-2012-08-29.zip
223				: $(baseURL)/beam-1.2alpha-r1a4-x86-gcc2-2012-08-29.zip ;
224		}
225		AddSymlinkToHaikuImage home config settings deskbar Applications
226			: /boot/apps/Beam/Beam ;
227	}
228}
229
230
231# bebook
232if [ IsOptionalHaikuImagePackageAdded BeBook ] {
233	InstallOptionalHaikuImagePackage bebook_20081026.zip
234		: $(baseURL)/bebook_20081026.zip
235		: system documentation ;
236	AddSymlinkToHaikuImage home Desktop
237		: /boot/system/documentation/bebook/index.html : BeBook ;
238}
239
240
241# BeHappy
242if [ IsOptionalHaikuImagePackageAdded BeHappy ] {
243	if $(TARGET_ARCH) != x86 {
244		Echo "No optional package BeHappy available for $(TARGET_ARCH)" ;
245	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) {
246		Echo "No optional package BeHappy available for gcc4" ;
247	} else {
248		Echo "No optional package BeHappy available for gcc2" ;
249	}
250}
251
252
253# BeOSCompatibility
254if [ IsOptionalHaikuImagePackageAdded BeOSCompatibility ] {
255	if $(TARGET_ARCH) != x86 {
256		Echo "No optional package BeOSCompatibility available for $(TARGET_ARCH)" ;
257	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) {
258		Echo "No optional package BeOSCompatibility available for gcc4" ;
259	} else {
260		Echo "Warning: Adding BeOS compatibility symlinks. This will go away. Please fix your apps!" ;
261		AddSymlinkToHaikuImage beos : ../system/apps ;
262		AddSymlinkToHaikuImage beos : ../system/bin ;
263		AddSymlinkToHaikuImage beos : ../system/documentation ;
264		AddSymlinkToHaikuImage beos : ../common/etc ;
265		AddSymlinkToHaikuImage beos : ../system/preferences ;
266		AddSymlinkToHaikuImage beos : ../system ;
267		AddDirectoryToHaikuImage var ;
268		AddSymlinkToHaikuImage var : /boot/common/var/log ;
269		AddSymlinkToHaikuImage var : /boot/common/cache/tmp ;
270	}
271}
272
273
274# BePDF
275if [ IsOptionalHaikuImagePackageAdded BePDF ] {
276	if $(TARGET_ARCH) != x86 {
277		Echo "No optional package BePDF available for $(TARGET_ARCH)" ;
278	} else {
279		if $(HAIKU_GCC_VERSION[1]) >= 4 {
280			InstallOptionalHaikuImagePackage
281				bepdf-1.1.1b4-x86-gcc4-2012-08-11.zip
282				: $(baseURL)/bepdf-1.1.1b4-x86-gcc4-2012-08-11.zip ;
283		} else {
284			InstallOptionalHaikuImagePackage
285				bepdf-1.1.1b4-r1a4-x86-gcc2-2012-08-30.zip
286				: $(baseURL)/bepdf-1.1.1b4-r1a4-x86-gcc2-2012-08-30.zip ;
287		}
288		AddSymlinkToHaikuImage home config settings deskbar Applications
289			: /boot/apps/BePDF/BePDF ;
290	}
291}
292
293
294# BeZillaBrowser
295if [ IsOptionalHaikuImagePackageAdded BeZillaBrowser ] {
296	if $(TARGET_ARCH) != x86 {
297		Echo "No optional package BeZillaBrowser available for $(TARGET_ARCH)" ;
298	} else {
299		if $(HAIKU_GCC_VERSION[1]) >= 4 {
300			InstallOptionalHaikuImagePackage
301				BeZillaBrowser-2.0.0.22pre-x86-gcc4-2012-09-21.zip
302				: $(baseURL)/BeZillaBrowser-2.0.0.22pre-x86-gcc4-2012-09-21.zip ;
303 		} else {
304			InstallOptionalHaikuImagePackage
305				BeZillaBrowser-2.0.0.22pre-x86-gcc2-2012-09-21.zip
306				: $(baseURL)/BeZillaBrowser-2.0.0.22pre-x86-gcc2-2012-09-21.zip ;
307 		}
308 		AddSymlinkToHaikuImage home config settings deskbar Applications
309			: /boot/apps/BeZillaBrowser/BeZillaBrowser ;
310	}
311}
312
313
314# Bluetooth stack
315if [ IsOptionalHaikuImagePackageAdded Bluetooth ] {
316	local bluetoothDrivers = h2generic ;
317	AddDriversToHaikuImage bluetooth : $(bluetoothDrivers) ;
318	AddFilesToHaikuImage system servers : bluetooth_server ;
319	AddFilesToHaikuImage system lib : libbluetooth.so ;
320	AddFilesToHaikuImage system add-ons kernel network protocols : l2cap ;
321	AddFilesToHaikuImage system add-ons kernel bluetooth : btCoreData hci ;
322	AddFilesToHaikuImage system preferences : Bluetooth ;
323	AddFilesToHaikuImage system bin : bt_dev_info bt_discovery ;
324	AddSymlinkToHaikuImage home config settings deskbar Preferences
325		: /boot/system/preferences/Bluetooth ;
326	if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ]
327		&& $(HAIKU_GCC_VERSION[1]) in 2 4 {
328		local arch = $(TARGET_ARCH) ;
329		local abi = gcc$(HAIKU_GCC_VERSION[1]) ;
330		AddSymlinkToHaikuHybridImage develop abi $(arch) $(abi) lib
331			: /system/lib libbluetooth.so : : true ;
332	}
333}
334
335
336# BurnItNow
337if [ IsOptionalHaikuImagePackageAdded BurnItNow ] {
338	if $(TARGET_ARCH) != x86 {
339		Echo "No optional package BurnItNow available for $(TARGET_ARCH)" ;
340	} else {
341		if $(HAIKU_GCC_VERSION[1]) >= 4 {
342			InstallOptionalHaikuImagePackage
343			burnitnow-39-r1a4-x86-gcc4-2012-08-30.zip
344				: $(baseURL)/burnitnow-39-r1a4-x86-gcc4-2012-08-30.zip ;
345		} else {
346		InstallOptionalHaikuImagePackage
347			burnitnow-39-r1a4-x86-gcc2-2012-08-27.zip
348			: $(baseURL)/burnitnow-39-r1a4-x86-gcc2-2012-08-27.zip ;
349		}
350		AddSymlinkToHaikuImage home config settings deskbar Applications
351			: /boot/apps/BurnItNow/BurnItNow ;
352	}
353}
354
355
356# Bzip
357if [ IsOptionalHaikuImagePackageAdded Bzip ] {
358	if $(TARGET_ARCH) != x86 {
359		Echo "No optional package Bzip available for $(TARGET_ARCH)" ;
360	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
361		InstallOptionalHaikuImagePackage
362			bzip2-1.0.6-r1a4-x86-gcc4-2012-08-30.zip
363			: $(baseURL)/bzip2-1.0.6-r1a4-x86-gcc4-2012-08-30.zip
364			: : true ;
365	} else {
366		InstallOptionalHaikuImagePackage
367			bzip2-1.0.6-r1a4-x86-gcc2-2012-08-27.zip
368			: $(baseURL)/bzip2-1.0.6-r1a4-x86-gcc2-2012-08-27.zip
369			: : true ;
370	}
371}
372
373
374# CARootCertificates
375if [ IsOptionalHaikuImagePackageAdded CARootCertificates ] {
376	InstallOptionalHaikuImagePackage cert-2012-07-04.zip
377		: $(baseURL)/cert-2012-07-04.zip
378		: common data ssl ;
379}
380
381
382# Caya
383if [ IsOptionalHaikuImagePackageAdded Caya ] {
384	if $(TARGET_ARCH) != x86 {
385		Echo "No optional package Caya available for $(TARGET_ARCH)" ;
386	} else {
387		if $(HAIKU_GCC_VERSION[1]) >= 4 || $(isHybridBuild) {
388			InstallOptionalHaikuImagePackage
389				caya-279-r1a4-x86-gcc4-2012-10-02.zip
390				: $(baseURL)/caya-279-r1a4-x86-gcc4-2012-10-02.zip
391				: : true ;
392			InstallOptionalHaikuImagePackage
393				caya-gpl-protocols-36-r1a4-x86-gcc4-2012-10-01.zip
394				: $(baseURL)/caya-gpl-protocols-36-r1a4-x86-gcc4-2012-10-01.zip
395				: : true ;
396			AddSymlinkToHaikuImage home config be Applications
397				: /boot/apps/Caya/Caya ;
398		} else {
399			Echo "No optional package Caya available for $(TARGET_ARCH)-gcc2" ;
400		}
401	}
402}
403
404# CCache
405if [ IsOptionalHaikuImagePackageAdded CCache ] {
406	if $(TARGET_ARCH) != x86 {
407		Echo "No optional package CCache available for $(TARGET_ARCH)" ;
408	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
409		InstallOptionalHaikuImagePackage
410			ccache-3.0.1-r1a4-x86-gcc4-2012-08-30.zip
411			: $(baseURL)/ccache-3.0.1-r1a4-x86-gcc4-2012-08-30.zip ;
412	} else {
413		InstallOptionalHaikuImagePackage
414			ccache-3.0.1-r1a4-x86-gcc2-2012-08-27.zip
415			: $(baseURL)/ccache-3.0.1-r1a4-x86-gcc2-2012-08-27.zip ;
416	}
417}
418
419
420# CDRecord
421if [ IsOptionalHaikuImagePackageAdded CDRecord ] {
422	if $(TARGET_ARCH) != x86 {
423		Echo "No optional package CDRecord available for $(TARGET_ARCH)" ;
424	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
425		InstallOptionalHaikuImagePackage
426			cdrtools-3.01a07-r1a4-x86-gcc4-2012-08-30.zip
427			: $(baseURL)/cdrtools-3.01a07-r1a4-x86-gcc4-2012-08-30.zip ;
428	} else {
429		InstallOptionalHaikuImagePackage
430			cdrtools-3.01a07-r1a4-x86-gcc2-2012-08-28.zip
431			: $(baseURL)/cdrtools-3.01a07-r1a4-x86-gcc2-2012-08-28.zip ;
432	}
433}
434
435
436# Clang
437if [ IsOptionalHaikuImagePackageAdded Clang ] {
438	if $(TARGET_ARCH) != x86 {
439		Echo "No optional package Clang available for $(TARGET_ARCH)" ;
440	} else if $(HAIKU_GCC_VERSION[1]) < 4 && ! $(isHybridBuild) {
441		Echo "No optional package Clang available for GCC2" ;
442	} else {
443		InstallOptionalHaikuImagePackage
444			clang-3.0-x86-gcc4-2012-03-09.zip
445			: $(baseURL)/clang-3.0-x86-gcc4-2012-03-09.zip ;
446	}
447}
448
449
450# Clockwerk
451if [ IsOptionalHaikuImagePackageAdded Clockwerk ] {
452	if $(TARGET_ARCH) != x86 {
453		Echo "No optional package Clockwerk available for $(TARGET_ARCH)" ;
454	} else {
455		if $(HAIKU_GCC_VERSION[1]) >= 4 {
456			InstallOptionalHaikuImagePackage
457				Clockwerk-0.0.2-x86-gcc4-2012-02-25.zip
458				: $(baseURL)/Clockwerk-0.0.2-x86-gcc4-2012-02-25.zip ;
459		} else {
460			InstallOptionalHaikuImagePackage
461				Clockwerk-0.0.2-x86-gcc2-2012-03-04.zip
462				: $(baseURL)/Clockwerk-0.0.2-x86-gcc2-2012-03-04.zip ;
463		}
464		AddSymlinkToHaikuImage home config settings deskbar Applications
465			: /boot/apps/Clockwerk/Clockwerk ;
466	}
467}
468
469
470# CLucene
471if [ IsOptionalHaikuImagePackageAdded CLucene ] {
472	if $(TARGET_ARCH) != x86 {
473		Echo "No optional package CLucene available for $(TARGET_ARCH)" ;
474	} else if $(HAIKU_GCC_VERSION[1]) < 4 && ! $(isHybridBuild) {
475		Echo "No optional package CLucene available for GCC2" ;
476	} else {
477		InstallOptionalHaikuImagePackage
478			clucene-0.9.21-x86-gcc4-haiku-2009-08-11.zip
479			: $(baseURL)/clucene-0.9.21-x86-gcc4-haiku-2009-08-11.zip
480			: : true ;
481	}
482}
483
484
485# CMake
486if [ IsOptionalHaikuImagePackageAdded CMake ] {
487	if $(TARGET_ARCH) != x86 {
488		Echo "No optional package CMake available for $(TARGET_ARCH)" ;
489	} else {
490		if $(HAIKU_GCC_VERSION[1]) >= 4 {
491			InstallOptionalHaikuImagePackage
492				cmake-2.8.5-r1a4-x86-gcc4-2012-08-28.zip
493				: $(baseURL)/cmake-2.8.5-r1a4-x86-gcc4-2012-08-28.zip
494				: : true ;
495		} else {
496			InstallOptionalHaikuImagePackage
497				cmake-2.8.5-r1a4-x86-gcc2-2012-08-27.zip
498				: $(baseURL)/cmake-2.8.5-r1a4-x86-gcc2-2012-08-27.zip
499				: : true ;
500		}
501	}
502}
503
504
505# Colors!
506if [ IsOptionalHaikuImagePackageAdded Colors! ] {
507	if $(TARGET_ARCH) != x86 {
508		Echo "No optional package Colors! available for $(TARGET_ARCH)" ;
509	} else {
510		if $(HAIKU_GCC_VERSION[1]) >= 4 {
511			InstallOptionalHaikuImagePackage
512				Colors!-2.1-r1a4-x86-gcc4-2012-08-30.zip
513				: $(baseURL)/Colors\!-2.1-r1a4-x86-gcc4-2012-08-30.zip ;
514		} else {
515			InstallOptionalHaikuImagePackage
516				Colors!-2.1-r1a4-x86-gcc2-2012-08-30.zip
517				: $(baseURL)/Colors\!-2.1-r1a4-x86-gcc2-2012-08-30.zip ;
518		}
519		AddSymlinkToHaikuImage home config settings deskbar Applications
520			: /boot/apps/Colors\!/Colors\! ;
521	}
522}
523
524
525# Ctags
526if [ IsOptionalHaikuImagePackageAdded Ctags ] {
527	if $(TARGET_ARCH) != x86 {
528		Echo "No optional package Ctags available for $(TARGET_ARCH)" ;
529	} else {
530		if $(HAIKU_GCC_VERSION[1]) >= 4 {
531			InstallOptionalHaikuImagePackage
532				ctags-5.8-r1a4-x86-gcc4-2012-08-30.zip
533				: $(baseURL)/ctags-5.8-r1a4-x86-gcc4-2012-08-30.zip
534				: : true ;
535		} else {
536			InstallOptionalHaikuImagePackage
537				ctags-5.8-r1a4-x86-gcc2-2012-09-03.zip
538				: $(baseURL)/ctags-5.8-r1a4-x86-gcc2-2012-09-03.zip
539				: : true ;
540		}
541	}
542}
543
544
545# Curl
546if [ IsOptionalHaikuImagePackageAdded Curl ] {
547	if $(TARGET_ARCH) != x86 {
548		Echo "No optional package Curl available for $(TARGET_ARCH)" ;
549	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
550		InstallOptionalHaikuImagePackage curl-7.26.0-r1a4-x86-gcc4-2012-08-29.zip
551			: $(baseURL)/curl-7.26.0-r1a4-x86-gcc4-2012-08-29.zip ;
552	} else {
553		InstallOptionalHaikuImagePackage curl-7.26.0-r1a4-x86-gcc2-2012-08-28.zip
554			: $(baseURL)/curl-7.26.0-r1a4-x86-gcc2-2012-08-28.zip ;
555	}
556}
557
558
559# CVS
560if [ IsOptionalHaikuImagePackageAdded CVS ] {
561	if $(TARGET_ARCH) != x86 {
562		Echo "No optional package CVS available for $(TARGET_ARCH)" ;
563	} else {
564		if $(HAIKU_GCC_VERSION[1]) >= 4 {
565			InstallOptionalHaikuImagePackage
566				cvs-1.12.13.1-r1a4-x86-gcc4-2012-08-30.zip
567				: $(baseURL)/cvs-1.12.13.1-r1a4-x86-gcc4-2012-08-30.zip
568				: : true ;
569		} else {
570			InstallOptionalHaikuImagePackage
571				cvs-1.12.13.1-r1a4-x86-gcc2-2012-08-28.zip
572				: $(baseURL)/cvs-1.12.13.1-r1a4-x86-gcc2-2012-08-28.zip
573				: : true ;
574		}
575	}
576}
577
578
579# DemoPackage_Audio
580if [ IsOptionalHaikuImagePackageAdded DemoPackage_Audio ] {
581	InstallOptionalHaikuImagePackage DemoPackage_Audio-0.1-2012-02-19.zip
582		: $(baseURL)/DemoPackage_Audio-0.1-2012-02-19.zip
583		: ;
584}
585
586
587# DemoPackage_Data
588if [ IsOptionalHaikuImagePackageAdded DemoPackage_Data ] {
589	InstallOptionalHaikuImagePackage DemoPackage_Data-0.1-2012-02-19.zip
590		: $(baseURL)/DemoPackage_Data-0.1-2012-02-19.zip
591		: ;
592}
593
594
595# DemoPackage_Image
596if [ IsOptionalHaikuImagePackageAdded DemoPackage_Image ] {
597	InstallOptionalHaikuImagePackage DemoPackage_Image-0.2-2012-09-22.zip
598		: $(baseURL)/DemoPackage_Image-0.2-2012-09-22.zip
599		: ;
600}
601
602
603# DemoPackage_Video
604if [ IsOptionalHaikuImagePackageAdded DemoPackage_Video ] {
605	InstallOptionalHaikuImagePackage DemoPackage_Video-0.1-2012-02-19.zip
606		: $(baseURL)/DemoPackage_Video-0.1-2012-02-19.zip
607		: ;
608}
609
610
611# Development
612if [ IsOptionalHaikuImagePackageAdded Development ] && $(TARGET_ARCH) = x86 {
613	AddFilesToHaikuImage system apps : Debugger ;
614	AddSymlinkToHaikuImage home config settings deskbar Applications
615		: /boot/system/apps/Debugger : Debugger ;
616	# autotools
617	if $(HAIKU_GCC_VERSION[1]) >= 4 {
618		InstallOptionalHaikuImagePackage
619			autoconf-2.68-r1a4-x86-gcc4-2012-08-28.zip
620			: $(baseURL)/autoconf-2.68-r1a4-x86-gcc4-2012-08-28.zip
621			: : true ;
622		InstallOptionalHaikuImagePackage
623			automake-1.11.1-r1a4-x86-gcc4-2012-08-28.zip
624			: $(baseURL)/automake-1.11.1-r1a4-x86-gcc4-2012-08-28.zip
625			: : true ;
626		InstallOptionalHaikuImagePackage
627			libtool-2.4-r1a4-x86-gcc4-2012-08-28.zip
628			: $(baseURL)/libtool-2.4-r1a4-x86-gcc4-2012-08-28.zip
629			: : true ;
630		InstallOptionalHaikuImagePackage
631			texinfo-4.13a-r1a4-x86-gcc4-2012-08-30.zip
632			: $(baseURL)/texinfo-4.13a-r1a4-x86-gcc4-2012-08-30.zip
633			: : true ;
634	} else {
635		InstallOptionalHaikuImagePackage
636			autoconf-2.68-r1a4-x86-gcc2-2012-08-26.zip
637			: $(baseURL)/autoconf-2.68-r1a4-x86-gcc2-2012-08-26.zip
638			: : true ;
639		InstallOptionalHaikuImagePackage
640			automake-1.11.1-r1a4-x86-gcc2-2012-08-26.zip
641			: $(baseURL)/automake-1.11.1-r1a4-x86-gcc2-2012-08-26.zip
642			: : true ;
643		InstallOptionalHaikuImagePackage
644			libtool-2.4-r1a4-x86-gcc2-2012-08-26.zip
645			: $(baseURL)/libtool-2.4-r1a4-x86-gcc2-2012-08-26.zip
646			: : true ;
647		InstallOptionalHaikuImagePackage
648			texinfo-4.13a-r1a4-x86-gcc2-2012-08-28.zip
649			: $(baseURL)/texinfo-4.13a-r1a4-x86-gcc2-2012-08-28.zip
650			: : true ;
651	}
652}
653
654
655# DevelopmentBase
656if [ IsOptionalHaikuImagePackageAdded DevelopmentBase ]
657		&& $(TARGET_ARCH) = x86 {
658	# gcc and binutils
659	if $(HAIKU_GCC_VERSION[1]) = 2 || $(isHybridBuild) {
660		InstallOptionalHaikuImagePackage
661			gcc-2.95.3-r1a4-x86-gcc2-2012-11-01.zip
662			: $(baseURL)/gcc-2.95.3-r1a4-x86-gcc2-2012-11-01.zip ;
663	}
664
665	if $(HAIKU_GCC_VERSION[1]) = 2 {
666		# symlink to the appropriate system/lib[/gcc2] folder
667		AddSymlinkToHaikuHybridImage
668			develop abi x86 gcc2 tools gcc-2.95.3-haiku-121101 lib
669			: /system/lib libstdc++.r4.so : : true ;
670	}
671
672	if $(HAIKU_GCC_VERSION[1]) = 4 || $(isHybridBuild) {
673		InstallOptionalHaikuImagePackage
674			gcc-4.6.3-r1a4-x86-gcc4-2012-11-01.zip
675			: $(baseURL)/gcc-4.6.3-r1a4-x86-gcc4-2012-11-01.zip ;
676	}
677
678	if $(HAIKU_GCC_VERSION[1]) = 4 {
679		# symlink cpp to g++'s headers
680		AddSymlinkToHaikuHybridImage develop abi x86 gcc4 headers
681			: ../tools/current/include/g++ : cpp ;
682
683		# symlink to the appropriate system/lib[/gcc4] folder
684		local libs = libstdc++.so libsupc++.so ;
685		for lib in $(libs) {
686			AddSymlinkToHaikuHybridImage
687				develop abi x86 gcc4 tools gcc-4.6.3-haiku-121101 lib
688				: /system/lib $(lib) : : true ;
689		}
690	}
691
692	# other commonly used tools
693	if $(HAIKU_GCC_VERSION[1]) >= 4 {
694		InstallOptionalHaikuImagePackage
695			bison-2.4.3-r1a4-x86-gcc4-2012-08-28.zip
696			: $(baseURL)/bison-2.4.3-r1a4-x86-gcc4-2012-08-28.zip ;
697		InstallOptionalHaikuImagePackage
698			m4-1.4.16-r1a4-x86-gcc4-2012-08-28.zip
699			: $(baseURL)/m4-1.4.16-r1a4-x86-gcc4-2012-08-28.zip ;
700		InstallOptionalHaikuImagePackage
701			flex-2.5.35-r1a4-x86-gcc4-2012-08-28.zip
702			: $(baseURL)/flex-2.5.35-r1a4-x86-gcc4-2012-08-28.zip ;
703		InstallOptionalHaikuImagePackage
704			jam-2.5-r1a4-x86-gcc4-2012-08-28.zip
705			: $(baseURL)/jam-2.5-r1a4-x86-gcc4-2012-08-28.zip ;
706		InstallOptionalHaikuImagePackage
707			mkdepend-1.7-r1a4-x86-gcc4-2012-08-28.zip
708			: $(baseURL)/mkdepend-1.7-r1a4-x86-gcc4-2012-08-28.zip ;
709		InstallOptionalHaikuImagePackage
710			make-3.82-r1a4-x86-gcc4-2012-08-28.zip
711			: $(baseURL)/make-3.82-r1a4-x86-gcc4-2012-08-28.zip ;
712	} else {
713		InstallOptionalHaikuImagePackage
714			bison-2.4.3-r1a4-x86-gcc2-2012-08-26.zip
715			: $(baseURL)/bison-2.4.3-r1a4-x86-gcc2-2012-08-26.zip ;
716		InstallOptionalHaikuImagePackage
717			m4-1.4.16-r1a4-x86-gcc2-2012-08-26.zip
718			: $(baseURL)/m4-1.4.16-r1a4-x86-gcc2-2012-08-26.zip ;
719		InstallOptionalHaikuImagePackage
720			flex-2.5.35-r1a4-x86-gcc2-2012-09-10.zip
721			: $(baseURL)/flex-2.5.35-r1a4-x86-gcc2-2012-09-10.zip ;
722		InstallOptionalHaikuImagePackage
723			jam-2.5-r1a4-x86-gcc2-2012-08-27.zip
724			: $(baseURL)/jam-2.5-r1a4-x86-gcc2-2012-08-27.zip ;
725		InstallOptionalHaikuImagePackage
726			mkdepend-1.7-r1a4-x86-gcc2-2012-08-26.zip
727			: $(baseURL)/mkdepend-1.7-r1a4-x86-gcc2-2012-08-26.zip ;
728		InstallOptionalHaikuImagePackage
729			make-3.82-r1a4-x86-gcc2-2012-08-26.zip
730			: $(baseURL)/make-3.82-r1a4-x86-gcc2-2012-08-26.zip ;
731	}
732}
733
734
735# DevelopmentJava
736if [ IsOptionalHaikuImagePackageAdded DevelopmentJava ] {
737	if $(TARGET_ARCH) != x86 {
738		Echo "No optional package DevelopmentJava available for $(TARGET_ARCH)" ;
739	} else if $(HAIKU_GCC_VERSION[1]) < 4 && ! $(isHybridBuild) {
740		Echo "No optional package DevelopmentJava available for gcc2" ;
741	} else {
742		InstallOptionalHaikuImagePackage
743			gnu-classpath-0.98-r1a3-x86-gcc4-2011-06-08.zip
744			: $(baseURL)/gnu-classpath-0.98-r1a3-x86-gcc4-2011-06-08.zip ;
745		InstallOptionalHaikuImagePackage
746			jamvm-1.5.4-r1a3-x86-gcc4-2011-06-08.zip
747			: $(baseURL)/jamvm-1.5.4-r1a3-x86-gcc4-2011-06-08.zip ;
748		AddSymlinkToHaikuImage common bin : /boot/common/bin/jamvm : java ;
749		InstallOptionalHaikuImagePackage
750			ecj-3.6.2-haiku-2011-06-08.zip
751			: $(baseURL)/ecj-3.6.2-haiku-2011-06-08.zip ;
752	}
753}
754
755
756# DevelopmentMin
757if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] && $(TARGET_ARCH) = x86 {
758	if ! ( $(HAIKU_GCC_VERSION[1]) in 2 4 ) {
759		Exit "Optional package DevelopmentMin: Unsupported GCC version:"
760			$(HAIKU_GCC_VERSION[1]) ;
761	}
762
763	local arch = $(TARGET_ARCH) ;
764	local abi = gcc$(HAIKU_GCC_VERSION[1]) ;
765	local abiDirTokens = develop abi $(arch) $(abi) ;
766
767	# glue code
768	AddFilesToHaikuHybridImage $(abiDirTokens) lib :
769		<src!system!glue!arch!$(arch)>crti.o
770		<src!system!glue!arch!$(arch)>crtn.o
771		<src!system!glue>init_term_dyn.o
772		<src!system!glue>start_dyn.o
773		<src!system!glue>haiku_version_glue.o
774	;
775
776	# kernel
777	AddFilesToHaikuHybridImage $(abiDirTokens) lib : kernel.so : _KERNEL_ ;
778
779	# additional libraries
780	local developmentLibs = <revisioned>libroot_debug.so ;
781	AddFilesToHaikuHybridImage system lib : $(developmentLibs) : : true ;
782
783	# library symlinks
784	local lib ;
785	for lib in $(SYSTEM_LIBS) $(SYSTEM_LIBS_LIBGL_ALIASES) $(developmentLibs)
786		$(OPTIONAL_LIBS_ALIASES) {
787		AddSymlinkToHaikuHybridImage $(abiDirTokens) lib
788			: /system/lib $(lib:BS) : : true ;
789		local abiVersion = [ on $(lib) return $(HAIKU_LIB_ABI_VERSION) ] ;
790		if $(abiVersion) {
791			local abiVersionedLib = $(lib:BS).$(abiVersion) ;
792			AddSymlinkToHaikuHybridImage $(abiDirTokens) lib
793				: /system/lib $(abiVersionedLib) : : true ;
794		}
795	}
796
797	# static libraries
798	AddFilesToHaikuHybridImage $(abiDirTokens) lib : libncurses.a ;
799	AddFilesToHaikuHybridImage $(abiDirTokens) lib : liblocalestub.a ;
800
801	# the POSIX error code mapper library
802	AddFilesToHaikuHybridImage $(abiDirTokens) lib : libposix_error_mapper.a ;
803
804	# symlinks for ABI abstraction
805	AddSymlinkToHaikuImage develop abi : $(arch)/$(abi) : current ;
806	AddSymlinkToHaikuImage develop lib : /boot/develop/abi/$(arch)/$(abi)/lib
807		: $(arch) ;
808	AddSymlinkToHaikuImage develop tools
809		: /boot/develop/abi/current/tools/current : gnupro ;
810	AddSymlinkToHaikuImage develop headers
811		: /boot/develop/abi/current/headers/cpp ;
812	AddSymlinkToHaikuHybridImage $(abiDirTokens) library-paths
813		: /boot/common/lib : common : true ;
814	AddSymlinkToHaikuHybridImage $(abiDirTokens) library-paths
815		: /boot/home/config/lib : home : true ;
816
817	# ABI independent stuff
818
819	# scripts: cc and c++ wrapper, freetype-config, setgcc
820	local scripts = cc c++ freetype-config setgcc ;
821	SEARCH on $(scripts) = [ FDirName $(HAIKU_TOP) data bin ] ;
822	AddFilesToHaikuImage system bin : $(scripts) ;
823
824	# skeleton makefile and makefile-engine
825	local makefileEngineFiles =
826		<makefile-engine>makefile
827		<makefile-engine>makefile-engine
828	;
829	SEARCH on $(makefileEngineFiles)
830		= [ FDirName $(HAIKU_TOP) data develop ] ;
831	AddFilesToHaikuImage develop etc : $(makefileEngineFiles) ;
832
833	# headers
834	AddHeaderDirectoryToHaikuImage config ;
835	AddHeaderDirectoryToHaikuImage glibc ;
836	AddHeaderDirectoryToHaikuImage os ;
837	AddHeaderDirectoryToHaikuImage posix ;
838
839	# create be -> os symlink for now
840	AddSymlinkToHaikuImage develop headers : os : be ;
841
842	# BSD and GNU compatibility headers
843	AddHeaderDirectoryToHaikuImage compatibility bsd : bsd ;
844	AddHeaderDirectoryToHaikuImage compatibility gnu : gnu ;
845
846	# third party libs headers
847	AddHeaderDirectoryToHaikuImage libs ncurses : 3rdparty ;
848	AddHeaderDirectoryToHaikuImage libs termcap : 3rdparty ;
849	AddHeaderDirectoryToHaikuImage libs tiff : 3rdparty ;
850
851	CopyDirectoryToHaikuImage develop headers :
852		[ FDirName $(HAIKU_FREETYPE_DIR) develop headers 3rdparty ] ;
853	CopyDirectoryToHaikuImage develop headers : $(HAIKU_JPEG_HEADERS)
854		: 3rdparty ;
855	CopyDirectoryToHaikuImage develop headers : $(HAIKU_LIBPNG_HEADERS)
856		: 3rdparty ;
857	CopyDirectoryToHaikuImage develop headers : $(HAIKU_ZLIB_HEADERS)
858		: 3rdparty ;
859
860	# cpp headers
861	if $(HAIKU_GCC_VERSION[1]) = 2 {
862		# GCC 2 only -- for GCC 4 they come with the DevelopmentBase package
863		CopyDirectoryToHaikuImage $(abiDirTokens) headers
864			: [ FDirName $(HAIKU_TOP) headers cpp ] ;
865		CopyDirectoryToAlternativeGCCArchive $(abiDirTokens) headers
866			: [ FDirName $(HAIKU_TOP) headers cpp ] ;
867	}
868}
869
870
871# DevelopmentPowerPC
872if [ IsOptionalHaikuImagePackageAdded DevelopmentPowerPC ] {
873	if $(TARGET_ARCH) != x86 {
874		Echo "No optional package DevelopmentPowerPC available for $(TARGET_ARCH)" ;
875	} else if $(HAIKU_GCC_VERSION[1]) < 4 && ! $(isHybridBuild) {
876		Echo "No optional package DevelopmentPowerPC available for gcc2" ;
877	} else {
878		InstallOptionalHaikuImagePackage
879			gcc-ppc-4.6.2-x86-gcc4-2012-03-17.zip
880			: $(baseURL)/gcc-ppc-4.6.2-x86-gcc4-2012-03-17.zip ;
881		InstallOptionalHaikuImagePackage
882			haiku-devlibs-ppc-gcc4-2012-03-18.zip
883			: $(baseURL)/haiku-devlibs-ppc-gcc4-2012-03-18.zip ;
884	}
885
886}
887
888
889# DMIDecode
890if [ IsOptionalHaikuImagePackageAdded DMIDecode ] {
891	if $(TARGET_ARCH) != x86 {
892		Echo "No optional package DMIDecode available for $(TARGET_ARCH)" ;
893	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
894		InstallOptionalHaikuImagePackage
895			dmidecode-2.11-r1a4-x86-gcc4-2012-09-04.zip
896			: $(baseURL)/dmidecode-2.11-r1a4-x86-gcc4-2012-09-04.zip ;
897	} else {
898		InstallOptionalHaikuImagePackage
899			dmidecode-2.11-r1a4-x86-gcc2-2012-09-03.zip
900			: $(baseURL)/dmidecode-2.11-r1a4-x86-gcc2-2012-09-03.zip ;
901	}
902}
903
904
905# Doxygen
906if [ IsOptionalHaikuImagePackageAdded Doxygen ] {
907	if $(TARGET_ARCH) != x86 {
908		Echo "No optional package Doxygen available for $(TARGET_ARCH)" ;
909	} else {
910		if $(HAIKU_GCC_VERSION[1]) >= 4 {
911			InstallOptionalHaikuImagePackage
912				doxygen-1.6.3-r1a4-x86-gcc4-2012-09-04.zip
913				: $(baseURL)/doxygen-1.6.3-r1a4-x86-gcc4-2012-09-04.zip
914				: : true ;
915		} else {
916			InstallOptionalHaikuImagePackage
917				doxygen-1.6.3-r1a4-x86-gcc2-2012-09-05.zip
918				: $(baseURL)/doxygen-1.6.3-r1a4-x86-gcc2-2012-09-05.zip
919				: : true ;
920		}
921	}
922}
923
924
925# Droid
926if [ IsOptionalHaikuImagePackageAdded Droid ] {
927	InstallOptionalHaikuImagePackage
928		droid-113-r1a4-x86-gcc2-2012-08-27.zip
929		: $(baseURL)/droid-113-r1a4-x86-gcc2-2012-08-27.zip ;
930}
931
932
933# Expat
934if [ IsOptionalHaikuImagePackageAdded Expat ] {
935	if $(TARGET_ARCH) != x86 {
936		Echo "No optional package Expat available for $(TARGET_ARCH)" ;
937	} else {
938		if $(HAIKU_GCC_VERSION[1]) >= 4 {
939			InstallOptionalHaikuImagePackage
940				expat-2.0.1-r1a4-x86-gcc4-2012-08-30.zip
941				: $(baseURL)/expat-2.0.1-r1a4-x86-gcc4-2012-08-30.zip
942				: : true ;
943		} else {
944			InstallOptionalHaikuImagePackage
945				expat-2.0.1-r1a4-x86-gcc2-2012-08-28.zip
946				: $(baseURL)/expat-2.0.1-r1a4-x86-gcc2-2012-08-28.zip
947				: : true ;
948		}
949	}
950}
951
952
953# Fastdep
954if [ IsOptionalHaikuImagePackageAdded Fastdep ] {
955	if $(TARGET_ARCH) != x86 {
956		Echo "No optional package Fastdep available for $(TARGET_ARCH)" ;
957	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
958		InstallOptionalHaikuImagePackage
959			fastdep-0.16-r1a4-x86-gcc4-2012-08-30.zip
960			: $(baseURL)/fastdep-0.16-r1a4-x86-gcc4-2012-08-30.zip ;
961	} else {
962		InstallOptionalHaikuImagePackage
963			fastdep-0.16-r1a4-x86-gcc2-2012-08-28.zip
964			: $(baseURL)/fastdep-0.16-r1a4-x86-gcc2-2012-08-28.zip ;
965	}
966}
967
968
969# friss
970if [ IsOptionalHaikuImagePackageAdded friss ] {
971	if $(TARGET_ARCH) != x86 {
972		Echo "No optional package friss available for $(TARGET_ARCH)" ;
973	} else {
974		if $(HAIKU_GCC_VERSION[1]) >= 4 {
975			InstallOptionalHaikuImagePackage
976				friss-33-r1a4-x86-gcc4-2012-11-06.zip
977				: $(baseURL)/friss-33-r1a4-x86-gcc4-2012-11-06.zip ;
978		} else {
979			InstallOptionalHaikuImagePackage
980				friss-33-r1a4-x86-gcc2-2012-11-06.zip
981				: $(baseURL)/friss-33-r1a4-x86-gcc2-2012-11-06.zip ;
982		}
983#		AddSymlinkToHaikuImage home config settings deskbar Desktop\ applets
984#			: /boot/apps/FRiSS/FRiSS ;
985	}
986}
987
988
989# GetText
990if [ IsOptionalHaikuImagePackageAdded GetText ] {
991	if $(TARGET_ARCH) != x86 {
992		Echo "No optional package GetText available for $(TARGET_ARCH)" ;
993	} else {
994		if $(HAIKU_GCC_VERSION[1]) >= 4 {
995			InstallOptionalHaikuImagePackage
996				gettext-0.18.1.1-r1a4-x86-gcc4-2012-08-30.zip
997				: $(baseURL)/gettext-0.18.1.1-r1a4-x86-gcc4-2012-08-30.zip
998				: : true ;
999		} else {
1000			InstallOptionalHaikuImagePackage
1001				gettext-0.18.1.1-r1a4-x86-gcc2-2012-08-28.zip
1002				: $(baseURL)/gettext-0.18.1.1-r1a4-x86-gcc2-2012-08-28.zip
1003				: : true ;
1004		}
1005	}
1006}
1007
1008
1009# Git
1010if [ IsOptionalHaikuImagePackageAdded Git ] {
1011	if $(TARGET_ARCH) != x86 {
1012		Echo "No optional package Git available for $(TARGET_ARCH)" ;
1013	} else {
1014		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1015			InstallOptionalHaikuImagePackage
1016				git-1.7.10.2-r1a4-x86-gcc4-2012-08-30.zip
1017				: $(baseURL)/git-1.7.10.2-r1a4-x86-gcc4-2012-08-30.zip
1018				: : true ;
1019		} else {
1020			InstallOptionalHaikuImagePackage
1021				git-1.7.10.2-r1a4-x86-gcc2-2012-08-28.zip
1022				: $(baseURL)/git-1.7.10.2-r1a4-x86-gcc2-2012-08-28.zip
1023				: : true ;
1024		}
1025	}
1026}
1027
1028
1029# GitDoc
1030if [ IsOptionalHaikuImagePackageAdded GitDoc ] {
1031	if $(TARGET_ARCH) != x86 {
1032		Echo "No optional package GitDoc available for $(TARGET_ARCH)" ;
1033	} else {
1034		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1035			InstallOptionalHaikuImagePackage
1036				gitdoc-1.7.10.2-r1a4-x86-gcc4-2012-09-03.zip
1037				: $(baseURL)/gitdoc-1.7.10.2-r1a4-x86-gcc4-2012-09-03.zip
1038				: : true ;
1039		} else {
1040			InstallOptionalHaikuImagePackage
1041				gitdoc-1.7.10.2-r1a4-x86-gcc2-2012-08-28.zip
1042				: $(baseURL)/gitdoc-1.7.10.2-r1a4-x86-gcc2-2012-08-28.zip
1043				: : true ;
1044		}
1045	}
1046}
1047
1048
1049# GPerf
1050if [ IsOptionalHaikuImagePackageAdded GPerf ] {
1051	if $(TARGET_ARCH) != x86 {
1052		Echo "No optional package GPerf available for $(TARGET_ARCH)" ;
1053	} else {
1054		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1055			InstallOptionalHaikuImagePackage
1056				gperf-3.0.4-r1a4-x86-gcc4-2012-08-30.zip
1057				: $(baseURL)/gperf-3.0.4-r1a4-x86-gcc4-2012-08-30.zip
1058				: : true ;
1059		} else {
1060			InstallOptionalHaikuImagePackage
1061				gperf-3.0.4-r1a4-x86-gcc2-2012-08-28.zip
1062				: $(baseURL)/gperf-3.0.4-r1a4-x86-gcc2-2012-08-28.zip
1063				: : true ;
1064		}
1065	}
1066}
1067
1068
1069# Groff
1070if [ IsOptionalHaikuImagePackageAdded Groff ] {
1071	if $(TARGET_ARCH) != x86 {
1072		Echo "No optional package Groff available for $(TARGET_ARCH)" ;
1073	} else {
1074		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1075			InstallOptionalHaikuImagePackage
1076				groff-1.20.1-r1a4-x86-gcc4-2012-08-30.zip
1077				: $(baseURL)/groff-1.20.1-r1a4-x86-gcc4-2012-08-30.zip
1078				: : true ;
1079		} else {
1080			InstallOptionalHaikuImagePackage
1081				 groff-1.20.1-r1a4-x86-gcc2-2012-08-28.zip
1082				: $(baseURL)/groff-1.20.1-r1a4-x86-gcc2-2012-08-28.zip
1083				: : true ;
1084		}
1085	}
1086}
1087
1088
1089# HGgrep
1090if [ IsOptionalHaikuImagePackageAdded HGrep ] {
1091	if $(TARGET_ARCH) != x86 {
1092		Echo "No optional package HGrep available for $(TARGET_ARCH)" ;
1093	} else {
1094		InstallOptionalHaikuImagePackage
1095			hgrep-1.0.1-x86-gcc2-2012-07-23.zip
1096			: $(baseURL)/hgrep-1.0.1-x86-gcc2-2012-07-23.zip ;
1097	}
1098}
1099
1100
1101# ICU
1102if [ IsOptionalHaikuImagePackageAdded ICU ] {
1103	if $(TARGET_ARCH) = x86 {
1104		if $(HAIKU_GCC_VERSION[1]) = 2 {
1105			# unzip gcc2
1106			InstallOptionalHaikuImagePackage $(HAIKU_ICU_GCC_2_PACKAGE)
1107				: $(baseURL)/$(HAIKU_ICU_GCC_2_PACKAGE)
1108				: system lib ;
1109			if $(isHybridBuild) {
1110				# unzip gcc4 to gcc4 subdir
1111				InstallOptionalHaikuImagePackage $(HAIKU_ICU_GCC_4_PACKAGE)
1112					: $(baseURL)/$(HAIKU_ICU_GCC_4_PACKAGE)
1113					: system lib gcc4 ;
1114			}
1115		} else {
1116			# unzip gcc4
1117			InstallOptionalHaikuImagePackage $(HAIKU_ICU_GCC_4_PACKAGE)
1118				: $(baseURL)/$(HAIKU_ICU_GCC_4_PACKAGE)
1119				: system lib ;
1120			if $(isHybridBuild) {
1121				# unzip gcc2 to gcc2 subdir
1122				InstallOptionalHaikuImagePackage $(HAIKU_ICU_GCC_2_PACKAGE)
1123					: $(baseURL)/$(HAIKU_ICU_GCC_2_PACKAGE)
1124					: system lib gcc2 ;
1125			}
1126		}
1127	} else if $(TARGET_ARCH) = arm {
1128		InstallOptionalHaikuImagePackage $(HAIKU_ICU_ARM_PACKAGE)
1129			: $(baseURL)/(HAIKU_ICU_ARM_PACKAGE)
1130			: system lib ;
1131	} else {
1132		Echo "No optional package ICU available for $(TARGET_ARCH)" ;
1133	}
1134}
1135
1136
1137# ICU-devel
1138if [ IsOptionalHaikuImagePackageAdded ICU-devel ] {
1139	InstallOptionalHaikuImagePackage $(HAIKU_ICU_DEVEL_PACKAGE)
1140		: $(baseURL)/$(HAIKU_ICU_DEVEL_PACKAGE) ;
1141
1142	local arch = $(TARGET_ARCH) ;
1143	local abi = gcc$(HAIKU_GCC_VERSION[1]) ;
1144	local lib ;
1145	for abiVersionedLib in $(HAIKU_ICU_LIBS) {
1146		abiVersionedLib = $(abiVersionedLib:B:G=) ;
1147		lib = $(abiVersionedLib:B) ;
1148		while $(lib:S) != ".so" {
1149			abiVersionedLib = $(abiVersionedLib:B) ;
1150			lib = $(abiVersionedLib:B) ;
1151		}
1152		AddSymlinkToHaikuHybridImage develop abi $(arch) $(abi) lib
1153			: /system/lib $(abiVersionedLib) : : true ;
1154		AddSymlinkToHaikuHybridImage develop abi $(arch) $(abi) lib
1155			: $(abiVersionedLib) : $(lib) ;
1156	}
1157}
1158
1159
1160# KeymapSwitcher
1161if [ IsOptionalHaikuImagePackageAdded KeymapSwitcher ] {
1162	if $(TARGET_ARCH) != x86 {
1163		Echo "No optional package KeymapSwitcher available for $(TARGET_ARCH)" ;
1164	} else {
1165		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1166			InstallOptionalHaikuImagePackage
1167				KeymapSwitcher-1.2.7-r1a4-x86-gcc4-2012-11-01.zip
1168				: $(baseURL)/KeymapSwitcher-1.2.7-r1a4-x86-gcc4-2012-11-01.zip
1169				: : : false ;
1170		} else {
1171			InstallOptionalHaikuImagePackage
1172				KeymapSwitcher-1.2.7-r1a4-x86-gcc2-2012-11-01.zip
1173				: $(baseURL)/KeymapSwitcher-1.2.7-r1a4-x86-gcc2-2012-11-01.zip
1174				: : : false ;
1175		}
1176		AddSymlinkToHaikuImage home config settings deskbar Preferences
1177			: /boot/common/bin/KeymapSwitcher ;
1178	}
1179}
1180
1181
1182# LGrep
1183if [ IsOptionalHaikuImagePackageAdded LGrep ] {
1184	if $(TARGET_ARCH) != x86 {
1185		Echo "No optional package LGrep available for $(TARGET_ARCH)" ;
1186	} else {
1187		InstallOptionalHaikuImagePackage
1188			lgrep-1.0-x86-gcc2-2012-07-23.zip
1189			: $(baseURL)/lgrep-1.0-x86-gcc2-2012-07-23.zip ;
1190	}
1191}
1192
1193
1194# LibEvent
1195if [ IsOptionalHaikuImagePackageAdded LibEvent ] {
1196	if $(TARGET_ARCH) != x86 {
1197		Echo "No optional package LibEvent available for $(TARGET_ARCH)" ;
1198	} else {
1199		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1200			InstallOptionalHaikuImagePackage
1201				libevent-2.0.10-r1a4-x86-gcc4-2012-08-30.zip
1202				: $(baseURL)/libevent-2.0.10-r1a4-x86-gcc4-2012-08-30.zip
1203				: : true ;
1204		} else {
1205			InstallOptionalHaikuImagePackage
1206				libevent-2.0.10-r1a4-x86-gcc2-2012-08-28.zip
1207				: $(baseURL)/libevent-2.0.10-r1a4-x86-gcc2-2012-08-28.zip
1208				: : true ;
1209		}
1210	}
1211}
1212
1213
1214# LibIconv
1215if [ IsOptionalHaikuImagePackageAdded LibIconv ] {
1216	if $(TARGET_ARCH) != x86 {
1217		Echo "No optional package LibIconv available for $(TARGET_ARCH)" ;
1218	} else {
1219		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1220			InstallOptionalHaikuImagePackage
1221				libiconv-1.13.1-r1a4-x86-gcc4-2012-08-30.zip
1222				: $(baseURL)/libiconv-1.13.1-r1a4-x86-gcc4-2012-08-30.zip ;
1223		} else {
1224			InstallOptionalHaikuImagePackage
1225				libiconv-1.13.1-r1a4-x86-gcc2-2012-08-28.zip
1226				: $(baseURL)/libiconv-1.13.1-r1a4-x86-gcc2-2012-08-28.zip ;
1227		}
1228	}
1229}
1230
1231
1232# LibLayout library
1233if [ IsOptionalHaikuImagePackageAdded LibLayout ] {
1234	if $(TARGET_ARCH) != x86 {
1235		Echo "No optional package LibLayout available for $(TARGET_ARCH)" ;
1236	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
1237		InstallOptionalHaikuImagePackage liblayout-1.4.1-r1a4-x86-gcc4-2012-08-30.zip
1238			: $(baseURL)/liblayout-1.4.1-r1a4-x86-gcc4-2012-08-30.zip ;
1239	} else {
1240		InstallOptionalHaikuImagePackage liblayout-1.4.0-gcc2-2009-03-08.zip
1241			: $(baseURL)/liblayout-1.4.0-gcc2-2009-03-08.zip ;
1242	}
1243}
1244
1245
1246# Libmng library
1247if [ IsOptionalHaikuImagePackageAdded Libmng ] {
1248	if $(TARGET_ARCH) != x86 {
1249		Echo "No optional package Libmng available for $(TARGET_ARCH)" ;
1250	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
1251		InstallOptionalHaikuImagePackage
1252			libmng-1.0.10-r1a4-x86-gcc4-2012-09-02.zip
1253			: $(baseURL)/lib/libmng-1.0.10-r1a4-x86-gcc4-2012-09-02.zip ;
1254	} else {
1255		InstallOptionalHaikuImagePackage
1256			libmng-1.0.10-r1a4-x86-gcc2-2012-08-28.zip
1257			: $(baseURL)/lib/libmng-1.0.10-r1a4-x86-gcc2-2012-08-28.zip ;
1258	}
1259}
1260
1261
1262# LibXML2
1263if [ IsOptionalHaikuImagePackageAdded LibXML2 ] {
1264	if $(TARGET_ARCH) != x86 {
1265		Echo "No optional package LibXML2 available for $(TARGET_ARCH)" ;
1266	} else {
1267		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1268			InstallOptionalHaikuImagePackage
1269				libxml2-2.8.0-r1a4-x86-gcc4-2012-08-28.zip
1270				: $(baseURL)/libxml2-2.8.0-r1a4-x86-gcc4-2012-08-28.zip ;
1271		} else {
1272			InstallOptionalHaikuImagePackage
1273				libxml2-2.8.0-r1a4-x86-gcc2-2012-08-30.zip
1274				: $(baseURL)/libxml2-2.8.0-r1a4-x86-gcc2-2012-08-30.zip ;
1275		}
1276	}
1277}
1278
1279
1280# LibXSLT
1281if [ IsOptionalHaikuImagePackageAdded LibXSLT ] {
1282	if $(TARGET_ARCH) != x86 {
1283		Echo "No optional package LibXSLT available for $(TARGET_ARCH)" ;
1284	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
1285		InstallOptionalHaikuImagePackage
1286			libxslt-1.1.26-r1a4-x86-gcc4-2012-08-29.zip
1287			: $(baseURL)/libxslt-1.1.26-r1a4-x86-gcc4-2012-08-29.zip ;
1288	} else {
1289		InstallOptionalHaikuImagePackage
1290			libxslt-1.1.26-r1a4-x86-gcc2-2012-08-28.zip
1291			: $(baseURL)/libxslt-1.1.26-r1a4-x86-gcc2-2012-08-28.zip
1292			: : true ;
1293	}
1294}
1295
1296
1297# Links web browser
1298if [ IsOptionalHaikuImagePackageAdded Links ] {
1299	if $(TARGET_ARCH) != x86 {
1300		Echo "No optional package Links available for $(TARGET_ARCH)" ;
1301	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
1302		InstallOptionalHaikuImagePackage
1303			links-2.3pre2-r1a4-x86-gcc4-2012-09-09.zip
1304			: $(baseURL)/links-2.3pre2-r1a4-x86-gcc4-2012-09-09.zip ;
1305		AddSymlinkToHaikuImage home config settings deskbar Applications
1306			: /boot/home/config/bin/links ;
1307	} else {
1308		InstallOptionalHaikuImagePackage
1309			links-2.3pre2-r1a4-x86-gcc2-2012-08-30.zip
1310			: $(baseURL)/links-2.3pre2-r1a4-x86-gcc2-2012-08-30.zip ;
1311		AddSymlinkToHaikuImage home config settings deskbar Applications
1312			: /boot/home/config/bin/links ;
1313	}
1314}
1315
1316
1317# Lua
1318if [ IsOptionalHaikuImagePackageAdded Lua ] {
1319	if $(TARGET_ARCH) != x86 {
1320		Echo "No optional package Lua available for $(TARGET_ARCH)" ;
1321	} else {
1322		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1323			InstallOptionalHaikuImagePackage
1324				lua-5.1.4-3-r1a4-x86-gcc4-2012-09-01.zip
1325				: $(baseURL)/lua-5.1.4-3-r1a4-x86-gcc4-2012-09-01.zip
1326				: : true ;
1327		} else {
1328			InstallOptionalHaikuImagePackage
1329				lua-5.1.4-3-r1a4-x86-gcc2-2012-09-01.zip
1330				: $(baseURL)/lua-5.1.4-3-r1a4-x86-gcc2-2012-09-01.zip
1331				: : true ;
1332		}
1333	}
1334}
1335
1336
1337# Man
1338if [ IsOptionalHaikuImagePackageAdded Man ] {
1339	if $(TARGET_ARCH) != x86 {
1340		Echo "No optional package Man available for $(TARGET_ARCH)" ;
1341	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
1342		InstallOptionalHaikuImagePackage
1343			 man-1.6g-r1a4-x86-gcc4-2012-08-30.zip
1344			: $(baseURL)/man-1.6g-r1a4-x86-gcc4-2012-08-30.zip ;
1345	} else {
1346		InstallOptionalHaikuImagePackage
1347			 man-1.6g-r1a4-x86-gcc2-2012-08-28.zip
1348			: $(baseURL)/man-1.6g-r1a4-x86-gcc2-2012-08-28.zip ;
1349	}
1350}
1351
1352
1353# MandatoryPackages
1354if [ IsOptionalHaikuImagePackageAdded MandatoryPackages ] {
1355	# Pseudo package for grouping packages, which are added to all images.
1356}
1357
1358
1359# Mercurial
1360if [ IsOptionalHaikuImagePackageAdded Mercurial ] {
1361	if $(TARGET_ARCH) != x86 {
1362		Echo "No optional package Mercurial available for $(TARGET_ARCH)" ;
1363	} else {
1364		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1365			InstallOptionalHaikuImagePackage
1366				mercurial-2.2.2-r1a4-x86-gcc4-2012-08-30.zip
1367				: $(baseURL)/mercurial-2.2.2-r1a4-x86-gcc4-2012-08-30.zip
1368				: : true ;
1369		} else {
1370			InstallOptionalHaikuImagePackage
1371				mercurial-2.2.2-r1a4-x86-gcc2-2012-08-27.zip
1372				: $(baseURL)/mercurial-2.2.2-r1a4-x86-gcc2-2012-08-27.zip
1373				: : true ;
1374		}
1375	}
1376}
1377
1378
1379# Nano
1380if [ IsOptionalHaikuImagePackageAdded Nano ] {
1381	if $(TARGET_ARCH) != x86 {
1382		Echo "No optional package Nano available for $(TARGET_ARCH)" ;
1383	} else {
1384		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1385			InstallOptionalHaikuImagePackage
1386				nano-2.2.6-r1a4-x86-gcc4-2012-08-30.zip
1387				: $(baseURL)/nano-2.2.6-r1a4-x86-gcc4-2012-08-30.zip ;
1388		} else {
1389			InstallOptionalHaikuImagePackage
1390				nano-2.2.6-r1a4-x86-gcc2-2012-08-28.zip
1391				: $(baseURL)/nano-2.2.6-r1a4-x86-gcc2-2012-08-28.zip ;
1392		}
1393	}
1394}
1395
1396
1397# Nanumfont
1398if [ IsOptionalHaikuImagePackageAdded Nanumfont ] {
1399	InstallOptionalHaikuImagePackage
1400		nanumfont-2.0-r1a4-x86-gcc2-2012-09-12.zip
1401		: $(baseURL)/nanumfont-2.0-r1a4-x86-gcc2-2012-09-12.zip ;
1402}
1403
1404
1405# Neon
1406if [ IsOptionalHaikuImagePackageAdded Neon ] {
1407	if $(TARGET_ARCH) != x86 {
1408		Echo "No optional package Neon available for $(TARGET_ARCH)" ;
1409	} else {
1410		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1411			InstallOptionalHaikuImagePackage
1412				neon-0.29.6-r1a4-x86-gcc4-2012-08-29.zip
1413				: $(baseURL)/neon-0.29.6-r1a4-x86-gcc4-2012-08-29.zip ;
1414		} else {
1415			InstallOptionalHaikuImagePackage
1416				neon-0.29.6-r1a4-x86-gcc2-2012-08-28.zip
1417				: $(baseURL)/neon-0.29.6-r1a4-x86-gcc2-2012-08-28.zip ;
1418		}
1419	}
1420}
1421
1422
1423# NetFS network file system
1424if [ IsOptionalHaikuImagePackageAdded NetFS ] {
1425	# userlandfs module
1426	AddFilesToHaikuImage home config add-ons userlandfs : netfs ;
1427
1428	# servers
1429	AddFilesToHaikuImage system servers : netfs_server ;
1430	AddFilesToHaikuImage system servers : authentication_server ;
1431
1432	# tools
1433	AddFilesToHaikuImage system bin : netfs_config ;
1434	AddFilesToHaikuImage system bin : netfs_server_prefs ;
1435
1436	#example settings for netfs_server
1437	local netfsServerSettingsFiles = <driver-settings>netfs-server ;
1438	SEARCH on $(netfsServerSettingsFiles)
1439		= [ FDirName $(HAIKU_TOP) src add-ons kernel file_systems netfs ] ;
1440	AddFilesToHaikuImage home config settings kernel drivers
1441	: $(netfsServerSettingsFiles) ;
1442
1443	#userlandfs settings are needed for netfs_config to work (ioctls)
1444	local userlandfsServerSettingsFiles = <driver-settings>userlandfs ;
1445	SEARCH on $(userlandfsServerSettingsFiles)
1446		= [ FDirName $(HAIKU_TOP) src add-ons kernel file_systems userlandfs ] ;
1447	AddFilesToHaikuImage home config settings kernel drivers
1448	: $(userlandfsServerSettingsFiles) ;
1449}
1450
1451
1452# NetSurf web browser
1453if [ IsOptionalHaikuImagePackageAdded NetSurf ] {
1454	if $(TARGET_ARCH) != x86 {
1455		Echo "No optional package NetSurf available for $(TARGET_ARCH)" ;
1456	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) {
1457		Echo "No optional package NetSurf available for gcc4" ;
1458	} else {
1459		InstallOptionalHaikuImagePackage
1460			netsurf-2.7-r1a3-x86-gcc2-2011-06-04.zip
1461			: $(baseURL)/netsurf-2.7-r1a3-x86-gcc2-2011-06-04.zip ;
1462		AddSymlinkToHaikuImage home config settings deskbar Applications
1463			: /boot/apps/NetSurf/NetSurf ;
1464	}
1465}
1466
1467
1468# OCaml
1469if [ IsOptionalHaikuImagePackageAdded OCaml ] {
1470	if $(TARGET_ARCH) != x86 {
1471		Echo "No optional package OCaml available for $(TARGET_ARCH)" ;
1472	} else {
1473		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1474			InstallOptionalHaikuImagePackage
1475				ocaml-4.00.0-r1a4-x86-gcc4-2012-09-30.zip
1476				: $(baseURL)/ocaml-4.00.0-r1a4-x86-gcc4-2012-09-30.zip ;
1477			InstallOptionalHaikuImagePackage
1478				camlp5-6.06-r1a4-x86-gcc4-2012-09-30.zip
1479				: $(baseURL)/camlp5-6.06-r1a4-x86-gcc4-2012-09-30.zip ;
1480		} else {
1481			InstallOptionalHaikuImagePackage
1482				ocaml-4.00.0-r1a4-x86-gcc2-2012-09-27.zip
1483				: $(baseURL)/ocaml-4.00.0-r1a4-x86-gcc2-2012-09-27.zip ;
1484			InstallOptionalHaikuImagePackage
1485				camlp5-6.06-r1a4-x86-gcc2-2012-09-27.zip
1486				: $(baseURL)/camlp5-6.06-r1a4-x86-gcc2-2012-09-27.zip ;
1487		}
1488	}
1489}
1490
1491
1492# OpenSound drivers
1493if [ IsOptionalHaikuImagePackageAdded OpenSound ] {
1494	if $(TARGET_ARCH) != x86 {
1495		Echo "No optional package OpenSound available for $(TARGET_ARCH)" ;
1496	} else {
1497		InstallOptionalHaikuImagePackage
1498			opensound-4.2-r1a2-x86-gcc2-2010-05-01.zip
1499			: $(baseURL)/opensound-4.2-r1a2-x86-gcc2-2010-05-01.zip ;
1500	}
1501}
1502
1503
1504# OpenSSH
1505if [ IsOptionalHaikuImagePackageAdded OpenSSH ] {
1506	if $(TARGET_ARCH) != x86 {
1507		Echo "No optional package OpenSSH available for $(TARGET_ARCH)" ;
1508	} else {
1509		if ! $(HAIKU_IMAGE_HOST_NAME) && ! $(HAIKU_IGNORE_USER_BUILD_CONFIG) {
1510			Exit "Optional package OpenSSH requires the HAIKU_IMAGE_HOST_NAME"
1511				"variable to be set!" ;
1512		}
1513
1514		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1515			InstallOptionalHaikuImagePackage
1516				openssh-6.0p1-r1a4-x86-gcc4-2012-09-29.zip
1517				: $(baseURL)/openssh-6.0p1-r1a4-x86-gcc4-2012-09-29.zip ;
1518		} else {
1519			InstallOptionalHaikuImagePackage
1520				openssh-6.0p1-r1a4-x86-gcc2-2012-09-28.zip
1521				: $(baseURL)/openssh-6.0p1-r1a4-x86-gcc2-2012-09-28.zip ;
1522		}
1523
1524		AddUserToHaikuImage sshd : 1001 : 100 : /var/empty : /bin/true
1525			: "sshd user" ;
1526	}
1527}
1528
1529
1530# OpenSSL
1531if [ IsOptionalHaikuImagePackageAdded OpenSSL ] {
1532	if $(TARGET_ARCH) != x86 {
1533		Echo "No optional package OpenSSL available for $(TARGET_ARCH)" ;
1534	} else {
1535		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1536			InstallOptionalHaikuImagePackage $(HAIKU_OPENSSL_PACKAGE)
1537				: $(HAIKU_OPENSSL_URL) ;
1538		} else {
1539			InstallOptionalHaikuImagePackage $(HAIKU_OPENSSL_PACKAGE)
1540				: $(HAIKU_OPENSSL_URL) ;
1541		}
1542	}
1543}
1544
1545
1546# P7zip
1547if [ IsOptionalHaikuImagePackageAdded P7zip ] {
1548	if $(TARGET_ARCH) != x86 {
1549		Echo "No optional package P7zip available for $(TARGET_ARCH)" ;
1550	} else {
1551		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1552			InstallOptionalHaikuImagePackage
1553				p7zip-9.20.1-r1a4-x86-gcc4-2012-08-30.zip
1554				: $(baseURL)/p7zip-9.20.1-r1a4-x86-gcc4-2012-08-30.zip ;
1555		} else {
1556			InstallOptionalHaikuImagePackage
1557				p7zip-9.20.1-r1a4-x86-gcc2-2012-08-29.zip
1558				: $(baseURL)/p7zip-9.20.1-r1a4-x86-gcc2-2012-08-29.zip ;
1559		}
1560		AddExpanderRuleToHaikuImage "application/x-7z-compressed" : .7z
1561			: "7za l \\0045s"
1562			: "7za x -y \\0045s"
1563		;
1564
1565	}
1566}
1567
1568
1569# Paladin
1570if [ IsOptionalHaikuImagePackageAdded Paladin ] {
1571	if $(TARGET_ARCH) != x86 {
1572		Echo "No optional package Paladin available for $(TARGET_ARCH)" ;
1573	} else {
1574		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1575			InstallOptionalHaikuImagePackage
1576				paladin-1.3-r1a4-x86-gcc4-2012-08-30.zip
1577				: $(baseURL)/paladin-1.3-r1a4-x86-gcc4-2012-08-30.zip ;
1578		} else {
1579			InstallOptionalHaikuImagePackage
1580				paladin-1.3-r1a3-x86-gcc2-2011-05-18.zip
1581				: $(baseURL)/paladin-1.3-r1a3-x86-gcc2-2011-05-18.zip ;
1582		}
1583
1584		AddSymlinkToHaikuImage home config settings deskbar Applications
1585			: /boot/apps/Paladin/Paladin ;
1586		AddSymlinkToHaikuImage common bin
1587			: /boot/apps/Paladin/Paladin ;
1588	}
1589}
1590
1591
1592# PCRE regex engine
1593if [ IsOptionalHaikuImagePackageAdded PCRE ] {
1594	if $(TARGET_ARCH) != x86 {
1595		Echo "No optional package PCRE available for $(TARGET_ARCH)" ;
1596	} else {
1597		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1598			InstallOptionalHaikuImagePackage
1599				libpcre-8.21-r1a4-x86-gcc4-2012-09-03.zip
1600				: $(baseURL)/libpcre-8.21-r1a4-x86-gcc4-2012-09-03.zip ;
1601		} else {
1602			InstallOptionalHaikuImagePackage
1603				libpcre-8.21-r1a4-x86-gcc2-2012-08-28.zip
1604				: $(baseURL)/libpcre-8.21-r1a4-x86-gcc2-2012-08-28.zip ;
1605		}
1606	}
1607}
1608
1609
1610# Pe text editor
1611if [ IsOptionalHaikuImagePackageAdded Pe ] {
1612	if $(TARGET_ARCH) != x86 {
1613		Echo "No optional package Pe available for $(TARGET_ARCH)" ;
1614	} else {
1615		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1616			InstallOptionalHaikuImagePackage
1617				pe-2.4.3-600-x86-gcc4-2011-12-18.zip
1618				: $(baseURL)/pe-2.4.3-hg-r1a4-x86-gcc4-2012-09-04.zip ;
1619		} else {
1620			InstallOptionalHaikuImagePackage
1621				pe-2.4.3-hg-r1a4-x86-gcc2-2012-08-29.zip
1622				: $(baseURL)/pe-2.4.3-hg-r1a4-x86-gcc2-2012-08-29.zip ;
1623		}
1624		AddSymlinkToHaikuImage home config settings deskbar Applications
1625			: /boot/apps/Pe/Pe ;
1626		AddSymlinkToHaikuImage common bin
1627			: /boot/apps/Pe/lpe ;
1628	}
1629}
1630
1631
1632# Perl
1633if [ IsOptionalHaikuImagePackageAdded Perl ] {
1634	if $(TARGET_ARCH) != x86 {
1635		Echo "No optional package Perl available for $(TARGET_ARCH)" ;
1636	} else {
1637		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1638			InstallOptionalHaikuImagePackage
1639				perl-5.10.1-r1a4-x86-gcc4-2012-10-17.zip
1640				: $(baseURL)/perl-5.10.1-r1a4-x86-gcc4-2012-10-17.zip
1641				: : true ;
1642		} else {
1643			InstallOptionalHaikuImagePackage
1644				perl-5.10.1-r1a4-x86-gcc2-2012-08-27.zip
1645				: $(baseURL)/perl-5.10.1-r1a4-x86-gcc2-2012-08-27.zip
1646				: : true ;
1647		}
1648	}
1649}
1650
1651
1652# Puri
1653if [ IsOptionalHaikuImagePackageAdded Puri ] {
1654	if $(TARGET_ARCH) != x86 {
1655		Echo "No optional package Puri available for $(TARGET_ARCH)" ;
1656	} else if $(HAIKU_GCC_VERSION[1]) < 4 && ! $(isHybridBuild) {
1657		Echo "No optional package Puri for gcc2" ;
1658	} else {
1659		InstallOptionalHaikuImagePackage
1660			puri-0.3.9.1-x86-gcc4-2012-11-01.zip
1661			: $(baseURL)/puri-0.3.9.1-x86-gcc4-2012-11-01.zip ;
1662		AddSymlinkToHaikuImage home config settings deskbar Applications
1663			: /boot/apps/Puri/Puri ;
1664	}
1665}
1666
1667
1668# Python
1669if [ IsOptionalHaikuImagePackageAdded Python ] {
1670	if $(TARGET_ARCH) != x86 {
1671		Echo "No optional package Python available for $(TARGET_ARCH)" ;
1672	} else {
1673		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1674			InstallOptionalHaikuImagePackage
1675				python-2.6.8-r1a4-x86-gcc4-2012-09-03.zip
1676				: $(baseURL)/python-2.6.8-r1a4-x86-gcc4-2012-09-03.zip
1677				: : true ;
1678		} else {
1679			InstallOptionalHaikuImagePackage
1680				python-2.6.8-r1a4-x86-gcc2-2012-08-30.zip
1681				: $(baseURL)/python-2.6.8-r1a4-x86-gcc2-2012-08-30.zip
1682				: : true ;
1683		}
1684	}
1685}
1686
1687
1688# Rsync
1689if [ IsOptionalHaikuImagePackageAdded Rsync ] {
1690	if $(TARGET_ARCH) != x86 {
1691		Echo "No optional package Rsync available for $(TARGET_ARCH)" ;
1692	} else {
1693		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1694			InstallOptionalHaikuImagePackage
1695				rsync-3.0.7-r1a4-x86-gcc4-2012-09-09.zip
1696				: $(baseURL)/rsync-3.0.7-r1a4-x86-gcc4-2012-09-09.zip
1697				: : true ;
1698		} else {
1699			InstallOptionalHaikuImagePackage
1700				rsync-3.0.7-r1a4-x86-gcc2-2012-09-12.zip
1701				: $(baseURL)/rsync-3.0.7-r1a4-x86-gcc2-2012-09-12.zip
1702				: : true ;
1703		}
1704	}
1705}
1706
1707
1708# Ruby
1709if [ IsOptionalHaikuImagePackageAdded Ruby ] {
1710	if $(TARGET_ARCH) != x86 {
1711		Echo "No optional package Ruby available for $(TARGET_ARCH)" ;
1712	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
1713		InstallOptionalHaikuImagePackage
1714			ruby-1.9.1-r1a4-x86-gcc4-2012-09-10.zip
1715			: $(baseURL)/ruby-1.9.1-r1a4-x86-gcc4-2012-09-10.zip ;
1716	} else {
1717		InstallOptionalHaikuImagePackage
1718			ruby-1.9.1-r1a4-x86-gcc2-2012-09-10.zip
1719			: $(baseURL)/ruby-1.9.1-r1a4-x86-gcc2-2012-09-10.zip ;
1720	}
1721}
1722
1723
1724# Sed
1725if [ IsOptionalHaikuImagePackageAdded Sed ] {
1726	if $(TARGET_ARCH) != x86 {
1727		Echo "No optional package Sed available for $(TARGET_ARCH)" ;
1728	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
1729		InstallOptionalHaikuImagePackage
1730			sed-4.2.1-r1a4-x86-gcc4-2012-08-31.zip
1731			: $(baseURL)/sed-4.2.1-r1a4-x86-gcc4-2012-08-31.zip ;
1732	} else {
1733		InstallOptionalHaikuImagePackage
1734			sed-4.2.1-r1a4-x86-gcc2-2012-08-27.zip
1735			: $(baseURL)/sed-4.2.1-r1a4-x86-gcc2-2012-08-27.zip ;
1736	}
1737}
1738
1739
1740# SQLite
1741if [ IsOptionalHaikuImagePackageAdded SQLite ] {
1742	if $(TARGET_ARCH) != x86 {
1743		Echo "No optional package SQLite available for $(TARGET_ARCH)" ;
1744	} else {
1745		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1746			InstallOptionalHaikuImagePackage
1747				sqlite-3.7.13-r1a4-x86-gcc4-2012-08-30.zip
1748				: $(baseURL)/sqlite-3.7.13-r1a4-x86-gcc4-2012-08-30.zip ;
1749		} else {
1750			InstallOptionalHaikuImagePackage
1751				sqlite-3.7.13-r1a4-x86-gcc2-2012-08-27.zip
1752				: $(baseURL)/sqlite-3.7.13-r1a4-x86-gcc2-2012-08-27.zip ;
1753		}
1754	}
1755}
1756
1757
1758# Subversion
1759if [ IsOptionalHaikuImagePackageAdded Subversion ] {
1760	if $(TARGET_ARCH) != x86 {
1761		Echo "No optional package Subversion available for $(TARGET_ARCH)" ;
1762	} else {
1763		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1764			InstallOptionalHaikuImagePackage
1765				subversion-1.6.18-r1a4-x86-gcc4-2012-08-30.zip
1766				: $(baseURL)/subversion-1.6.18-r1a4-x86-gcc4-2012-08-30.zip
1767				: : true ;
1768		} else {
1769			InstallOptionalHaikuImagePackage
1770				subversion-1.6.18-r1a4-x86-gcc2-2012-08-28.zip
1771				: $(baseURL)/subversion-1.6.18-r1a4-x86-gcc2-2012-08-28.zip
1772				: : true ;
1773		}
1774	}
1775}
1776
1777
1778# TagLib
1779if [ IsOptionalHaikuImagePackageAdded TagLib ] {
1780	if $(TARGET_ARCH) != x86 {
1781		Echo "No optional package TagLib available for $(TARGET_ARCH)" ;
1782	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
1783		InstallOptionalHaikuImagePackage
1784			taglib-1.6.3-r1a4-x86-gcc4-2012-09-03.zip
1785			: $(baseURL)/taglib-1.6.3-r1a4-x86-gcc4-2012-09-03.zip ;
1786	} else {
1787		InstallOptionalHaikuImagePackage
1788			taglib-1.6.3-r1a4-x86-gcc2-2012-09-03.zip
1789			: $(baseURL)/taglib-1.6.3-r1a4-x86-gcc2-2012-09-03.zip ;
1790	}
1791}
1792
1793
1794# Tar
1795if [ IsOptionalHaikuImagePackageAdded Tar ] {
1796	if $(TARGET_ARCH) != x86 {
1797		Echo "No optional package Tar available for $(TARGET_ARCH)" ;
1798	} else {
1799		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1800			InstallOptionalHaikuImagePackage
1801				tar-1.26-r1a4-x86-gcc4-2012-09-03.zip
1802				: $(baseURL)/tar-1.26-r1a4-x86-gcc4-2012-09-03.zip ;
1803		} else {
1804			InstallOptionalHaikuImagePackage
1805				tar-1.26-r1a4-x86-gcc2-2012-08-29.zip
1806				: $(baseURL)/tar-1.26-r1a4-x86-gcc2-2012-08-29.zip ;
1807		}
1808	}
1809}
1810
1811
1812# TimGMSoundFont
1813if [ IsOptionalHaikuImagePackageAdded TimGMSoundFont ] {
1814	InstallOptionalHaikuImagePackage TimGMSoundFont-2010-06-16.zip
1815		: $(baseURL)/TimGMSoundFont-2010-06-16.zip ;
1816}
1817
1818
1819# TrackerNewTemplates
1820if [ IsOptionalHaikuImagePackageAdded TrackerNewTemplates ] {
1821	InstallOptionalHaikuImagePackage TrackerNewTemplates-2010-04-26.zip
1822		: $(baseURL)/TrackerNewTemplates-2010-04-26.zip
1823		: home config settings Tracker "Tracker New Templates"
1824	;
1825}
1826
1827
1828# Transmission
1829if [ IsOptionalHaikuImagePackageAdded Transmission ] {
1830	if $(TARGET_ARCH) != x86 {
1831		Echo "No optional package Transmission available for $(TARGET_ARCH)" ;
1832	} else {
1833		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1834			InstallOptionalHaikuImagePackage
1835				transmission-2.21-r1a4-x86-gcc4-2012-09-12.zip
1836				: $(baseURL)/transmission-2.21-r1a4-x86-gcc4-2012-09-12.zip
1837				: : true ;
1838		} else {
1839			InstallOptionalHaikuImagePackage
1840				transmission-2.21-r1a4-x86-gcc2-2012-09-05.zip
1841				: $(baseURL)/transmission-2.21-r1a4-x86-gcc2-2012-09-05.zip
1842				: : true ;
1843		}
1844	}
1845}
1846
1847
1848# UserlandFS
1849if [ IsOptionalHaikuImagePackageAdded UserlandFS ] {
1850	local arch = $(TARGET_ARCH) ;
1851	local abi = gcc$(HAIKU_GCC_VERSION[1]) ;
1852
1853	# kernel module
1854	AddFilesToHaikuImage system add-ons kernel file_systems : userlandfs ;
1855
1856	# server
1857	AddFilesToHaikuImage system servers : userlandfs_server ;
1858
1859	# libs
1860	local userlandfsLibs =
1861		libuserlandfs_beos_kernel.so
1862		libuserlandfs_haiku_kernel.so
1863		libuserlandfs_fuse.so
1864	;
1865	AddFilesToHaikuHybridImage system lib : $(userlandfsLibs) : : true ;
1866
1867	# development goodies
1868	if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] {
1869		if ! ( $(HAIKU_GCC_VERSION[1]) in 2 4 ) {
1870			Exit "Optional package UserlandFS: Unsupported GCC version:"
1871				$(HAIKU_GCC_VERSION[1]) ;
1872		}
1873
1874		# library symlinks
1875		local lib ;
1876		for lib in $(userlandfsLibs) {
1877			AddSymlinkToHaikuImage develop abi $(arch) $(abi) lib
1878				: /system/lib/$(lib:BS) ;
1879			AddSymlinkToAlternativeGCCArchive develop abi $(arch) $(abi) lib
1880				: /system/lib/$(arch)/$(lib:BS) ;
1881		}
1882
1883		# FUSE headers
1884		local fuseHeaders =
1885			fuse_common_compat.h
1886			fuse_common.h
1887			fuse_compat.h
1888			fuse.h
1889			fuse_lowlevel_compat.h
1890			fuse_lowlevel.h
1891			fuse_opt.h
1892		;
1893		fuseHeaders = $(fuseHeaders:G=userlandfs!fuse) ;
1894		SEARCH on $(fuseHeaders)
1895			= [ FDirName $(HAIKU_TOP) headers private userlandfs fuse ] ;
1896		AddFilesToHaikuImage develop headers userlandfs fuse : $(fuseHeaders) ;
1897	}
1898}
1899
1900
1901# Vim
1902if [ IsOptionalHaikuImagePackageAdded Vim ] {
1903	if $(TARGET_ARCH) != x86 {
1904		Echo "No optional package Vim available for $(TARGET_ARCH)" ;
1905	} else {
1906		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1907			InstallOptionalHaikuImagePackage vim-7.3-r1a4-x86-gcc4-2012-09-26.zip
1908				:  $(baseURL)/vim-7.3-r1a4-x86-gcc4-2012-09-26.zip
1909				: : true ;
1910		} else {
1911			InstallOptionalHaikuImagePackage vim-7.3-r1a4-x86-gcc2-2012-09-26.zip
1912				:  $(baseURL)/vim-7.3-r1a4-x86-gcc2-2012-09-26.zip
1913				: : true ;
1914		}
1915		AddSymlinkToHaikuImage home config settings deskbar Applications
1916			: /boot/common/bin/gvim ;
1917	}
1918}
1919
1920
1921# Vision
1922if [ IsOptionalHaikuImagePackageAdded Vision ] {
1923	if $(TARGET_ARCH) != x86 {
1924		Echo "No optional package Vision available for $(TARGET_ARCH)" ;
1925	} else {
1926		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1927			InstallOptionalHaikuImagePackage vision-908-r1a4-x86-gcc4-2012-09-04.zip
1928				: $(baseURL)/vision-908-r1a4-x86-gcc4-2012-09-04.zip ;
1929		} else {
1930			InstallOptionalHaikuImagePackage
1931				vision-908-r1a4-x86-gcc2-2012-08-29.zip
1932				: $(baseURL)/vision-908-r1a4-x86-gcc2-2012-08-29.zip ;
1933		}
1934		AddSymlinkToHaikuImage home config settings deskbar Applications
1935			: /boot/apps/Vision/Vision ;
1936	}
1937}
1938
1939
1940# WebKit
1941if [ IsOptionalHaikuImagePackageAdded WebKit ] {
1942	if $(TARGET_ARCH) != x86 {
1943		Echo "No optional package WebKit available for $(TARGET_ARCH)" ;
1944	} else if $(HAIKU_GCC_VERSION[1]) < 4 && ! $(isHybridBuild) {
1945		Echo "No optional package WebKit available for gcc2" ;
1946	} else {
1947		InstallOptionalHaikuImagePackage $(HAIKU_WEBKIT_FILE)
1948			: $(baseURL)/$(HAIKU_WEBKIT_FILE)
1949			: common ;
1950	}
1951}
1952
1953
1954# WebPositive
1955if [ IsOptionalHaikuImagePackageAdded WebPositive ] {
1956	if $(TARGET_ARCH) != x86 {
1957		Echo "No optional package WebPositive available for $(TARGET_ARCH)" ;
1958	} else if $(HAIKU_GCC_VERSION[1]) < 4 {
1959		if ! $(isHybridBuild) {
1960			Echo "No optional package WebPositive available for gcc2" ;
1961		} else {
1962			Echo "WebPositive will be compiled by gcc4 inside $(HAIKU_ALTERNATIVE_GCC_OUTPUT_DIR)" ;
1963			local catalogs = [ on WebPositive return $(HAIKU_CATALOG_FILES) ] ;
1964			if $(catalogs) {
1965				local signature = x-vnd.Haiku-WebPositive ;
1966				AddFilesToHaikuImage system data locale catalogs $(signature)
1967					: $(catalogs) ;
1968			}
1969		}
1970	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
1971		AddFilesToHaikuHybridImage apps : WebPositive ;
1972		AddSymlinkToHaikuHybridImage home config settings deskbar Applications
1973			: /boot/apps/WebPositive ;
1974	}
1975}
1976
1977
1978# WebPositiveBookmarks
1979if [ IsOptionalHaikuImagePackageAdded WebPositiveBookmarks ] {
1980	InstallOptionalHaikuImagePackage WebPositiveBookmarks-2012-02-18.zip
1981		: $(baseURL)/WebPositiveBookmarks-2012-02-18.zip
1982		: home config settings WebPositive ;
1983}
1984
1985# Welcome
1986if [ IsOptionalHaikuImagePackageAdded Welcome ] {
1987	CopyDirectoryToHaikuImage system documentation
1988		: [ FDirName $(HAIKU_TOP) docs welcome ]
1989		: welcome ;
1990	CopyDirectoryToHaikuImage system documentation
1991		: [ FDirName $(HAIKU_TOP) docs userguide ]
1992		: userguide ;
1993}
1994
1995
1996# WifiFirmwareScriptData
1997# This optional package is for people who build their own images & have wifi
1998# hardware that requires install-wifi-firmwares.sh & have no active network
1999# connection. This is not to be added to default images.
2000if [ IsOptionalHaikuImagePackageAdded WifiFirmwareScriptData ] {
2001	if $(TARGET_ARCH) != x86 {
2002		Echo "No optional package WifiFirmwareScriptData available for"
2003			$(TARGET_ARCH) ;
2004	} else {
2005		# broadcom43xx
2006		# firmware cutter
2007		local broadcomFWCutterArchive = b43-fwcutter-012.tar.bz2 ;
2008		local broadcomFWCutterURL =
2009			http://www.haiku-files.org/files/wifi-firmwares/b43/fwcutter/$(broadcomFWCutterArchive) ;
2010		local broadcomFWCutterFile = [ DownloadFile $(broadcomFWCutterArchive)
2011			: $(broadcomFWCutterURL) ] ;
2012		AddFilesToHaikuImage system data firmware broadcom43xx b43-fwcutter
2013			: $(broadcomFWCutterFile) ;
2014
2015		# headers needed to compile firmware cutter
2016		local glibcDir = [ FDirName
2017			$(HAIKU_TOP) src system libroot posix glibc ] ;
2018		local byteswapHeader = [ FDirName $(glibcDir) string byteswap.h ] ;
2019		AddFilesToHaikuImage system data firmware broadcom43xx b43-fwcutter
2020			: $(byteswapHeader) ;
2021		local bitByteswapHeader = [ FDirName
2022			$(glibcDir) include arch x86 bits byteswap.h ] ;
2023		AddFilesToHaikuImage system data firmware broadcom43xx b43-fwcutter bits
2024			: $(bitByteswapHeader) ;
2025
2026		# file containing firmware
2027		local broadcom43xxFile ;
2028		broadcom43xxFile = [ DownloadFile wl_apsta-3.130.20.0.o
2029			: http://www.haiku-files.org/files/wifi-firmwares/b43/wl_apsta-3.130.20.0.o ] ;
2030		AddFilesToHaikuImage system data firmware broadcom43xx
2031			: $(broadcom43xxFile) ;
2032
2033		# marvell88w8335
2034		local marvellArchive = malo-firmware-1.4.tgz ;
2035		local marvellURL = http://www.haiku-files.org/files/wifi-firmwares/marvell/$(marvellArchive) ;
2036		local marvellFile = [ DownloadFile $(marvellArchive) : $(marvellURL) ] ;
2037		AddFilesToHaikuImage system data firmware marvell88w8335
2038			: $(marvellFile) ;
2039	}
2040}
2041
2042
2043# WonderBrush
2044if [ IsOptionalHaikuImagePackageAdded WonderBrush ] {
2045	if $(TARGET_ARCH) != x86 {
2046		Echo "No optional package WonderBrush available for $(TARGET_ARCH)" ;
2047	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) {
2048		Echo "No optional package WonderBrush available for gcc4" ;
2049	} else {
2050		InstallOptionalHaikuImagePackage WonderBrush-2.1.2.zip
2051			: $(baseURL)/WonderBrush-2.1.2-x86-gcc2-2008-11-08.zip
2052			: apps ;
2053		AddSymlinkToHaikuImage home config settings deskbar Applications
2054			: /boot/apps/WonderBrush/WonderBrush ;
2055	}
2056}
2057
2058
2059# wpa_supplicant
2060if [ IsOptionalHaikuImagePackageAdded wpa_supplicant ] {
2061	if $(TARGET_ARCH) != x86 {
2062		Echo "No optional package wpa_supplicant available for $(TARGET_ARCH)" ;
2063	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
2064		InstallOptionalHaikuImagePackage
2065			wpa_supplicant-0.7.3-x86-gcc4-2012-04-03.zip
2066			: $(baseURL)/wpa_supplicant-0.7.3-x86-gcc4-2012-04-03.zip
2067			: : : false ;
2068	} else {
2069		InstallOptionalHaikuImagePackage
2070			wpa_supplicant-0.7.3-x86-gcc2-2012-04-03.zip
2071			: $(baseURL)/wpa_supplicant-0.7.3-x86-gcc2-2012-04-03.zip
2072			: : : false ;
2073	}
2074}
2075
2076
2077# WQY-MicroHei
2078if [ IsOptionalHaikuImagePackageAdded WQY-MicroHei ] {
2079	InstallOptionalHaikuImagePackage
2080		wqy-microhei-0.2.0-beta-r1a4-x86-gcc2-2012-08-27.zip
2081		: $(baseURL)/wqy-microhei-0.2.0-beta-r1a4-x86-gcc2-2012-08-27.zip ;
2082}
2083
2084
2085# XZ-Utils
2086if [ IsOptionalHaikuImagePackageAdded XZ-Utils ] {
2087	if $(TARGET_ARCH) != x86 {
2088		Echo "No optional package XZ-Utils available for $(TARGET_ARCH)" ;
2089	} else {
2090		InstallOptionalHaikuImagePackage
2091			xz-utils-5.0.1-r1a4-x86-gcc4-2012-09-03.zip
2092			: $(baseURL)/xz-utils-5.0.1-r1a4-x86-gcc4-2012-09-03.zip ;
2093		AddExpanderRuleToHaikuImage "application/x-xz" : .tar.xz
2094			: "tar -Jtvf \\0045s"
2095			: "tar -Jxvf \\0045s"
2096		;
2097		AddExpanderRuleToHaikuImage "application/x-xz" : .txz
2098			: "tar -Jtvf \\0045s"
2099			: "tar -Jxvf \\0045s"
2100		;
2101		AddExpanderRuleToHaikuImage "application/x-xz" : .xz
2102			: "echo \\0045s | sed 's/.xz\\\$//g'"
2103			: "xz -df \\0045s"
2104		;
2105	}
2106}
2107
2108
2109# Yasm
2110if [ IsOptionalHaikuImagePackageAdded Yasm ] {
2111	if $(TARGET_ARCH) != x86 {
2112		Echo "No optional package Yasm available for $(TARGET_ARCH)" ;
2113	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
2114		InstallOptionalHaikuImagePackage
2115			yasm-1.2.0-r1a4-x86-gcc4-2012-08-29.zip
2116			: $(baseURL)/yasm-1.2.0-r1a4-x86-gcc4-2012-08-29.zip ;
2117	} else {
2118		InstallOptionalHaikuImagePackage
2119			yasm-1.2.0-r1a4-x86-gcc2-2012-08-27.zip
2120			: $(baseURL)/yasm-1.2.0-r1a4-x86-gcc2-2012-08-27.zip ;
2121	}
2122}
2123