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