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