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