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