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