xref: /haiku/build/jam/OptionalPackages (revision 560ff4478d5c85455ea3e5ed5e392ef93132d545)
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-2010-11-12.zip
118			: $(baseURL)/apr-1.4.2-x86-gcc4-2010-11-12.zip
119			: : true ;
120	} else {
121		InstallOptionalHaikuImagePackage apr-1.4.2-x86-gcc2-2010-10-13.zip
122			: $(baseURL)/apr-1.4.2-x86-gcc2-2010-10-13.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-2010-11-12.zip
134			: $(baseURL)/apr-util-1.3.10-x86-gcc4-2010-11-12.zip
135			: : true ;
136	} else {
137		InstallOptionalHaikuImagePackage apr-util-1.3.10-x86-gcc2-2010-10-13.zip
138			: $(baseURL)/apr-util-1.3.10-x86-gcc2-2010-10-13.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-x86-gcc2-2010-10-30.zip
152			: $(baseURL)/armyknife-61-x86-gcc2-2010-10-30.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.1-x86-gcc2-2010-10-16.zip
168			: $(baseURL)/bzr-2.2.1-x86-gcc2-2010-10-16.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-x86-gcc2-2010-09-15.zip
183				: $(baseURL)/beae-22-x86-gcc2-2010-09-15.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-x86-gcc2-2010-09-15.zip
331			: $(baseURL)/burnitnow-39-x86-gcc2-2010-09-15.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 {
344		InstallOptionalHaikuImagePackage
345			bzip2-1.0.6-x86-gcc2-2010-09-21.zip
346			: $(baseURL)/bzip2-1.0.6-x86-gcc2-2010-09-21.zip
347			: : true ;
348	}
349}
350
351
352# CCache
353if [ IsOptionalHaikuImagePackageAdded CCache ] {
354	if $(TARGET_ARCH) != x86 {
355		Echo "No optional package CCache available for $(TARGET_ARCH)" ;
356	} else {
357		InstallOptionalHaikuImagePackage
358			ccache-3.0.1-x86-gcc2-2010-08-30.zip
359			: $(baseURL)/ccache-3.0.1-x86-gcc2-2010-08-30.zip ;
360	}
361}
362
363
364# CDRecord
365if [ IsOptionalHaikuImagePackageAdded CDRecord ] {
366	if $(TARGET_ARCH) != x86 {
367		Echo "No optional package CDRecord available for $(TARGET_ARCH)" ;
368	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
369		InstallOptionalHaikuImagePackage cdrtools-3.01a01-x86-gcc4-2011-03-16.zip
370			: $(baseURL)/cdrtools-3.01a01-x86-gcc4-2011-03-16.zip ;
371	} else {
372		InstallOptionalHaikuImagePackage cdrtools-3.01a01-x86-gcc2-2011-03-16.zip
373			: $(baseURL)/cdrtools-3.01a01-x86-gcc2-2011-03-16.zip ;
374	}
375}
376
377
378# Clockwerk
379if [ IsOptionalHaikuImagePackageAdded Clockwerk ] {
380	if $(TARGET_ARCH) != x86 {
381		Echo "No optional package Clockwerk available for $(TARGET_ARCH)" ;
382	} else {
383		if $(HAIKU_GCC_VERSION[1]) >= 4 {
384			InstallOptionalHaikuImagePackage
385				Clockwerk-0.0.2-x86-gcc4-2010-10-13-1.zip
386				: $(baseURL)/Clockwerk-0.0.2-x86-gcc4-2010-10-13-1.zip ;
387		} else {
388			InstallOptionalHaikuImagePackage
389				Clockwerk-0.0.2-x86-gcc2-2010-10-13-1.zip
390				: $(baseURL)/Clockwerk-0.0.2-x86-gcc2-2010-10-13-1.zip ;
391		}
392		AddSymlinkToHaikuImage home config be Applications
393			: /boot/apps/Clockwerk/Clockwerk ;
394	}
395}
396
397
398# CLucene
399if [ IsOptionalHaikuImagePackageAdded CLucene ] {
400	if $(TARGET_ARCH) != x86 {
401		Echo "No optional package CLucene available for $(TARGET_ARCH)" ;
402	} else if $(HAIKU_GCC_VERSION[1]) < 4 && ! $(isHybridBuild) {
403		Echo "No optional package CLucene available for GCC2" ;
404	} else {
405		InstallOptionalHaikuImagePackage
406			clucene-0.9.21-x86-gcc4-haiku-2009-08-11.zip
407			: $(baseURL)/clucene-0.9.21-x86-gcc4-haiku-2009-08-11.zip
408			: : true ;
409	}
410}
411
412
413# CMake
414if [ IsOptionalHaikuImagePackageAdded CMake ] {
415	if $(TARGET_ARCH) != x86 {
416		Echo "No optional package CMake available for $(TARGET_ARCH)" ;
417	} else {
418		if $(HAIKU_GCC_VERSION[1]) >= 4 {
419			InstallOptionalHaikuImagePackage
420				cmake-2.8.4-x86-gcc4-2011-03-22.zip
421				: $(baseURL)/cmake-2.8.4-x86-gcc4-2011-03-22.zip
422				: : true ;
423		} else {
424			InstallOptionalHaikuImagePackage
425				cmake-2.8.4-x86-gcc2-2011-03-14.zip
426				: $(baseURL)/cmake-2.8.4-x86-gcc2-2011-03-14.zip
427				: : true ;
428		}
429	}
430}
431
432
433# Curl
434if [ IsOptionalHaikuImagePackageAdded Curl ] {
435	if $(TARGET_ARCH) != x86 {
436		Echo "No optional package Curl available for $(TARGET_ARCH)" ;
437	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
438		InstallOptionalHaikuImagePackage curl-7.21.4-x86-gcc4-2011-03-14.zip
439			: $(baseURL)/curl-7.21.4-x86-gcc4-2011-03-14.zip ;
440	} else {
441		InstallOptionalHaikuImagePackage curl-7.21.4-x86-gcc2-2011-03-14.zip
442			: $(baseURL)/curl-7.21.4-x86-gcc2-2011-03-14.zip ;
443	}
444}
445
446
447# CVS
448if [ IsOptionalHaikuImagePackageAdded CVS ] {
449	if $(TARGET_ARCH) != x86 {
450		Echo "No optional package CVS available for $(TARGET_ARCH)" ;
451	} else {
452		if $(HAIKU_GCC_VERSION[1]) >= 4 {
453			InstallOptionalHaikuImagePackage
454				cvs-1.12.13.1-x86-gcc4-2011-03-14.zip
455				: $(baseURL)/cvs-1.12.13.1-x86-gcc4-2011-03-14.zip
456				: : true ;
457		} else {
458			InstallOptionalHaikuImagePackage
459				cvs-1.12.13.1-x86-gcc2-2011-03-14.zip
460				: $(baseURL)/cvs-1.12.13.1-x86-gcc2-2011-03-14.zip
461				: : true ;
462		}
463	}
464}
465
466
467# Development
468if [ IsOptionalHaikuImagePackageAdded Development ] && $(TARGET_ARCH) = x86 {
469	# autotools
470	if $(HAIKU_GCC_VERSION[1]) >= 4 {
471		InstallOptionalHaikuImagePackage autoconf-2.68-x86-gcc4-2011-03-14.zip
472			: $(baseURL)/autoconf-2.68-x86-gcc4-2011-03-14.zip
473			: : true ;
474		InstallOptionalHaikuImagePackage automake-1.11.1-x86-gcc4-2011-03-14.zip
475			: $(baseURL)/automake-1.11.1-x86-gcc4-2011-03-14.zip
476			: : true ;
477		InstallOptionalHaikuImagePackage libtool-2.4-x86-gcc4-2011-03-14.zip
478			: $(baseURL)/libtool-2.4-x86-gcc4-2011-03-14.zip
479			: : true ;
480		InstallOptionalHaikuImagePackage texinfo-4.13a-x86-gcc4-2011-03-14.zip
481			: $(baseURL)/texinfo-4.13a-x86-gcc4-2011-03-14.zip
482			: : true ;
483	} else {
484		InstallOptionalHaikuImagePackage autoconf-2.68-x86-gcc2-2011-03-14.zip
485			: $(baseURL)/autoconf-2.68-x86-gcc2-2011-03-14.zip
486			: : true ;
487		InstallOptionalHaikuImagePackage
488			automake-1.11.1-x86-gcc2-2011-03-14.zip
489			: $(baseURL)/automake-1.11.1-x86-gcc2-2011-03-14.zip
490			: : true ;
491		InstallOptionalHaikuImagePackage libtool-2.4-x86-gcc2-2011-03-14.zip
492			: $(baseURL)/libtool-2.4-x86-gcc2-2011-03-14.zip
493			: : true ;
494		InstallOptionalHaikuImagePackage
495			texinfo-4.13a-x86-gcc2-2011-03-14-a.zip
496			: $(baseURL)/texinfo-4.13a-x86-gcc2-2011-03-14.zip
497			: : true ;
498	}
499}
500
501
502# DevelopmentBase
503if [ IsOptionalHaikuImagePackageAdded DevelopmentBase ]
504		&& $(TARGET_ARCH) = x86 {
505	# gcc and binutils
506	if $(HAIKU_GCC_VERSION[1]) = 2 || $(isHybridBuild) {
507		InstallOptionalHaikuImagePackage
508			gcc-2.95.3-x86-gcc2-2010-08-18.zip
509			: $(baseURL)/gcc-2.95.3-x86-gcc2-2010-08-18.zip ;
510	}
511
512	if $(HAIKU_GCC_VERSION[1]) = 2 {
513		# symlink to the appropriate system/lib[/gcc2] folder
514		AddSymlinkToHaikuHybridImage
515			develop abi x86 gcc2 tools gcc-2.95.3-haiku-100818 lib
516			: /system/lib libstdc++.r4.so : : true ;
517	}
518
519	if $(HAIKU_GCC_VERSION[1]) = 4 || $(isHybridBuild) {
520		InstallOptionalHaikuImagePackage gcc-4.4.4-x86-gcc4-2010-11-11.zip
521			: $(baseURL)/gcc-4.4.4-x86-gcc4-2010-11-11.zip ;
522	}
523
524	if $(HAIKU_GCC_VERSION[1]) = 4 {
525		# symlink cpp to g++'s headers
526		AddSymlinkToHaikuHybridImage develop abi x86 gcc4 headers
527			: ../tools/current/include/g++ : cpp ;
528
529		# symlink to the appropriate system/lib[/gcc4] folder
530		local libs = libstdc++.so libsupc++.so ;
531		for lib in $(libs) {
532			AddSymlinkToHaikuHybridImage
533				develop abi x86 gcc4 tools gcc-4.4.4-haiku-101111 lib
534				: /system/lib $(lib) : : true ;
535		}
536	}
537
538	# other commonly used tools
539	if $(HAIKU_GCC_VERSION[1]) >= 4 {
540		InstallOptionalHaikuImagePackage
541			bison-2.4.3-x86-gcc4-2011-03-14.zip
542			: $(baseURL)/bison-2.4.3-x86-gcc4-2011-03-14.zip ;
543		InstallOptionalHaikuImagePackage
544			m4-1.4.16-x86-gcc4-2011-03-14.zip
545			: $(baseURL)/m4-1.4.16-x86-gcc4-2011-03-14.zip ;
546		InstallOptionalHaikuImagePackage flex-2.5.35-x86-gcc4-2011-03-14.zip
547			: $(baseURL)/flex-2.5.35-x86-gcc4-2011-03-14.zip ;
548		InstallOptionalHaikuImagePackage jam-2.5-x86-gcc4-2010-11-12.zip
549			: $(baseURL)/jam-2.5-x86-gcc4-2010-11-12.zip ;
550		InstallOptionalHaikuImagePackage mkdepend-1.7-x86-gcc4-2010-11-12.zip
551			: $(baseURL)/mkdepend-1.7-x86-gcc4-2010-11-12.zip ;
552		InstallOptionalHaikuImagePackage make-3.82-x86-gcc4-2011-03-15.zip
553			: $(baseURL)/make-3.82-x86-gcc4-2011-03-15.zip ;
554	} else {
555		InstallOptionalHaikuImagePackage
556			bison-2.4.3-x86-gcc2-2011-03-14.zip
557			: $(baseURL)/bison-2.4.3-x86-gcc2-2011-03-14.zip ;
558		InstallOptionalHaikuImagePackage
559			m4-1.4.16-x86-gcc2-2011-03-14.zip
560			: $(baseURL)/m4-1.4.16-x86-gcc2-2011-03-14.zip ;
561		InstallOptionalHaikuImagePackage
562			flex-2.5.35-x86-gcc2-2011-03-14.zip
563			: $(baseURL)/flex-2.5.35-x86-gcc2-2011-03-14.zip ;
564		InstallOptionalHaikuImagePackage jam-2.5-r1a2-x86-gcc2-2010-04-21.zip
565			: $(baseURL)/jam-2.5-r1a2-x86-gcc2-2010-04-21.zip ;
566		InstallOptionalHaikuImagePackage mkdepend-1.7-x86-gcc2-2010-09-24.zip
567			: $(baseURL)/mkdepend-1.7-x86-gcc2-2010-09-24.zip ;
568		InstallOptionalHaikuImagePackage make-3.82-x86-gcc2-2011-03-15.zip
569			: $(baseURL)/make-3.82-x86-gcc2-2011-03-15.zip ;
570	}
571}
572
573
574# DevelopmentJava
575if [ IsOptionalHaikuImagePackageAdded DevelopmentJava ] {
576	if $(TARGET_ARCH) != x86 {
577		Echo "No optional package DevelopmentJava available for $(TARGET_ARCH)" ;
578	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
579		InstallOptionalHaikuImagePackage
580			gnu-classpath-0.98-x86-gcc4-2011-03-01.zip
581			: $(baseURL)/gnu-classpath-0.98-x86-gcc4-2011-03-01.zip ;
582		InstallOptionalHaikuImagePackage
583			jamvm-1.5.4-x86-gcc4-2011-02-13.zip
584			: $(baseURL)/jamvm-1.5.4-x86-gcc4-2011-02-13.zip ;
585		AddSymlinkToHaikuImage common bin : /boot/common/bin/jamvm : java ;
586		InstallOptionalHaikuImagePackage
587			ecj-3.6.2-haiku-2011-03-05.zip
588			: $(baseURL)/ecj-3.6.2-haiku-2011-03-05.zip ;
589	} else {
590		Echo "No optional package DevelopmentJava available for gcc2" ;
591	}
592}
593
594
595# DevelopmentMin
596if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] && $(TARGET_ARCH) = x86 {
597	if ! ( $(HAIKU_GCC_VERSION[1]) in 2 4 ) {
598		Exit "Optional package DevelopmentMin: Unsupported GCC version:"
599			$(HAIKU_GCC_VERSION[1]) ;
600	}
601
602	local arch = $(TARGET_ARCH) ;
603	local abi = gcc$(HAIKU_GCC_VERSION[1]) ;
604	local abiDirTokens = develop abi $(arch) $(abi) ;
605
606	# glue code
607	AddFilesToHaikuHybridImage $(abiDirTokens) lib :
608		<src!system!glue!arch!$(arch)>crti.o
609		<src!system!glue!arch!$(arch)>crtn.o
610		<src!system!glue>init_term_dyn.o
611		<src!system!glue>start_dyn.o
612		<src!system!glue>haiku_version_glue.o
613	;
614
615	# kernel
616	AddFilesToHaikuHybridImage $(abiDirTokens) lib : kernel.so : _KERNEL_ ;
617
618	# additional libraries
619	local developmentLibs = <revisioned>libroot_debug.so ;
620	AddFilesToHaikuHybridImage system lib : $(developmentLibs) : : true ;
621
622	# library symlinks
623	local lib ;
624	for lib in $(SYSTEM_LIBS) $(SYSTEM_LIBS_LIBGL_ALIASES) $(developmentLibs) {
625		AddSymlinkToHaikuHybridImage $(abiDirTokens) lib
626			: /system/lib $(lib:BS) : : true ;
627		local abiVersion = [ on $(lib) return $(HAIKU_LIB_ABI_VERSION) ] ;
628		if $(abiVersion) {
629			local abiVersionedLib = $(lib:BS).$(abiVersion) ;
630			AddSymlinkToHaikuHybridImage $(abiDirTokens) lib
631				: /system/lib $(abiVersionedLib) : : true ;
632		}
633	}
634
635	# static libraries
636	AddFilesToHaikuHybridImage $(abiDirTokens) lib : libncurses.a ;
637	AddFilesToHaikuHybridImage $(abiDirTokens) lib : liblocalestub.a ;
638
639	# the POSIX error code mapper library
640	AddFilesToHaikuHybridImage $(abiDirTokens) lib : libposix_error_mapper.a ;
641
642	# symlinks for ABI abstraction
643	AddSymlinkToHaikuImage develop abi : $(arch)/$(abi) : current ;
644	AddSymlinkToHaikuImage develop lib : /boot/develop/abi/current/lib
645		: $(arch) ;
646	AddSymlinkToHaikuImage develop tools
647		: /boot/develop/abi/current/tools/current : gnupro ;
648	AddSymlinkToHaikuImage develop headers
649		: /boot/develop/abi/current/headers/cpp ;
650	AddSymlinkToHaikuHybridImage $(abiDirTokens) library-paths
651		: /boot/common/lib : common : true ;
652	AddSymlinkToHaikuHybridImage $(abiDirTokens) library-paths
653		: /boot/home/config/lib : home : true ;
654
655	# ABI independent stuff
656
657	# scripts: cc and c++ wrapper, freetype-config, setgcc
658	local scripts = cc c++ freetype-config setgcc ;
659	SEARCH on $(scripts) = [ FDirName $(HAIKU_TOP) data bin ] ;
660	AddFilesToHaikuImage system bin : $(scripts) ;
661
662	# skeleton makefile and makefile-engine
663	local makefileEngineFiles =
664		<makefile-engine>makefile
665		<makefile-engine>makefile-engine
666	;
667	SEARCH on $(makefileEngineFiles)
668		= [ FDirName $(HAIKU_TOP) data develop ] ;
669	AddFilesToHaikuImage develop etc : $(makefileEngineFiles) ;
670
671	# headers
672	AddHeaderDirectoryToHaikuImage config ;
673	AddHeaderDirectoryToHaikuImage glibc ;
674	AddHeaderDirectoryToHaikuImage os ;
675	AddHeaderDirectoryToHaikuImage posix ;
676
677	# create be -> os symlink for now
678	AddSymlinkToHaikuImage develop headers : os : be ;
679
680	# BSD and GNU compatibility headers
681	AddHeaderDirectoryToHaikuImage compatibility bsd : bsd ;
682	AddHeaderDirectoryToHaikuImage compatibility gnu : gnu ;
683
684	# third party libs headers
685	AddHeaderDirectoryToHaikuImage libs freetype2 : 3rdparty ;
686	AddHeaderDirectoryToHaikuImage libs jpeg : 3rdparty ;
687	AddHeaderDirectoryToHaikuImage libs ncurses : 3rdparty ;
688	AddHeaderDirectoryToHaikuImage libs png : 3rdparty ;
689	AddHeaderDirectoryToHaikuImage libs termcap : 3rdparty ;
690	AddHeaderDirectoryToHaikuImage libs tiff : 3rdparty ;
691	AddHeaderDirectoryToHaikuImage libs zlib : 3rdparty ;
692
693	# cpp headers
694	if $(HAIKU_GCC_VERSION[1]) = 2 {
695		# GCC 2 only -- for GCC 4 they come with the DevelopmentBase package
696		CopyDirectoryToHaikuImage $(abiDirTokens) headers
697			: [ FDirName $(HAIKU_TOP) headers cpp ] : : -x .svn ;
698		CopyDirectoryToAlternativeGCCArchive $(abiDirTokens) headers
699			: [ FDirName $(HAIKU_TOP) headers cpp ] : : -x .svn ;
700	}
701}
702
703
704# Doxygen
705if [ IsOptionalHaikuImagePackageAdded Doxygen ] {
706	if $(TARGET_ARCH) != x86 {
707		Echo "No optional package Doxygen available for $(TARGET_ARCH)" ;
708	} else {
709		if $(HAIKU_GCC_VERSION[1]) >= 4 {
710			InstallOptionalHaikuImagePackage
711				doxygen-1.6.3-x86-gcc4-2010-05-17.zip
712				: $(baseURL)/doxygen-1.6.3-x86-gcc4-2010-05-17.zip
713				: : true ;
714		} else {
715			InstallOptionalHaikuImagePackage
716				doxygen-1.6.3-x86-gcc2-2010-05-17.zip
717				: $(baseURL)/doxygen-1.6.3-x86-gcc2-2010-05-17.zip
718				: : true ;
719		}
720	}
721}
722
723
724# Expat
725if [ IsOptionalHaikuImagePackageAdded Expat ] {
726	if $(TARGET_ARCH) != x86 {
727		Echo "No optional package Expat available for $(TARGET_ARCH)" ;
728	} else {
729		if $(HAIKU_GCC_VERSION[1]) >= 4 {
730			InstallOptionalHaikuImagePackage
731				expat-2.0.1-x86-gcc4-2010-11-12.zip
732				: $(baseURL)/expat-2.0.1-x86-gcc4-2010-11-12.zip
733				: : true ;
734		} else {
735			InstallOptionalHaikuImagePackage
736				expat-2.0.1-r1a2-x86-gcc2-2010-04-22-a.zip
737				: $(baseURL)/expat-2.0.1-r1a2-x86-gcc2-2010-04-22-a.zip
738				: : true ;
739		}
740		InstallSourceArchive expat-2.0.1_haiku-2010-04-29.tar.xz
741			: $(baseSourceURL)/2010/expat-2.0.1_haiku-2010-04-29.tar.xz ;
742	}
743}
744
745
746# Fastdep
747if [ IsOptionalHaikuImagePackageAdded Fastdep ] {
748	if $(TARGET_ARCH) != x86 {
749		Echo "No optional package Fastdep available for $(TARGET_ARCH)" ;
750	} else {
751		InstallOptionalHaikuImagePackage
752			fastdep-0.16-x86-gcc2-2010-09-02.zip
753			: $(baseURL)/fastdep-0.16-x86-gcc2-2010-09-02.zip ;
754	}
755}
756
757
758# friss
759if [ IsOptionalHaikuImagePackageAdded friss ] {
760	if $(TARGET_ARCH) != x86 {
761		Echo "No optional package friss available for $(TARGET_ARCH)" ;
762	} else if $(HAIKU_GCC_VERSION[1]) >= 4 || $(isHybridBuild) {
763		InstallOptionalHaikuImagePackage friss-0.5pre7-x86-gcc4.zip
764			: $(baseURL)/friss-0.5pre7-x86-gcc4.zip
765			: : true ;
766	} else {
767		Echo "No optional package friss available for gcc2" ;
768	}
769}
770
771
772# GetText
773if [ IsOptionalHaikuImagePackageAdded GetText ] {
774	if $(TARGET_ARCH) != x86 {
775		Echo "No optional package GetText available for $(TARGET_ARCH)" ;
776	} else {
777		if $(HAIKU_GCC_VERSION[1]) >= 4 {
778			InstallOptionalHaikuImagePackage
779				gettext-0.18.1.1-x86-gcc4-2011-02-07.zip
780				: $(baseURL)/gettext-0.18.1.1-x86-gcc4-2011-02-07.zip
781				: : true ;
782		} else {
783			InstallOptionalHaikuImagePackage
784				gettext-0.18.1.1-x86-gcc2-2011-02-07.zip
785				: $(baseURL)/gettext-0.18.1.1-x86-gcc2-2011-02-07.zip
786				: : true ;
787		}
788		InstallSourceArchive gettext-0.18.1.1_haiku-2011-02-07.tar.xz
789			: $(baseSourceURL)/2010/gettext-0.18.1.1_haiku-2011-02-07.tar.xz ;
790	}
791}
792
793
794# Git
795if [ IsOptionalHaikuImagePackageAdded Git ] {
796	if $(TARGET_ARCH) != x86 {
797		Echo "No optional package Git available for $(TARGET_ARCH)" ;
798	} else {
799		InstallOptionalHaikuImagePackage
800			git-1.7.3.5-x86-gcc2-2011-03-15.zip
801			: $(baseURL)/git-1.7.3.5-x86-gcc2-2011-03-15.zip
802			: : true ;
803	}
804}
805
806
807# GPerf
808if [ IsOptionalHaikuImagePackageAdded GPerf ] {
809	if $(TARGET_ARCH) != x86 {
810		Echo "No optional package GPerf available for $(TARGET_ARCH)" ;
811	} else {
812		if $(HAIKU_GCC_VERSION[1]) >= 4 {
813			InstallOptionalHaikuImagePackage
814				gperf-3.0.4-x86-gcc4-2010-06-15.zip
815				: $(baseURL)/gperf-3.0.4-x86-gcc4-2010-06-15.zip
816				: : true ;
817		} else {
818			InstallOptionalHaikuImagePackage
819				gperf-3.0.4-x86-gcc2-2010-06-15.zip
820				: $(baseURL)/gperf-3.0.4-x86-gcc2-2010-06-15.zip
821				: : true ;
822		}
823	}
824}
825
826
827# Groff
828if [ IsOptionalHaikuImagePackageAdded Groff ] {
829	if $(TARGET_ARCH) != x86 {
830		Echo "No optional package Groff available for $(TARGET_ARCH)" ;
831	} else {
832		InstallOptionalHaikuImagePackage
833			 groff-1.20.1-x86-gcc2-2010-08-31.zip
834			: $(baseURL)/groff-1.20.1-x86-gcc2-2010-08-31.zip ;
835	}
836}
837
838
839# ICU
840if [ IsOptionalHaikuImagePackageAdded ICU ] {
841	if $(TARGET_ARCH) != x86 {
842		Echo "No optional package ICU available for $(TARGET_ARCH)" ;
843	} else {
844		if $(HAIKU_GCC_VERSION[1]) = 2 {
845			# unzip gcc2
846			InstallOptionalHaikuImagePackage $(HAIKU_ICU_GCC_2_PACKAGE)
847				: $(baseURL)/$(HAIKU_ICU_GCC_2_PACKAGE)
848				: system lib ;
849			if $(isHybridBuild) {
850				# unzip gcc4 to gcc4 subdir
851				InstallOptionalHaikuImagePackage $(HAIKU_ICU_GCC_4_PACKAGE)
852					: $(baseURL)/$(HAIKU_ICU_GCC_4_PACKAGE)
853					: system lib gcc4 ;
854			}
855		} else {
856			# unzip gcc4
857			InstallOptionalHaikuImagePackage $(HAIKU_ICU_GCC_4_PACKAGE)
858				: $(baseURL)/$(HAIKU_ICU_GCC_4_PACKAGE)
859				: system lib ;
860			if $(isHybridBuild) {
861				# unzip gcc2 to gcc2 subdir
862				InstallOptionalHaikuImagePackage $(HAIKU_ICU_GCC_2_PACKAGE)
863					: $(baseURL)/$(HAIKU_ICU_GCC_2_PACKAGE)
864					: system lib gcc2 ;
865			}
866		}
867	}
868}
869
870
871# ICU-devel
872if [ IsOptionalHaikuImagePackageAdded ICU-devel ] {
873	InstallOptionalHaikuImagePackage $(HAIKU_ICU_DEVEL_PACKAGE)
874		: $(baseURL)/$(HAIKU_ICU_DEVEL_PACKAGE) ;
875
876	local arch = $(TARGET_ARCH) ;
877	local abi = gcc$(HAIKU_GCC_VERSION[1]) ;
878	for abiVersionedLib in $(HAIKU_ICU_LIBS) {
879		abiVersionedLib = $(abiVersionedLib:G=) ;
880		local lib = $(abiVersionedLib:B) ;
881		AddSymlinkToHaikuHybridImage develop abi $(arch) $(abi) lib
882			: /system/lib $(abiVersionedLib) : : true ;
883		AddSymlinkToHaikuHybridImage develop abi $(arch) $(abi) lib
884			: $(abiVersionedLib) : $(lib) ;
885	}
886}
887
888
889# KeymapSwitcher
890if [ IsOptionalHaikuImagePackageAdded KeymapSwitcher ] {
891	if $(TARGET_ARCH) != x86 {
892		Echo "No optional package KeymapSwitcher available for $(TARGET_ARCH)" ;
893	} else {
894		if $(HAIKU_GCC_VERSION[1]) >= 4 {
895			InstallOptionalHaikuImagePackage
896				KeymapSwitcher-1.2.6-x86-gcc4-2011-03-01.zip
897				: $(baseURL)/KeymapSwitcher-1.2.6-x86-gcc4-2011-03-01.zip ;
898		} else {
899			InstallOptionalHaikuImagePackage
900				KeymapSwitcher-1.2.6-x86-gcc2-2011-03-01.zip
901				: $(baseURL)/KeymapSwitcher-1.2.6-x86-gcc2-2011-03-01.zip ;
902		}
903		AddSymlinkToHaikuImage home config be Desktop\ applets
904			: /boot/common/bin/KeymapSwitcher ;
905	}
906}
907
908
909# LibEvent
910if [ IsOptionalHaikuImagePackageAdded LibEvent ] {
911	if $(TARGET_ARCH) != x86 {
912		Echo "No optional package LibEvent available for $(TARGET_ARCH)" ;
913	} else {
914		if $(HAIKU_GCC_VERSION[1]) >= 4 {
915			InstallOptionalHaikuImagePackage
916				libevent-2.0.10-x86-gcc4-2011-02-28.zip
917				: $(baseURL)/lib/libevent-2.0.10-x86-gcc4-2011-02-28.zip
918				: : true ;
919		} else {
920			InstallOptionalHaikuImagePackage
921				libevent-2.0.10-x86-gcc2-2011-02-25.zip
922				: $(baseURL)/lib/libevent-2.0.10-x86-gcc2-2011-02-25.zip
923				: : true ;
924		}
925	}
926}
927
928
929# LibIconv
930if [ IsOptionalHaikuImagePackageAdded LibIconv ] {
931	if $(TARGET_ARCH) != x86 {
932		Echo "No optional package LibIconv available for $(TARGET_ARCH)" ;
933	} else {
934		if $(HAIKU_GCC_VERSION[1]) >= 4 {
935			InstallOptionalHaikuImagePackage
936				libiconv-1.13.1-x86-gcc4-2011-03-14.zip
937				: $(baseURL)/libiconv-1.13.1-x86-gcc4-2011-03-14.zip ;
938		} else {
939			InstallOptionalHaikuImagePackage
940				libiconv-1.13.1-x86-gcc2-2011-03-14.zip
941				: $(baseURL)/libiconv-1.13.1-x86-gcc2-2011-03-14.zip ;
942		}
943	}
944}
945
946
947# LibLayout library
948if [ IsOptionalHaikuImagePackageAdded LibLayout ] {
949	if $(TARGET_ARCH) != x86 {
950		Echo "No optional package LibLayout available for $(TARGET_ARCH)" ;
951	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) {
952		Echo "No optional package LibLayout available for gcc4" ;
953	} else {
954		InstallOptionalHaikuImagePackage liblayout-1.4.0-gcc2-2009-03-08.zip
955			: $(baseURL)/liblayout-1.4.0-gcc2-2009-03-08.zip ;
956	}
957}
958
959
960# Libmng library
961if [ IsOptionalHaikuImagePackageAdded Libmng ] {
962	if $(TARGET_ARCH) != x86 {
963		Echo "No optional package Libmng available for $(TARGET_ARCH)" ;
964	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
965		InstallOptionalHaikuImagePackage libmng-1.0.10-x86-gcc4-2010-10-30.zip
966			: $(baseURL)/lib/libmng-1.0.10-x86-gcc4-2010-10-30.zip ;
967	} else {
968		InstallOptionalHaikuImagePackage libmng-1.0.10-x86-gcc2-2010-10-29.zip
969			: $(baseURL)/lib/libmng-1.0.10-x86-gcc2-2010-10-29.zip ;
970	}
971}
972
973
974# LibXML2
975if [ IsOptionalHaikuImagePackageAdded LibXML2 ] {
976	if $(TARGET_ARCH) != x86 {
977		Echo "No optional package LibXML2 available for $(TARGET_ARCH)" ;
978	} else {
979		if $(HAIKU_GCC_VERSION[1]) >= 4 {
980			InstallOptionalHaikuImagePackage
981				libxml2-2.7.8-x86-gcc4-2011-03-16.zip
982				: $(baseURL)/libxml2-2.7.8-x86-gcc4-2011-03-16.zip ;
983		} else {
984			InstallOptionalHaikuImagePackage
985				libxml2-2.7.8-x86-gcc2-2011-03-16.zip
986				: $(baseURL)/libxml2-2.7.8-x86-gcc2-2011-03-16.zip ;
987		}
988	}
989}
990
991
992# LibXSLT
993if [ IsOptionalHaikuImagePackageAdded LibXSLT ] {
994	if $(TARGET_ARCH) != x86 {
995		Echo "No optional package LibXSLT available for $(TARGET_ARCH)" ;
996	} else {
997		InstallOptionalHaikuImagePackage
998			libxslt-1.1.26-r1a2-x86-gcc2-2010-04-22-a.zip
999			: $(baseURL)/libxslt-1.1.26-r1a2-x86-gcc2-2010-04-22-a.zip
1000			: : true ;
1001		InstallSourceArchive libxslt-1.1.26_haiku-2010-04-29.tar.xz
1002			: $(baseSourceURL)/2010/libxslt-1.1.26_haiku-2010-04-29.tar.xz ;
1003	}
1004}
1005
1006
1007# Links web browser
1008if [ IsOptionalHaikuImagePackageAdded Links ] {
1009	if $(TARGET_ARCH) != x86 {
1010		Echo "No optional package Links available for $(TARGET_ARCH)" ;
1011	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) {
1012		Echo "No optional package Links available for gcc4" ;
1013	} else {
1014		InstallOptionalHaikuImagePackage Links.zip
1015			: $(baseURL)/links-x86-gcc2-2008-05-03.zip ;
1016		AddSymlinkToHaikuImage home config be Applications
1017			: /boot/home/config/bin/links ;
1018	}
1019}
1020
1021
1022# Lua
1023if [ IsOptionalHaikuImagePackageAdded Lua ] {
1024	if $(TARGET_ARCH) != x86 {
1025		Echo "No optional package Lua available for $(TARGET_ARCH)" ;
1026	} else {
1027		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1028			InstallOptionalHaikuImagePackage
1029				lua-5.1.4-x86-gcc4-2010-10-31.zip
1030				: $(baseURL)/lua-5.1.4-x86-gcc4-2010-10-31.zip
1031				: : true ;
1032		} else {
1033			InstallOptionalHaikuImagePackage
1034				lua-5.1.4-x86-gcc2-2010-10-29.zip
1035				: $(baseURL)/lua-5.1.4-x86-gcc2-2010-10-29.zip
1036				: : true ;
1037		}
1038	}
1039}
1040
1041
1042# Man
1043if [ IsOptionalHaikuImagePackageAdded Man ] {
1044	if $(TARGET_ARCH) != x86 {
1045		Echo "No optional package Man available for $(TARGET_ARCH)" ;
1046	} else {
1047		InstallOptionalHaikuImagePackage
1048			 man-1.6f-x86-gcc2-2010-09-01.zip
1049			: $(baseURL)/man-1.6f-x86-gcc2-2010-09-01.zip ;
1050	}
1051}
1052
1053
1054# MandatoryPackages
1055if [ IsOptionalHaikuImagePackageAdded MandatoryPackages ] {
1056	# Pseudo package for grouping packages, which are added to all images.
1057}
1058
1059
1060# Mercurial
1061if [ IsOptionalHaikuImagePackageAdded Mercurial ] {
1062	if $(TARGET_ARCH) != x86 {
1063		Echo "No optional package Mercurial available for $(TARGET_ARCH)" ;
1064	} else {
1065		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1066			InstallOptionalHaikuImagePackage
1067				mercurial-1.6-x86-gcc4-2010-11-12.zip
1068				: $(baseURL)/mercurial-1.6-x86-gcc4-2010-11-12.zip
1069				: : true ;
1070		} else {
1071			InstallOptionalHaikuImagePackage
1072				mercurial-1.6-x86-gcc2-2010-07-01.zip
1073				: $(baseURL)/mercurial-1.6-x86-gcc2-2010-07-01.zip
1074				: : true ;
1075		}
1076	}
1077}
1078
1079
1080# Nano
1081if [ IsOptionalHaikuImagePackageAdded Nano ] {
1082	if $(TARGET_ARCH) != x86 {
1083		Echo "No optional package Nano available for $(TARGET_ARCH)" ;
1084	} else {
1085		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1086			InstallOptionalHaikuImagePackage
1087				nano-2.2.6-x86-gcc4-2011-03-14.zip
1088				: $(baseURL)/nano-2.2.6-x86-gcc4-2011-03-14.zip ;
1089		} else {
1090			InstallOptionalHaikuImagePackage
1091				nano-2.2.6-x86-gcc2-2011-03-14.zip
1092				: $(baseURL)/nano-2.2.6-x86-gcc2-2011-03-14.zip ;
1093		}
1094	}
1095}
1096
1097
1098# Neon
1099if [ IsOptionalHaikuImagePackageAdded Neon ] {
1100	if $(TARGET_ARCH) != x86 {
1101		Echo "No optional package Neon available for $(TARGET_ARCH)" ;
1102	} else {
1103		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1104			InstallOptionalHaikuImagePackage
1105				neon-0.29.5-x86-gcc4-2011-03-16.zip
1106				: $(baseURL)/neon-0.29.5-x86-gcc4-2011-03-16.zip ;
1107		} else {
1108			InstallOptionalHaikuImagePackage
1109				neon-0.29.5-x86-gcc2-2011-03-16.zip
1110				: $(baseURL)/neon-0.29.5-x86-gcc2-2011-03-16.zip ;
1111		}
1112	}
1113}
1114
1115
1116# NetFS network file system
1117if [ IsOptionalHaikuImagePackageAdded NetFS ] {
1118	# userlandfs module
1119	AddFilesToHaikuImage home config add-ons userlandfs : netfs ;
1120
1121	# servers
1122	AddFilesToHaikuImage system servers : netfs_server ;
1123	AddFilesToHaikuImage system servers : authentication_server ;
1124
1125	# tools
1126	AddFilesToHaikuImage system bin : netfs_config ;
1127	AddFilesToHaikuImage system bin : netfs_server_prefs ;
1128
1129	#example settings for netfs_server
1130	local netfsServerSettingsFiles = <driver-settings>netfs-server ;
1131	SEARCH on $(netfsServerSettingsFiles)
1132		= [ FDirName $(HAIKU_TOP) src add-ons kernel file_systems netfs ] ;
1133	AddFilesToHaikuImage home config settings kernel drivers
1134	: $(netfsServerSettingsFiles) ;
1135
1136	#userlandfs settings are needed for netfs_config to work (ioctls)
1137	local userlandfsServerSettingsFiles = <driver-settings>userlandfs ;
1138	SEARCH on $(userlandfsServerSettingsFiles)
1139		= [ FDirName $(HAIKU_TOP) src add-ons kernel file_systems userlandfs ] ;
1140	AddFilesToHaikuImage home config settings kernel drivers
1141	: $(userlandfsServerSettingsFiles) ;
1142}
1143
1144
1145# NetSurf web browser
1146if [ IsOptionalHaikuImagePackageAdded NetSurf ] {
1147	if $(TARGET_ARCH) != x86 {
1148		Echo "No optional package NetSurf available for $(TARGET_ARCH)" ;
1149	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) {
1150		Echo "No optional package NetSurf available for gcc4" ;
1151	} else {
1152		InstallOptionalHaikuImagePackage netsurf-2.6-x86.gcc2-2010-09-26.zip
1153			: $(baseURL)/netsurf-2.6-x86-gcc2-2010-09-26.zip ;
1154		AddSymlinkToHaikuImage home config be Applications
1155			: /boot/apps/netsurf/NetSurf ;
1156	}
1157}
1158
1159
1160# OCaml
1161if [ IsOptionalHaikuImagePackageAdded OCaml ] {
1162	if $(TARGET_ARCH) != x86 {
1163		Echo "No optional package OCaml available for $(TARGET_ARCH)" ;
1164	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) {
1165		Echo "No optional package OCaml available for gcc4" ;
1166	} else {
1167		InstallOptionalHaikuImagePackage
1168			ocaml-3.11.1-r1a1-x86-gcc2-2009-09-06.zip
1169			: $(baseURL)/ocaml-3.11.1-r1a1-x86-gcc2-2009-09-06.zip ;
1170		InstallOptionalHaikuImagePackage
1171			camlp5-5.12-r1a1-x86-gcc2-2009-09-06.zip
1172			: $(baseURL)/camlp5-5.12-r1a1-x86-gcc2-2009-09-06.zip ;
1173	}
1174}
1175
1176
1177# OpenSound drivers
1178if [ IsOptionalHaikuImagePackageAdded OpenSound ] {
1179	if $(TARGET_ARCH) != x86 {
1180		Echo "No optional package OpenSound available for $(TARGET_ARCH)" ;
1181	} else {
1182		InstallOptionalHaikuImagePackage
1183			opensound-4.2-r1a2-x86-gcc2-2010-05-01.zip
1184			: $(baseURL)/opensound-4.2-r1a2-x86-gcc2-2010-05-01.zip ;
1185	}
1186}
1187
1188
1189# OpenSSH
1190if [ IsOptionalHaikuImagePackageAdded OpenSSH ] {
1191	if $(TARGET_ARCH) != x86 {
1192		Echo "No optional package OpenSSH available for $(TARGET_ARCH)" ;
1193	} else {
1194		if ! $(HAIKU_IMAGE_HOST_NAME) && ! $(HAIKU_IGNORE_USER_BUILD_CONFIG) {
1195			Exit "Optional package OpenSSH requires the HAIKU_IMAGE_HOST_NAME"
1196				"variable to be set!" ;
1197		}
1198
1199		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1200			InstallOptionalHaikuImagePackage
1201				openssh-5.8p1-x86-gcc4-2011-02-28.zip
1202				: $(baseURL)/openssh-5.8p1-x86-gcc4-2011-02-28.zip ;
1203		} else {
1204			InstallOptionalHaikuImagePackage
1205				openssh-5.8p1-x86-gcc2-2011-03-01.zip
1206				: $(baseURL)/openssh-5.8p1-x86-gcc2-2011-03-01.zip ;
1207		}
1208
1209		AddUserToHaikuImage sshd : 1001 : 100 : /var/empty : /bin/true
1210			: "sshd user" ;
1211	}
1212}
1213
1214
1215# OpenSSL
1216if [ IsOptionalHaikuImagePackageAdded OpenSSL ] {
1217	if $(TARGET_ARCH) != x86 {
1218		Echo "No optional package OpenSSL available for $(TARGET_ARCH)" ;
1219	} else {
1220		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1221			InstallOptionalHaikuImagePackage $(HAIKU_OPENSSL_PACKAGE)
1222				: $(HAIKU_OPENSSL_URL) ;
1223		} else {
1224			InstallOptionalHaikuImagePackage $(HAIKU_OPENSSL_PACKAGE)
1225				: $(HAIKU_OPENSSL_URL) ;
1226		}
1227	}
1228}
1229
1230
1231# P7zip
1232if [ IsOptionalHaikuImagePackageAdded P7zip ] {
1233	if $(TARGET_ARCH) != x86 {
1234		Echo "No optional package P7zip available for $(TARGET_ARCH)" ;
1235	} else {
1236		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1237			InstallOptionalHaikuImagePackage
1238				p7zip-9.13-x86-gcc4-2011-02-28.zip
1239				: $(baseURL)/p7zip-9.13-x86-gcc4-2011-02-28.zip ;
1240		} else {
1241			InstallOptionalHaikuImagePackage
1242				p7zip-9.13-x86-gcc2-2011-02-25.zip
1243				: $(baseURL)/p7zip-9.13-x86-gcc2-2011-02-25.zip ;
1244		}
1245		AddExpanderRuleToHaikuImage "application/x-7z-compressed" : .7z
1246			: "7za l \\0045s"
1247			: "7za x -y \\0045s"
1248		;
1249
1250	}
1251}
1252
1253
1254# Paladin
1255if [ IsOptionalHaikuImagePackageAdded Paladin ] {
1256	if $(TARGET_ARCH) != x86 {
1257		Echo "No optional package Paladin available for $(TARGET_ARCH)" ;
1258	} else {
1259		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1260			InstallOptionalHaikuImagePackage paladin-1.3-x86-gcc4-2011-03-18.zip
1261				: $(baseURL)/paladin-1.3-x86-gcc4-2011-03-18.zip ;
1262		} else {
1263			InstallOptionalHaikuImagePackage paladin-1.3-x86-gcc2-2010-09-06.zip
1264				: $(baseURL)/paladin-1.3-x86-gcc2-2010-09-06.zip ;
1265		}
1266
1267		AddSymlinkToHaikuImage home config be Applications
1268			: /boot/apps/Paladin/Paladin ;
1269		AddSymlinkToHaikuImage common bin
1270			: /boot/apps/Paladin/Paladin ;
1271	}
1272}
1273
1274
1275# PCRE regex engine
1276if [ IsOptionalHaikuImagePackageAdded PCRE ] {
1277	if $(TARGET_ARCH) != x86 {
1278		Echo "No optional package PCRE available for $(TARGET_ARCH)" ;
1279	} else {
1280		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1281			InstallOptionalHaikuImagePackage libpcre-8.12-x86-gcc4-2011-03-14.zip
1282				: $(baseURL)/libpcre-8.12-x86-gcc4-2011-03-14.zip ;
1283		} else {
1284			InstallOptionalHaikuImagePackage
1285				libpcre-8.12-x86-gcc2-2011-03-14.zip
1286				: $(baseURL)/libpcre-8.12-x86-gcc2-2011-03-14.zip ;
1287		}
1288	}
1289}
1290
1291
1292# Pe text editor
1293if [ IsOptionalHaikuImagePackageAdded Pe ] {
1294	if $(TARGET_ARCH) != x86 {
1295		Echo "No optional package Pe available for $(TARGET_ARCH)" ;
1296	} else {
1297		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1298			InstallOptionalHaikuImagePackage
1299				pe-2.4.3-600-x86-gcc4-2010-11-14.zip
1300				: $(baseURL)/pe-2.4.3-600-x86-gcc4-2010-11-14.zip ;
1301		} else {
1302			InstallOptionalHaikuImagePackage
1303				pe-2.4.3-600-x86-gcc2-2010-09-28.zip
1304				: $(baseURL)/pe-2.4.3-600-x86-gcc2-2010-09-28.zip ;
1305		}
1306		AddSymlinkToHaikuImage home config be Applications
1307			: /boot/apps/Pe/Pe ;
1308		AddSymlinkToHaikuImage common bin
1309			: /boot/apps/Pe/lpe ;
1310	}
1311}
1312
1313
1314# Perl
1315if [ IsOptionalHaikuImagePackageAdded Perl ] {
1316	if $(TARGET_ARCH) != x86 {
1317		Echo "No optional package Perl available for $(TARGET_ARCH)" ;
1318	} else {
1319		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1320			InstallOptionalHaikuImagePackage
1321				perl-5.10.1-x86-gcc4-2010-11-12.zip
1322				: $(baseURL)/perl-5.10.1-x86-gcc4-2010-11-12.zip
1323				: : true ;
1324		} else {
1325			InstallOptionalHaikuImagePackage
1326				perl-5.10.1-r1a2-x86-gcc2-2010-04-25-a.zip
1327				: $(baseURL)/perl-5.10.1-r1a2-x86-gcc2-2010-04-25-a.zip
1328				: : true ;
1329		}
1330		InstallSourceArchive perl-5.10.1_haiku-2010-04-29.tar.xz
1331			: $(baseSourceURL)/2010/perl-5.10.1_haiku-2010-04-29.tar.xz ;
1332	}
1333}
1334
1335
1336# Python
1337if [ IsOptionalHaikuImagePackageAdded Python ] {
1338	if $(TARGET_ARCH) != x86 {
1339		Echo "No optional package Python available for $(TARGET_ARCH)" ;
1340	} else {
1341		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1342			InstallOptionalHaikuImagePackage
1343				python-2.6.6-x86-gcc4-2010-11-12.zip
1344				: $(baseURL)/python-2.6.6-x86-gcc4-2010-11-12.zip
1345				: : true ;
1346		} else {
1347			InstallOptionalHaikuImagePackage
1348				python-2.6.6-x86-gcc2-2010-08-30.zip
1349				: $(baseURL)/python-2.6.6-x86-gcc2-2010-08-30.zip
1350				: : true ;
1351		}
1352	}
1353}
1354
1355
1356# Rsync
1357if [ IsOptionalHaikuImagePackageAdded Rsync ] {
1358	if $(TARGET_ARCH) != x86 {
1359		Echo "No optional package Rsync available for $(TARGET_ARCH)" ;
1360	} else {
1361		InstallOptionalHaikuImagePackage
1362			rsync-3.0.7-r1a2-x86-gcc2-2010-04-22-a.zip
1363			: $(baseURL)/rsync-3.0.7-r1a2-x86-gcc2-2010-04-22-a.zip ;
1364		InstallSourceArchive rsync-3.0.7_haiku-2010-04-29.tar.xz
1365			: $(baseSourceURL)/2010/rsync-3.0.7_haiku-2010-04-29.tar.xz ;
1366	}
1367}
1368
1369
1370# Ruby
1371if [ IsOptionalHaikuImagePackageAdded Ruby ] {
1372	if $(TARGET_ARCH) != x86 {
1373		Echo "No optional package Ruby available for $(TARGET_ARCH)" ;
1374	} else {
1375		InstallOptionalHaikuImagePackage
1376			ruby-1.9.1-x86-gcc2-2010-05-20.zip
1377			: $(baseURL)/ruby-1.9.1-x86-gcc2-2010-05-20.zip ;
1378	}
1379}
1380
1381
1382# Sed
1383if [ IsOptionalHaikuImagePackageAdded Sed ] {
1384	if $(TARGET_ARCH) != x86 {
1385		Echo "No optional package Sed available for $(TARGET_ARCH)" ;
1386	} else {
1387		InstallOptionalHaikuImagePackage
1388			sed-4.2.1-x86-gcc2-2011-03-14.zip
1389			: $(baseURL)/sed-4.2.1-x86-gcc2-2011-03-14.zip ;
1390	}
1391}
1392
1393
1394# SQLite
1395if [ IsOptionalHaikuImagePackageAdded SQLite ] {
1396	if $(TARGET_ARCH) != x86 {
1397		Echo "No optional package SQLite available for $(TARGET_ARCH)" ;
1398	} else {
1399		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1400			InstallOptionalHaikuImagePackage
1401				sqlite-3.7.5-x86-gcc4-2011-03-16.zip
1402				: $(baseURL)/sqlite-3.7.5-x86-gcc4-2011-03-16.zip ;
1403		} else {
1404			InstallOptionalHaikuImagePackage
1405				sqlite-3.7.5-x86-gcc2-2011-03-16.zip
1406				: $(baseURL)/sqlite-3.7.5-x86-gcc2-2011-03-16.zip ;
1407		}
1408	}
1409}
1410
1411
1412# Subversion
1413if [ IsOptionalHaikuImagePackageAdded Subversion ] {
1414	if $(TARGET_ARCH) != x86 {
1415		Echo "No optional package Subversion available for $(TARGET_ARCH)" ;
1416	} else {
1417		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1418			InstallOptionalHaikuImagePackage
1419				subversion-1.6.13-x86-gcc4-2010-11-12.zip
1420				: $(baseURL)/subversion-1.6.13-x86-gcc4-2010-11-12.zip
1421				: : true ;
1422		} else {
1423			InstallOptionalHaikuImagePackage
1424				subversion-1.6.13-x86-gcc2-2010-10-13.zip
1425				: $(baseURL)/subversion-1.6.13-x86-gcc2-2010-10-13.zip
1426				: : true ;
1427		}
1428	}
1429}
1430
1431
1432# TagLib
1433if [ IsOptionalHaikuImagePackageAdded TagLib ] {
1434	if $(TARGET_ARCH) != x86 {
1435		Echo "No optional package TagLib available for $(TARGET_ARCH)" ;
1436	} else {
1437		if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) {
1438			Echo "No optional package TagLib available for $(TARGET_ARCH)-gcc4" ;
1439		} else {
1440			InstallOptionalHaikuImagePackage
1441				taglib-1.6.3-r1a2-x86-gcc2-2010-04-25.zip
1442				: $(baseURL)/taglib-1.6.3-r1a2-x86-gcc2-2010-04-25.zip ;
1443		}
1444	}
1445}
1446
1447
1448# Tar
1449if [ IsOptionalHaikuImagePackageAdded Tar ] {
1450	if $(TARGET_ARCH) != x86 {
1451		Echo "No optional package Tar available for $(TARGET_ARCH)" ;
1452	} else {
1453		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1454			InstallOptionalHaikuImagePackage
1455				tar-1.25-x86-gcc4-2011-03-14.zip
1456				: $(baseURL)/tar-1.25-x86-gcc4-2011-03-14.zip ;
1457		} else {
1458			InstallOptionalHaikuImagePackage
1459				tar-1.25-x86-gcc2-2011-03-14.zip
1460				: $(baseURL)/tar-1.25-x86-gcc2-2011-03-14.zip ;
1461		}
1462	}
1463}
1464
1465
1466# TimGMSoundFont
1467if [ IsOptionalHaikuImagePackageAdded TimGMSoundFont ] {
1468	InstallOptionalHaikuImagePackage TimGMSoundFont-2010-06-16.zip
1469		: $(baseURL)/TimGMSoundFont-2010-06-16.zip ;
1470}
1471
1472
1473# TrackerNewTemplates
1474if [ IsOptionalHaikuImagePackageAdded TrackerNewTemplates ] {
1475	InstallOptionalHaikuImagePackage TrackerNewTemplates-2010-04-26.zip
1476		: $(baseURL)/TrackerNewTemplates-2010-04-26.zip
1477		: home config settings Tracker "Tracker New Templates"
1478	;
1479}
1480
1481
1482# Transmission
1483if [ IsOptionalHaikuImagePackageAdded Transmission ] {
1484	if $(TARGET_ARCH) != x86 {
1485		Echo "No optional package Transmission available for $(TARGET_ARCH)" ;
1486	} else {
1487		if $(HAIKU_GCC_VERSION[1]) >= 4 || $(isHybridBuild) {
1488			InstallOptionalHaikuImagePackage
1489				transmission-2.01-x86-gcc4-2010-07-10.zip
1490				: $(baseURL)/transmission-2.01-x86-gcc4-2010-07-10.zip
1491				: : true ;
1492		} else {
1493			Echo "No optional package Transmission available for $(TARGET_ARCH)-gcc2" ;
1494		}
1495	}
1496}
1497
1498
1499# UserlandFS
1500if [ IsOptionalHaikuImagePackageAdded UserlandFS ] {
1501	local arch = $(TARGET_ARCH) ;
1502	local abi = gcc$(HAIKU_GCC_VERSION[1]) ;
1503
1504	# kernel module
1505	AddFilesToHaikuImage system add-ons kernel file_systems : userlandfs ;
1506
1507	# server
1508	AddFilesToHaikuImage system servers : userlandfs_server ;
1509
1510	# libs
1511	local userlandfsLibs =
1512		libuserlandfs_beos_kernel.so
1513		libuserlandfs_haiku_kernel.so
1514		libuserlandfs_fuse.so
1515	;
1516	AddFilesToHaikuHybridImage system lib : $(userlandfsLibs) : : true ;
1517
1518	# development goodies
1519	if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] {
1520		if ! ( $(HAIKU_GCC_VERSION[1]) in 2 4 ) {
1521			Exit "Optional package UserlandFS: Unsupported GCC version:"
1522				$(HAIKU_GCC_VERSION[1]) ;
1523		}
1524
1525		# library symlinks
1526		local lib ;
1527		for lib in $(userlandfsLibs) {
1528			AddSymlinkToHaikuImage develop abi $(arch) $(abi) lib
1529				: /system/lib/$(lib:BS) ;
1530			AddSymlinkToAlternativeGCCArchive develop abi $(arch) $(abi) lib
1531				: /system/lib/$(arch)/$(lib:BS) ;
1532		}
1533
1534		# FUSE headers
1535		local fuseHeaders =
1536			fuse_common_compat.h
1537			fuse_common.h
1538			fuse_compat.h
1539			fuse.h
1540			fuse_lowlevel_compat.h
1541			fuse_lowlevel.h
1542			fuse_opt.h
1543		;
1544		fuseHeaders = $(fuseHeaders:G=userlandfs!fuse) ;
1545		SEARCH on $(fuseHeaders)
1546			= [ FDirName $(HAIKU_TOP) headers private userlandfs fuse ] ;
1547		AddFilesToHaikuImage develop headers userlandfs fuse : $(fuseHeaders) ;
1548	}
1549}
1550
1551
1552# Vim
1553if [ IsOptionalHaikuImagePackageAdded Vim ] {
1554	if $(TARGET_ARCH) != x86 {
1555		Echo "No optional package Vim available for $(TARGET_ARCH)" ;
1556	} else {
1557		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1558			InstallOptionalHaikuImagePackage vim-7.3-x86-gcc4-2010-08-22.zip
1559				:  $(baseURL)/vim-7.3-x86-gcc4-2010-08-22.zip
1560				: : true ;
1561		} else {
1562			InstallOptionalHaikuImagePackage vim-7.3-x86-gcc2-2010-08-22.zip
1563				:  $(baseURL)/vim-7.3-x86-gcc2-2010-08-22.zip
1564				: : true ;
1565		}
1566		AddSymlinkToHaikuImage home config be Applications
1567			: /boot/common/bin/gvim ;
1568		# TODO: move this symlink to the archive
1569		AddSymlinkToHaikuImage common bin : vim : vi ;
1570	}
1571}
1572
1573
1574# Vision
1575if [ IsOptionalHaikuImagePackageAdded Vision ] {
1576	if $(TARGET_ARCH) != x86 {
1577		Echo "No optional package Vision available for $(TARGET_ARCH)" ;
1578	} else {
1579		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1580			InstallOptionalHaikuImagePackage vision-908-x86-gcc4-2010-11-14.zip
1581				: $(baseURL)/vision-908-x86-gcc4-2010-11-14.zip ;
1582		} else {
1583			InstallOptionalHaikuImagePackage vision-908-x86-gcc2-2010-10-30.zip
1584				: $(baseURL)/vision-908-x86-gcc2-2010-10-30.zip ;
1585		}
1586		AddSymlinkToHaikuImage home config be Applications
1587			: /boot/apps/Vision/Vision ;
1588	}
1589}
1590
1591
1592# WebPositive
1593if [ IsOptionalHaikuImagePackageAdded WebPositive ] {
1594	if $(TARGET_ARCH) != x86 {
1595		Echo "No optional package WebPositive available for $(TARGET_ARCH)" ;
1596	} else if $(HAIKU_GCC_VERSION[1]) < 4 && ! $(isHybridBuild) {
1597		Echo "No optional package WebPositive available for gcc2" ;
1598	} else {
1599		InstallOptionalHaikuImagePackage
1600			WebPositive-gcc4-x86-r577-2011-03-13.zip
1601			: $(baseURL)/WebPositive-gcc4-x86-r577-2011-03-13.zip ;
1602		AddSymlinkToHaikuImage home config be Applications
1603			: /boot/apps/WebPositive/WebPositive ;
1604	}
1605}
1606
1607
1608# Welcome
1609if [ IsOptionalHaikuImagePackageAdded Welcome ] {
1610	CopyDirectoryToHaikuImage system documentation
1611		: [ FDirName $(HAIKU_TOP) docs welcome ]
1612		: welcome : -x .svn ;
1613	CopyDirectoryToHaikuImage system documentation
1614		: [ FDirName $(HAIKU_TOP) docs userguide ]
1615		: userguide : -x .svn ;
1616	AddSymlinkToHaikuImage home Desktop
1617		: /boot/system/documentation/welcome/welcome_en.html : Welcome ;
1618	AddSymlinkToHaikuImage home Desktop
1619		: /boot/system/documentation/userguide/en/contents.html : User\ Guide ;
1620}
1621
1622
1623# WifiFirmwareScriptData
1624# This optional package is for people who build their own images & have wifi
1625# hardware that requires install-wifi-firmwares.sh & have no active network
1626# connection. This is not to be added to default images.
1627if [ IsOptionalHaikuImagePackageAdded WifiFirmwareScriptData ] {
1628	if $(TARGET_ARCH) != x86 {
1629		Echo "No optional package WifiFirmwareScriptData available for"
1630			$(TARGET_ARCH) ;
1631	} else {
1632		# broadcom43xx
1633		# firmware cutter
1634		local broadcomFWCutterArchive = b43-fwcutter-012.tar.bz2 ;
1635		local broadcomFWCutterURL =
1636			http://bu3sch.de/b43/fwcutter/$(broadcomFWCutterArchive) ;
1637		local broadcomFWCutterFile = [ DownloadFile $(broadcomFWCutterArchive)
1638			: $(broadcomFWCutterURL) ] ;
1639		AddFilesToHaikuImage system data firmware broadcom43xx b43-fwcutter
1640			: $(broadcomFWCutterFile) ;
1641
1642		# headers needed to compile firmware cutter
1643		local glibcDir = [ FDirName
1644			$(HAIKU_TOP) src system libroot posix glibc ] ;
1645		local byteswapHeader = [ FDirName $(glibcDir) string byteswap.h ] ;
1646		AddFilesToHaikuImage system data firmware broadcom43xx b43-fwcutter
1647			: $(byteswapHeader) ;
1648		local bitByteswapHeader = [ FDirName
1649			$(glibcDir) include arch x86 bits byteswap.h ] ;
1650		AddFilesToHaikuImage system data firmware broadcom43xx b43-fwcutter bits
1651			: $(bitByteswapHeader) ;
1652
1653		# file containing firmware
1654		local broadcom43xxFile ;
1655		broadcom43xxFile = [ DownloadFile wl_apsta-3.130.20.0.o
1656			: http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o ] ;
1657		AddFilesToHaikuImage system data firmware broadcom43xx
1658			: $(broadcom43xxFile) ;
1659
1660		# marvell88w8335
1661		local marvelArchive = malo-firmware-1.4.tgz ;
1662		local marvelURL = http://www.nazgul.ch/malo/$(marvelArchive) ;
1663		local marvelFile = [ DownloadFile $(marvelArchive) : $(marvelURL) ] ;
1664		AddFilesToHaikuImage system data firmware marvell88w8335
1665			: $(marvelFile) ;
1666	}
1667}
1668
1669
1670# WonderBrush
1671if [ IsOptionalHaikuImagePackageAdded WonderBrush ] {
1672	if $(TARGET_ARCH) != x86 {
1673		Echo "No optional package WonderBrush available for $(TARGET_ARCH)" ;
1674	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) {
1675		Echo "No optional package WonderBrush available for gcc4" ;
1676	} else {
1677		InstallOptionalHaikuImagePackage WonderBrush-2.1.2.zip
1678			: $(baseURL)/WonderBrush-2.1.2-x86-gcc2-2008-11-08.zip
1679			: apps ;
1680		AddSymlinkToHaikuImage home config be Applications
1681			: /boot/apps/WonderBrush/WonderBrush ;
1682	}
1683}
1684
1685
1686# WQY-MicroHei
1687if [ IsOptionalHaikuImagePackageAdded WQY-MicroHei ] {
1688	InstallOptionalHaikuImagePackage
1689		wqy-microhei-0.2.0-beta-x86-gcc2-2011-02-23.zip
1690		: $(baseURL)/wqy-microhei-0.2.0-beta-x86-gcc2-2011-02-23.zip ;
1691}
1692
1693
1694# XZ-Utils
1695if [ IsOptionalHaikuImagePackageAdded XZ-Utils ] {
1696	if $(TARGET_ARCH) != x86 {
1697		Echo "No optional package XZ-Utils available for $(TARGET_ARCH)" ;
1698	} else {
1699		if $(HAIKU_GCC_VERSION[1]) >= 4 {
1700			InstallOptionalHaikuImagePackage
1701				xz-utils-5.0.1-x86-gcc4-2011-03-16.zip
1702				: $(baseURL)/xz-utils-5.0.1-x86-gcc4-2011-03-16.zip ;
1703		} else {
1704			InstallOptionalHaikuImagePackage
1705				xz-utils-4.999.9-r1a2-x86-gcc4-2010-04-25-a.zip
1706				: $(baseURL)/xz-utils-4.999.9-r1a2-x86-gcc4-2010-04-25-a.zip ;
1707		}
1708		InstallSourceArchive xz-utils-4.999.9_haiku-2010-04-29.tar.xz
1709			: $(baseSourceURL)/2010/xz-utils-4.999.9_haiku-2010-04-29.tar.xz ;
1710		AddExpanderRuleToHaikuImage "application/x-xz" : .tar.xz
1711			: "tar -Jtvf \\0045s"
1712			: "tar -Jxvf \\0045s"
1713		;
1714		AddExpanderRuleToHaikuImage "application/x-xz" : .txz
1715			: "tar -Jtvf \\0045s"
1716			: "tar -Jxvf \\0045s"
1717		;
1718		AddExpanderRuleToHaikuImage "application/x-xz" : .xz
1719			: "echo \\0045s | sed 's/.xz\\\$//g'"
1720			: "xz -df \\0045s"
1721		;
1722	}
1723}
1724
1725
1726# Yasm
1727if [ IsOptionalHaikuImagePackageAdded Yasm ] {
1728	if $(TARGET_ARCH) != x86 {
1729		Echo "No optional package Yasm available for $(TARGET_ARCH)" ;
1730	} else {
1731		InstallOptionalHaikuImagePackage
1732			yasm-1.1.0-x86-gcc2-2011-03-14.zip
1733			: $(baseURL)/yasm-1.1.0-x86-gcc2-2011-03-14.zip ;
1734	}
1735}
1736