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