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