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