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