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