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