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