xref: /haiku/build/jam/OptionalPackages (revision c28bcbdf58b7a03ea773ae82f2e0a3befcc96ac4)
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 = 0 ;
9if $(HAIKU_ADD_ALTERNATIVE_GCC_LIBS) && $(HAIKU_ALTERNATIVE_GCC_OUTPUT_DIR) {
10	isHybridBuild = 1 ;
11}
12
13# Available Optional Packages:
14#	APR
15#	APR-util
16#	Beam
17#	BePDF
18#	Bluetooth
19#	CVS
20#	Development
21#	Firefox
22#	Links
23#	NetSurf
24#	OpenSound
25#	OpenSSL
26#	Pe
27#	Perl
28#	Subversion
29#	Vision
30#	VLC
31#	Welcome
32#	WonderBrush
33#	Yasm
34
35
36# package dependencies
37OptionalPackageDependencies APR-util : APR ;
38OptionalPackageDependencies Development : Perl ;
39OptionalPackageDependencies NetSurf : OpenSSL ;
40OptionalPackageDependencies OpenSSH : OpenSSL ;
41OptionalPackageDependencies Subversion : OpenSSL ;
42
43
44# APR
45if [ IsOptionalHaikuImagePackageAdded APR ] {
46	if $(TARGET_ARCH) != x86 {
47		Echo "No optional package APR available for $(TARGET_ARCH)" ;
48	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
49		Echo "No optional package APR available for gcc4" ;
50	} else {
51		local baseURL = http://haiku-files.org/files/optional-packages ;
52		InstallOptionalHaikuImagePackage apr-0.9.17-gcc2-2008-05-20
53			: $(baseURL)/apr-0.9.17-gcc2-2008-05-20.zip
54			:
55		;
56	}
57}
58
59
60# APR-util
61if [ IsOptionalHaikuImagePackageAdded APR-util ] {
62	if $(TARGET_ARCH) != x86 {
63		Echo "No optional package APR-util available for $(TARGET_ARCH)" ;
64	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
65		Echo "No optional package APR-util available for gcc4" ;
66	} else {
67		local baseURL = http://haiku-files.org/files/optional-packages ;
68		InstallOptionalHaikuImagePackage apr-util-0.9.15-gcc2-2008-05-15
69			: $(baseURL)/apr-util-0.9.15-gcc2-2008-05-15.zip
70			:
71		;
72	}
73}
74
75
76# Beam
77if [ IsOptionalHaikuImagePackageAdded Beam ] {
78	if $(TARGET_ARCH) != x86 {
79		Echo "No optional package Beam available for $(TARGET_ARCH)" ;
80	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
81		Echo "No optional package Beam available for gcc4" ;
82	} else {
83		InstallOptionalHaikuImagePackage Beam
84#			: http://dl.hirschkaefer.de/beam/beam-1-1-2-bone-with-libs.zip
85			: http://dl.hirschkaefer.de/beam/beam-1-1-2-r5-with-libs.zip
86			: apps
87		;
88		AddSymlinkToHaikuImage home config be Applications
89#			: /boot/apps/beam-1-1-2-bone-with-libs/Beam ;
90			: /boot/apps/beam-1-1-2-r5-with-libs/Beam ;
91	}
92}
93
94
95# BePDF
96if [ IsOptionalHaikuImagePackageAdded BePDF ] {
97	if $(TARGET_ARCH) != x86 {
98		Echo "No optional package BePDF available for $(TARGET_ARCH)" ;
99	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
100		Echo "No optional package BePDF available for gcc4" ;
101	} else {
102		InstallOptionalHaikuImagePackage BePDF
103			: http://haiku-files.org/files/optional-packages/BePDF-1.0.0b2.x86.zip
104			: apps
105		;
106		AddSymlinkToHaikuImage home config be Applications
107			: /boot/apps/BePDF/BePDF ;
108	}
109}
110
111
112# Bluetooth stack
113if [ IsOptionalHaikuImagePackageAdded Bluetooth ] {
114	local bluetoothDrivers = h2generic ;
115	AddDriversToHaikuImage bluetooth : $(bluetoothDrivers) ;
116	AddFilesToHaikuImage beos system servers : bluetooth_server ;
117	AddFilesToHaikuImage beos system lib : libbluetooth.so ;
118	AddFilesToHaikuImage beos bin : bt_dev_info bt_discovery ;
119
120	if [ IsOptionalHaikuImagePackageAdded Development ] {
121		AddSymlinkToHaikuImage develop lib x86 : /system/lib/libbluetooth.so ;
122	}
123}
124
125
126# CVS
127if [ IsOptionalHaikuImagePackageAdded CVS ] {
128	if $(TARGET_ARCH) != x86 {
129		Echo "No optional package CVS available for $(TARGET_ARCH)" ;
130	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
131		Echo "No optional package CVS available for gcc4" ;
132	} else {
133		local baseURL = http://haiku-files.org/files/optional-packages ;
134		InstallOptionalHaikuImagePackage cvs-1.12.13-gcc2-2008-09-30
135			: $(baseURL)/cvs-1.12.13-gcc2-2008-09-30.zip
136			:
137		;
138	}
139}
140
141
142# Development
143if [ IsOptionalHaikuImagePackageAdded Development ]
144		&& $(TARGET_ARCH) = x86 {
145	# glue code
146	AddFilesToHaikuImage develop lib x86
147		: <src!system!glue!arch!x86>crti.o <src!system!glue!arch!x86>crtn.o
148		  <src!system!glue>init_term_dyn.o <src!system!glue>start_dyn.o ;
149
150	# kernel
151	AddFilesToHaikuImage develop lib x86 : kernel.so : _KERNEL_ ;
152
153	# library symlinks
154	local lib ;
155	for lib in $(BEOS_SYSTEM_LIBS) libglut.so {
156		AddSymlinkToHaikuImage develop lib x86 : /system/lib/$(lib:BS) ;
157	}
158
159	# static libraries
160	AddFilesToHaikuImage develop lib x86 : libncurses.a ;
161
162	# cc and c++ wrapper scripts
163	AddFilesToHaikuImage beos bin : cc c++ ;
164
165	# headers
166	AddHeaderDirectoryToHaikuImage gnu : 3rdparty ;
167	AddHeaderDirectoryToHaikuImage os ;
168	AddHeaderDirectoryToHaikuImage posix ;
169
170	# add _G_config.h to posix/
171	SEARCH on <header>_G_config.h = [ FDirName $(HAIKU_TOP) headers glibc ] ;
172	AddFilesToHaikuImage develop headers posix : <header>_G_config.h ;
173
174	# create be -> os symlink for now
175	AddSymlinkToHaikuImage develop headers : os : be ;
176
177	# BSD compatibility headers
178	AddHeaderDirectoryToHaikuImage compatibility bsd : bsd ;
179
180	# create gnu -> 3rdparty symlink
181	AddSymlinkToHaikuImage develop headers : 3rdparty : gnu ;
182		# TODO: Change BEINCLUDES and gcc to refer to 3rdparty rather than gnu.
183
184	# third party libs headers
185	AddHeaderDirectoryToHaikuImage libs ncurses : 3rdparty ;
186	AddHeaderDirectoryToHaikuImage libs png : 3rdparty ;
187	AddHeaderDirectoryToHaikuImage libs zlib : 3rdparty ;
188
189	if $(HAIKU_GCC_VERSION[1]) > 2 {
190		# gcc 4
191
192		# symlink cpp to g++'s headers
193		AddSymlinkToHaikuImage develop headers
194			: /boot/develop/tools/gnupro/include/g++ : cpp ;
195	} else {
196		# gcc 2.95.3
197
198		AddHeaderDirectoryToHaikuImage cpp ;
199	}
200
201	if $(HAIKU_GCC_VERSION[1]) = 2 || $(isHybridBuild) = 1 {
202		# gcc and binutils
203		local baseURL = http://haiku-files.org/files/optional-packages ;
204		InstallOptionalHaikuImagePackage gcc-2.95.3-haiku-080323
205			: $(baseURL)/gcc-2.95.3-haiku-080323.zip
206			: develop tools
207		;
208		AddSymlinkToHaikuImage develop tools : gcc-2.95.3-haiku-080323
209			: gnupro ;
210
211		# other tools
212		InstallOptionalHaikuImagePackage autoconf-2.61-gcc2-2008-03-24
213			: $(baseURL)/autoconf-2.61-gcc2-2008-03-24.zip
214			: home
215		;
216		InstallOptionalHaikuImagePackage automake-1.10.1-gcc2-2008-03-24-1
217			: $(baseURL)/automake-1.10.1-gcc2-2008-03-24-1.zip
218			: home
219		;
220		InstallOptionalHaikuImagePackage bison-2.3-gcc2-2008-03-28
221			: $(baseURL)/bison-2.3-gcc2-2008-03-28.zip
222			: home
223		;
224		InstallOptionalHaikuImagePackage flex-2.5.35-gcc2-2008-03-28
225			: $(baseURL)/flex-2.5.35-gcc2-2008-03-28.zip
226			: home
227		;
228		InstallOptionalHaikuImagePackage jam-haiku-gcc2-2008-03-27-1
229			: $(baseURL)/jam-haiku-gcc2-2008-03-27-1.zip
230			: .
231		;
232		InstallOptionalHaikuImagePackage libtool-1.5.26-gcc2-2008-04-07
233			: $(baseURL)/libtool-1.5.26-gcc2-2008-04-07.zip
234			: home
235		;
236		InstallOptionalHaikuImagePackage texinfo-4.11-gcc2-2008-03-24
237			: $(baseURL)/texinfo-4.11-gcc2-2008-03-24.zip
238			: home
239		;
240	}
241}
242
243
244# Firefox web browser
245if [ IsOptionalHaikuImagePackageAdded Firefox ] {
246	if $(TARGET_ARCH) != x86 {
247		Echo "No optional package Firefox available for $(TARGET_ARCH)" ;
248	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
249		Echo "No optional package Firefox available for gcc4" ;
250	} else {
251 		InstallOptionalHaikuImagePackage Firefox
252			: http://www.yellowbites.com/downloads/Firefox-2.0.0.12.zip
253 			: apps
254 		;
255 		AddSymlinkToHaikuImage home config be Applications
256			: /boot/apps/Firefox/Firefox ;
257	}
258}
259
260
261# Links web browser
262if [ IsOptionalHaikuImagePackageAdded Links ] {
263	if $(TARGET_ARCH) != x86 {
264		Echo "No optional package Links available for $(TARGET_ARCH)" ;
265	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
266		Echo "No optional package Links available for gcc4" ;
267	} else {
268		InstallOptionalHaikuImagePackage Links
269			: http://revolf.free.fr/beos/links-beos-bin.zip
270			:
271		;
272		AddSymlinkToHaikuImage home config be Applications
273			: /boot/home/config/bin/links ;
274	}
275}
276
277
278# NetSurf web browser
279if [ IsOptionalHaikuImagePackageAdded NetSurf ] {
280	if $(TARGET_ARCH) != x86 {
281		Echo "No optional package NetSurf available for $(TARGET_ARCH)" ;
282	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
283		Echo "No optional package NetSurf available for gcc4" ;
284	} else {
285		InstallOptionalHaikuImagePackage NetSurf
286			: http://revolf.free.fr/beos/netsurf-bone.zip
287			:
288		;
289		AddSymlinkToHaikuImage home config be Applications
290			: /boot/apps/netsurf/NetSurf ;
291	}
292}
293
294
295# OpenSound drivers
296if [ IsOptionalHaikuImagePackageAdded OpenSound ] {
297	if $(TARGET_ARCH) != x86 {
298		Echo "No optional package OpenSound available for $(TARGET_ARCH)" ;
299#	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
300#		Echo "No optional package OpenSound available for gcc4" ;
301	} else {
302		InstallOptionalHaikuImagePackage OpenSound
303			: http://www.yellowbites.com/downloads/OpenSound_Haiku20080621.zip
304			:
305		;
306	}
307	#UnzipArchiveToHaikuImage home : data/vv.mp3.zip : 0 ;
308}
309
310
311# OpenSSH
312if [ IsOptionalHaikuImagePackageAdded OpenSSH ] {
313	if $(TARGET_ARCH) != x86 {
314		Echo "No optional package OpenSSH available for $(TARGET_ARCH)" ;
315	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
316		Echo "No optional package OpenSSH available for gcc4" ;
317	} else {
318		local baseURL = http://haiku-files.org/files/optional-packages ;
319		InstallOptionalHaikuImagePackage openssh-5.0p1-gcc2-2008-05-04-1
320			: $(baseURL)/openssh-5.0p1-gcc2-2008-05-04-1.zip
321			:
322		;
323
324		AddUserToHaikuImage sshd : 1001 : 100 : /var/empty : /bin/true
325			: "sshd user" ;
326	}
327}
328
329
330# OpenSSL
331if [ IsOptionalHaikuImagePackageAdded OpenSSL ] {
332	if $(TARGET_ARCH) != x86 {
333		Echo "No optional package OpenSSL available for $(TARGET_ARCH)" ;
334	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
335		Echo "No optional package OpenSSL available for gcc4" ;
336	} else {
337		local baseURL = http://haiku-files.org/files/optional-packages ;
338		InstallOptionalHaikuImagePackage openssl-0.9.8g-gcc2-2008-03-28
339			: $(baseURL)/openssl-0.9.8g-gcc2-2008-03-28.zip
340			: home
341		;
342	}
343}
344
345
346# Pe text editor
347if [ IsOptionalHaikuImagePackageAdded Pe ] {
348	if $(TARGET_ARCH) != x86 {
349		Echo "No optional package Pe available for $(TARGET_ARCH)" ;
350	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
351		Echo "No optional package Pe available for gcc4" ;
352	} else {
353		InstallOptionalHaikuImagePackage pe-2.4.1-x86
354			: http://dl.hirschkaefer.de/beos/pe-2.4.1-x86.zip
355			: apps
356		;
357
358		# TODO: The installation directory should probably be renamed to just
359		# "pe" (or "Pe") and the contained "(drag lpe here...)" be removed.
360		AddSymlinkToHaikuImage home config be Applications
361			: /boot/apps/pe-2.4.1-x86/pe ;
362		AddSymlinkToHaikuImage home config bin
363			: /boot/apps/pe-2.4.1-x86/lpe ;
364	}
365}
366
367
368# Perl
369if [ IsOptionalHaikuImagePackageAdded Perl ] {
370	if $(TARGET_ARCH) != x86 {
371		Echo "No optional package Perl available for $(TARGET_ARCH)" ;
372	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
373		Echo "No optional package Perl available for gcc4" ;
374	} else {
375		local baseURL = http://haiku-files.org/files/optional-packages ;
376		InstallOptionalHaikuImagePackage perl-5.10.0-gcc2-2008-03-24
377			: $(baseURL)/perl-5.10.0-gcc2-2008-03-24.zip
378			: home
379		;
380	}
381}
382
383
384# Subversion
385if [ IsOptionalHaikuImagePackageAdded Subversion ] {
386	if $(TARGET_ARCH) != x86 {
387		Echo "No optional package Subversion available for $(TARGET_ARCH)" ;
388	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
389		Echo "No optional package Subversion available for gcc4" ;
390	} else {
391		InstallOptionalHaikuImagePackage Subversion
392			: http://haiku.mlotz.ch/subversion-1.4.6-haiku-20080628.zip
393			: home
394		;
395	}
396}
397
398
399# Vision
400if [ IsOptionalHaikuImagePackageAdded Vision ] {
401	if $(TARGET_ARCH) != x86 {
402		Echo "No optional package Vision available for $(TARGET_ARCH)" ;
403	} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
404		InstallOptionalHaikuImagePackage Vision-0.9.7-H-21072008-gcc4
405			: http://vision.sf.net/Vision-0.9.7-H-21072008-gcc4.zip
406			: apps
407		;
408		AddSymlinkToHaikuImage home config be Applications
409			: /boot/apps/Vision-0.9.7-H-18072008/Vision ;
410	} else {
411		InstallOptionalHaikuImagePackage Vision-0.9.7-H-21072008
412			: http://vision.sf.net/Vision-0.9.7-H-21072008.zip
413			: apps
414		;
415		AddSymlinkToHaikuImage home config be Applications
416			: /boot/apps/Vision-0.9.7-H-21072008/Vision ;
417	}
418}
419
420# VLC media player
421if [ IsOptionalHaikuImagePackageAdded VLC ] {
422	if $(TARGET_ARCH) != x86 {
423		Echo "No optional package VLC available for $(TARGET_ARCH)" ;
424	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
425		Echo "No optional package VLC available for gcc4" ;
426	} else {
427		InstallOptionalHaikuImagePackage VLC
428			: http://www.yellowbites.com/downloads/vlc-0.8.6c.zip
429			: apps
430		;
431		AddSymlinkToHaikuImage home config be Applications
432			: /boot/apps/vlc-0.8.6c/vlc ;
433	}
434}
435
436# Welcome
437if [ IsOptionalHaikuImagePackageAdded Welcome ] {
438	CopyDirectoryToHaikuImage beos documentation
439		: [ FDirName $(HAIKU_TOP) docs welcome ]
440		: welcome : -x .svn ;
441	AddSymlinkToHaikuImage home Desktop
442		: /boot/beos/documentation/welcome/welcome.html : Welcome ;
443}
444
445# WonderBrush
446if [ IsOptionalHaikuImagePackageAdded WonderBrush ] {
447	if $(TARGET_ARCH) != x86 {
448		Echo "No optional package WonderBrush available for $(TARGET_ARCH)" ;
449	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
450		Echo "No optional package WonderBrush available for gcc4" ;
451	} else {
452		InstallOptionalHaikuImagePackage WonderBrush
453			: http://www.yellowbites.com/downloads/WonderBrush-2.1.1-demo-x86-R5.zip
454			: apps
455		;
456		AddSymlinkToHaikuImage home config be Applications
457			: /boot/apps/WonderBrush/WonderBrush ;
458	}
459}
460
461# Yasm
462if [ IsOptionalHaikuImagePackageAdded Yasm ] {
463	if $(TARGET_ARCH) != x86 {
464		Echo "No optional package Yasm available for $(TARGET_ARCH)" ;
465	} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
466		Echo "No optional package Yasm available for gcc4" ;
467	} else {
468		local baseURL = http://haiku-files.org/files/optional-packages ;
469		InstallOptionalHaikuImagePackage yasm-0.7.1-gcc2-2008-10-01
470			: $(baseURL)/yasm-0.7.1-gcc2-2008-10-01.zip
471			:
472		;
473	}
474}
475