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 ; 9if $(HAIKU_ADD_ALTERNATIVE_GCC_LIBS) && $(HAIKU_ALTERNATIVE_GCC_OUTPUT_DIR) { 10 isHybridBuild = 1 ; 11} 12 13 14# Available Optional Packages: 15# APR - support libraries used for example by SVN 16# APR-util 17# Beam - powerful native e-mail client 18# BeBook - the classic BeOS API documentation 19# BeHappy - special documentation (i.e. BeBook) browser 20# BeOSCompatibility - creates links within the system to support old apps 21# BePDF - native PDF reader 22# Bluetooth - experimental Haiku components for Bluetooth 23# CDRecord - the command line CD writing tools 24# Clockwerk - native audio/video compositing 25# CLucene - indexed file search 26# CVS - the version control system 27# Development - more complete dev environment (including autotools) 28# DevelopmentBase - basic development environment (gcc, headers, libs,...) 29# DevelopmentMin - development headers, libs, tools, from sources only 30# Firefox - the webbrowser 31# KeymapSwitcher - Desktop utility 32# LibIconv - text encoding conversion library 33# LibLayout - GCC2 package needed by some BeOS apps to compile 34# LibXML2 - the XML support libary 35# Links - the web browser 36# Nano - the command line text editor 37# Neon - support libraries used for example by SVN 38# NetSurf - the web browser 39# OpenSound - additional audio driver package 40# OpenSSH - the secure shell 41# OpenSSL - secure sockets library 42# P7zip - file archiving utility 43# Pe - the powerful native Programmer's Editor 44# Perl - the scripting language 45# Python - the scripting language 46# Rsync - remote directory synchronization 47# SQLite - the database implementation 48# Subversion - the version control system 49# Tar - archiving utility 50# UserlandFS - aids native file system development (like FUSE) 51# Vim - the command line text editor 52# Vision - powerful native IRC client 53# VLC - the multi media player with native interface 54# Welcome - introductory documentation to Haiku 55# WonderBrush - native graphics application 56# Yasm - the assembler utility 57 58local baseURL = http://haiku-files.org/files/optional-packages ; 59 60# APR 61if [ IsOptionalHaikuImagePackageAdded APR ] { 62 if $(TARGET_ARCH) != x86 { 63 Echo "No optional package APR available for $(TARGET_ARCH)" ; 64 } else { 65 InstallOptionalHaikuImagePackage apr-1.3.5-x86-gcc2-2009-07-05 66 : $(baseURL)/apr-1.3.5-x86-gcc2-2009-07-05.zip 67 : 68 ; 69 } 70} 71 72 73# APR-util 74if [ IsOptionalHaikuImagePackageAdded APR-util ] { 75 if $(TARGET_ARCH) != x86 { 76 Echo "No optional package APR-util available for $(TARGET_ARCH)" ; 77 } else { 78 InstallOptionalHaikuImagePackage apr-util-1.3.7-x86-gcc2-2009-07-05 79 : $(baseURL)/apr-util-1.3.7-x86-gcc2-2009-07-05.zip 80 : 81 ; 82 } 83} 84 85 86# Beam 87if [ IsOptionalHaikuImagePackageAdded Beam ] { 88 if $(TARGET_ARCH) != x86 { 89 Echo "No optional package Beam available for $(TARGET_ARCH)" ; 90 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 91 Echo "No optional package Beam available for gcc4" ; 92 } else { 93 InstallOptionalHaikuImagePackage Beam-1.1.2 94 : $(baseURL)/Beam-1.1.2-x86-gcc2-2008-03-27.zip 95 : apps 96 ; 97 AddSymlinkToHaikuImage home config be Applications 98 : /boot/apps/beam-1-1-2-r5-with-libs/Beam ; 99 } 100} 101 102 103# BeBook 104if [ IsOptionalHaikuImagePackageAdded BeBook ] { 105 InstallOptionalHaikuImagePackage bebook_20081026 106 : $(baseURL)/bebook_20081026.zip 107 : system documentation 108 ; 109 AddSymlinkToHaikuImage home Desktop 110 : /boot/system/documentation/bebook/index.html : BeBook ; 111} 112 113 114# BeHappy 115if [ IsOptionalHaikuImagePackageAdded BeHappy ] { 116 if $(TARGET_ARCH) != x86 { 117 Echo "No optional package BeHappy available for $(TARGET_ARCH)" ; 118 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 119 Echo "No optional package BeHappy available for gcc4" ; 120 } else { 121 InstallOptionalHaikuImagePackage BeHappy-1.0.6-x86-gcc2-2008-10-16 122 : $(baseURL)/BeHappy-1.0.6-x86-gcc2-2008-10-16.zip 123 : 124 ; 125 AddSymlinkToHaikuImage home config be Applications 126 : /boot/apps/BeHappy/BeHappy ; 127 } 128} 129 130 131# BeOSCompatibility 132if [ IsOptionalHaikuImagePackageAdded BeOSCompatibility ] { 133 if $(TARGET_ARCH) != x86 { 134 Echo "No optional package BeOSCompatibility available for $(TARGET_ARCH)" ; 135 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 136 Echo "No optional package BeOSCompatibility available for gcc4" ; 137 } else { 138 Echo "Warning: Adding BeOS compatibility symlinks. This will go away. Please fix your apps!" ; 139 AddSymlinkToHaikuImage beos : ../system/apps ; 140 AddSymlinkToHaikuImage beos : ../system/bin ; 141 AddSymlinkToHaikuImage beos : ../system/documentation ; 142 AddSymlinkToHaikuImage beos : ../system/etc ; 143 AddSymlinkToHaikuImage beos : ../system/preferences ; 144 AddSymlinkToHaikuImage beos : ../system ; 145 } 146} 147 148 149# BePDF 150if [ IsOptionalHaikuImagePackageAdded BePDF ] { 151 if $(TARGET_ARCH) != x86 { 152 Echo "No optional package BePDF available for $(TARGET_ARCH)" ; 153 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 154 Echo "No optional package BePDF available for gcc4" ; 155 } else { 156 InstallOptionalHaikuImagePackage BePDF-1.1.1b1.x86 157 : $(baseURL)/BePDF-1.1.1b1.x86.zip 158 : apps 159 ; 160 AddSymlinkToHaikuImage home config be Applications 161 : /boot/apps/BePDF/BePDF ; 162 } 163} 164 165 166# Bluetooth stack 167if [ IsOptionalHaikuImagePackageAdded Bluetooth ] { 168 local bluetoothDrivers = h2generic ; 169 AddDriversToHaikuImage bluetooth : $(bluetoothDrivers) ; 170 AddFilesToHaikuImage system servers : bluetooth_server ; 171 AddFilesToHaikuImage system lib : libbluetooth.so ; 172 AddFilesToHaikuImage system add-ons kernel network devices : bluetooth ; 173 AddFilesToHaikuImage system add-ons kernel network protocols : l2cap ; 174 AddFilesToHaikuImage system add-ons kernel bluetooth : btCoreData ; 175 AddFilesToHaikuImage system preferences : Bluetooth ; 176 AddFilesToHaikuImage system bin : bt_dev_info bt_discovery ; 177 AddSymlinkToHaikuImage home config be Preferences 178 : /boot/system/preferences/Bluetooth ; 179 if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] 180 && $(HAIKU_GCC_VERSION[1]) in 2 4 { 181 local arch = $(TARGET_ARCH) ; 182 local abi = gcc$(HAIKU_GCC_VERSION[1]) ; 183 AddSymlinkToHaikuHybridImage develop abi $(arch) $(abi) lib 184 : /system/lib libbluetooth.so : : true ; 185 } 186} 187 188 189# CDRecord 190if [ IsOptionalHaikuImagePackageAdded CDRecord ] { 191 if $(TARGET_ARCH) != x86 { 192 Echo "No optional package CDRecord available for $(TARGET_ARCH)" ; 193 } else { 194 InstallOptionalHaikuImagePackage cdrecord-2.01.01a59-x86-gcc2-2009-05-26 195 : $(baseURL)/cdrecord-2.01.01a59-x86-gcc2-2009-05-26.zip 196 : 197 ; 198 } 199} 200 201 202# Clockwerk 203if [ IsOptionalHaikuImagePackageAdded Clockwerk ] { 204 if $(TARGET_ARCH) != x86 { 205 Echo "No optional package Clockwerk available for $(TARGET_ARCH)" ; 206 } else if $(HAIKU_GCC_VERSION[1]) >= 4 { 207 InstallOptionalHaikuImagePackage Clockwerk-0.0.1-x86-gcc4-2009-08-06 208 : $(baseURL)/Clockwerk-0.0.1-x86-gcc4-2009-08-06.zip 209 : 210 ; 211 AddSymlinkToHaikuImage home config be Applications 212 : /boot/apps/Clockwerk/Clockwerk ; 213 } else { 214 InstallOptionalHaikuImagePackage Clockwerk-0.0.1-x86-gcc2-2009-08-06 215 : $(baseURL)/Clockwerk-0.0.1-x86-gcc2-2009-08-06.zip 216 : 217 ; 218 AddSymlinkToHaikuImage home config be Applications 219 : /boot/apps/Clockwerk/Clockwerk ; 220 } 221} 222 223 224# CLucene 225if [ IsOptionalHaikuImagePackageAdded CLucene ] { 226 if $(TARGET_ARCH) != x86 { 227 Echo "No optional package CLucene available for $(TARGET_ARCH)" ; 228 } else if $(HAIKU_GCC_VERSION[1]) < 4 && ! $(isHybridBuild) { 229 Echo "No optional package CLucene available for GCC2" ; 230 } else { 231 InstallOptionalHaikuImagePackage 232 clucene-0.9.21svn-x86-gcc4-haiku-2009-08-11 233 : $(baseURL)/clucene-0.9.21-x86-gcc4-haiku-2009-08-11.zip 234 : 235 ; 236 } 237} 238 239 240# CVS 241if [ IsOptionalHaikuImagePackageAdded CVS ] { 242 if $(TARGET_ARCH) != x86 { 243 Echo "No optional package CVS available for $(TARGET_ARCH)" ; 244 } else { 245 InstallOptionalHaikuImagePackage cvs-1.12.13-x86-gcc2-2009-07-06 246 : $(baseURL)/cvs-1.12.13-x86-gcc2-2009-07-06.zip 247 : 248 ; 249 } 250} 251 252 253# Development 254if [ IsOptionalHaikuImagePackageAdded Development ] && $(TARGET_ARCH) = x86 { 255 # autotools 256 InstallOptionalHaikuImagePackage autoconf-2.63-gcc2-2008-11-05 257 : $(baseURL)/autoconf-2.63-gcc2-2008-11-05.zip ; 258 InstallOptionalHaikuImagePackage automake-1.10.1-gcc2-2008-11-06 259 : $(baseURL)/automake-1.10.1-gcc2-2008-11-06.zip ; 260 InstallOptionalHaikuImagePackage libtool-2.2.6a-gcc2-2008-11-09 261 : $(baseURL)/libtool-2.2.6a-gcc2-2008-11-09.zip ; 262 InstallOptionalHaikuImagePackage texinfo-4.13a-gcc2-2008-11-09 263 : $(baseURL)/texinfo-4.13a-gcc2-2008-11-09.zip ; 264} 265 266 267# DevelopmentBase 268if [ IsOptionalHaikuImagePackageAdded DevelopmentBase ] 269 && $(TARGET_ARCH) = x86 { 270 # gcc and binutils 271 if $(HAIKU_GCC_VERSION[1]) = 2 || $(isHybridBuild) { 272 InstallOptionalHaikuImagePackage gcc-2.95.3-x86-gcc2-2009-06-29 273 : $(baseURL)/gcc-2.95.3-x86-gcc2-2009-06-29.zip ; 274 } 275 276 if $(HAIKU_GCC_VERSION[1]) = 4 || $(isHybridBuild) { 277 InstallOptionalHaikuImagePackage gcc-4.3.3-x86-gcc4-2009-06-29-2 278 : $(baseURL)/gcc-4.3.3-x86-gcc4-2009-06-29-2.zip ; 279 280 # symlink cpp to g++'s headers 281 AddSymlinkToHaikuImage develop abi x86 gcc4 headers 282 : ../tools/current/include/g++ : cpp ; 283 } 284 285 # other commonly used tools 286 InstallOptionalHaikuImagePackage bison-2.4.1-x86-gcc2-2009-07-05 287 : $(baseURL)/bison-2.4.1-x86-gcc2-2009-07-05.zip ; 288 InstallOptionalHaikuImagePackage m4-1.4.12-gcc2-2008-11-04 289 : $(baseURL)/m4-1.4.12-gcc2-2008-11-04.zip ; 290 InstallOptionalHaikuImagePackage flex-2.5.35-x86-gcc2-2009-08-17 291 : $(baseURL)/flex-2.5.35-x86-gcc2-2009-08-17.zip ; 292 InstallOptionalHaikuImagePackage jam-2.5-x86-gcc2-2009-05-26 293 : $(baseURL)/jam-2.5-x86-gcc2-2009-05-26.zip ; 294 295} 296 297 298# DevelopmentMin 299if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] && $(TARGET_ARCH) = x86 { 300 if ! ( $(HAIKU_GCC_VERSION[1]) in 2 4 ) { 301 Exit "Optional package DevelopmentMin: Unsupported GCC version:" 302 $(HAIKU_GCC_VERSION[1]) ; 303 } 304 305 local arch = $(TARGET_ARCH) ; 306 local abi = gcc$(HAIKU_GCC_VERSION[1]) ; 307 local abiDirTokens = develop abi $(arch) $(abi) ; 308 309 # glue code 310 AddFilesToHaikuHybridImage $(abiDirTokens) lib : 311 <src!system!glue!arch!$(arch)>crti.o 312 <src!system!glue!arch!$(arch)>crtn.o 313 <src!system!glue>init_term_dyn.o 314 <src!system!glue>start_dyn.o 315 <src!system!glue>haiku_version_glue.o 316 ; 317 318 # kernel 319 AddFilesToHaikuHybridImage $(abiDirTokens) lib : kernel.so : _KERNEL_ ; 320 321 # library symlinks 322 local lib ; 323 for lib in $(SYSTEM_LIBS) $(SYSTEM_LIBS_LIBGL_ALIASES) { 324 AddSymlinkToHaikuHybridImage $(abiDirTokens) lib 325 : /system/lib $(lib:BS) : : true ; 326 } 327 328 # static libraries 329 AddFilesToHaikuHybridImage $(abiDirTokens) lib : libncurses.a ; 330 331 # the POSIX error code mapper library 332 AddFilesToHaikuHybridImage $(abiDirTokens) lib : libposix_error_mapper.a ; 333 334 # symlinks for ABI abstraction 335 AddSymlinkToHaikuImage develop abi : $(arch)/$(abi) : current ; 336 AddSymlinkToHaikuImage develop lib : /boot/develop/abi/current/lib 337 : $(arch) ; 338 AddSymlinkToHaikuImage develop tools 339 : /boot/develop/abi/current/tools/current : gnupro ; 340 AddSymlinkToHaikuImage develop headers 341 : /boot/develop/abi/current/headers/cpp ; 342 AddSymlinkToHaikuHybridImage $(abiDirTokens) library-paths 343 : /boot/common/lib : common : true ; 344 AddSymlinkToHaikuHybridImage $(abiDirTokens) library-paths 345 : /boot/home/config/lib : home : true ; 346 347 # ABI independent stuff 348 349 # scripts: cc and c++ wrapper, freetype-config, setgcc 350 local scripts = cc c++ freetype-config setgcc ; 351 SEARCH on $(scripts) = [ FDirName $(HAIKU_TOP) data bin ] ; 352 AddFilesToHaikuImage system bin : $(scripts) ; 353 354 # make and mkdepend build tool, which are part of the Haiku source tree 355 # TODO: Both should be removed from the tree, made download packages 356 # and moved to the DevelopmentBase package. 357 AddFilesToHaikuImage system bin : make mkdepend ; 358 359 # skeleton makefile and makefile-engine 360 local makefileEngineFiles = 361 <makefile-engine>makefile 362 <makefile-engine>makefile-engine 363 ; 364 SEARCH on $(makefileEngineFiles) 365 = [ FDirName $(HAIKU_TOP) data develop ] ; 366 AddFilesToHaikuImage develop etc : $(makefileEngineFiles) ; 367 368 # headers 369 AddHeaderDirectoryToHaikuImage glibc ; 370 AddHeaderDirectoryToHaikuImage os ; 371 AddHeaderDirectoryToHaikuImage posix ; 372 373 # create be -> os symlink for now 374 AddSymlinkToHaikuImage develop headers : os : be ; 375 376 # BSD and GNU compatibility headers 377 AddHeaderDirectoryToHaikuImage compatibility bsd : bsd ; 378 AddHeaderDirectoryToHaikuImage compatibility gnu : gnu ; 379 380 # third party libs headers 381 AddHeaderDirectoryToHaikuImage libs freetype2 : 3rdparty ; 382 AddHeaderDirectoryToHaikuImage libs ncurses : 3rdparty ; 383 AddHeaderDirectoryToHaikuImage libs png : 3rdparty ; 384 AddHeaderDirectoryToHaikuImage libs termcap : 3rdparty ; 385 AddHeaderDirectoryToHaikuImage libs zlib : 3rdparty ; 386 387 # cpp headers 388 if $(HAIKU_GCC_VERSION[1]) = 2 { 389 # GCC 2 only -- for GCC 4 they come with the DevelopmentBase package 390 CopyDirectoryToHaikuImage $(abiDirTokens) headers 391 : [ FDirName $(HAIKU_TOP) headers cpp ] : : -x .svn ; 392 CopyDirectoryToAlternativeGCCArchive $(abiDirTokens) headers 393 : [ FDirName $(HAIKU_TOP) headers cpp ] : : -x .svn ; 394 } 395} 396 397 398# Firefox web browser 399if [ IsOptionalHaikuImagePackageAdded Firefox ] { 400 if $(TARGET_ARCH) != x86 { 401 Echo "No optional package Firefox available for $(TARGET_ARCH)" ; 402 } else if $(HAIKU_GCC_VERSION[1]) >= 4 { 403 InstallOptionalHaikuImagePackage 404 BeZillaBrowser-2.0.0.21pre-haiku-gcc4-x86-09-03-01 405 : $(baseURL)/BeZillaBrowser-2.0.0.21pre-haiku-gcc4-x86-09-03-01.zip 406 : apps 407 ; 408 AddSymlinkToHaikuImage home config be Applications 409 : /boot/apps/BeZillaBrowser/BeZillaBrowser ; 410 } else { 411 InstallOptionalHaikuImagePackage BeZillaBrowser-gcc2-20090218 412 : http://bezilla.beuser.de/builds/BeZillaBrowser-gcc2-20090218.zip 413 : apps 414 ; 415 AddSymlinkToHaikuImage home config be Applications 416 : /boot/apps/BeZillaBrowser/BeZillaBrowser ; 417 } 418} 419 420 421# KeymapSwitcher 422if [ IsOptionalHaikuImagePackageAdded KeymapSwitcher ] { 423 if $(TARGET_ARCH) != x86 { 424 Echo "No optional package KeymapSwitcher available for $(TARGET_ARCH)" ; 425 } else if $(HAIKU_GCC_VERSION[1]) >= 4 { 426 InstallOptionalHaikuImagePackage 427 KeymapSwitcher-1.2.3-x86-gcc4-2009-05-31 428 : $(baseURL)/KeymapSwitcher-1.2.3-x86-gcc4-2009-05-31.zip 429 : 430 ; 431 AddSymlinkToHaikuImage home config be Desktop\ Applets 432 : /boot/common/bin/KeymapSwitcher ; 433 } else { 434 InstallOptionalHaikuImagePackage 435 KeymapSwitcher-1.2.3-x86-gcc2-2009-05-31 436 : $(baseURL)/KeymapSwitcher-1.2.3-x86-gcc2-2009-05-31.zip 437 : 438 ; 439 AddSymlinkToHaikuImage home config be Desktop\ Applets 440 : /boot/common/bin/KeymapSwitcher ; 441 } 442} 443 444 445# LibIconv 446if [ IsOptionalHaikuImagePackageAdded LibIconv ] { 447 if $(TARGET_ARCH) != x86 { 448 Echo "No optional package LibIconv available for $(TARGET_ARCH)" ; 449 } else { 450 InstallOptionalHaikuImagePackage libiconv-1.13.1-x86-gcc2-2009-07-07 451 : $(baseURL)/libiconv-1.13.1-x86-gcc2-2009-07-07.zip 452 : 453 ; 454 } 455} 456 457 458# LibLayout library 459if [ IsOptionalHaikuImagePackageAdded LibLayout ] { 460 if $(TARGET_ARCH) != x86 { 461 Echo "No optional package LibLayout available for $(TARGET_ARCH)" ; 462 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 463 Echo "No optional package LibLayout available for gcc4" ; 464 } else { 465 InstallOptionalHaikuImagePackage liblayout-1.4.0-gcc2-2009-03-08 466 : $(baseURL)/liblayout-1.4.0-gcc2-2009-03-08.zip 467 : 468 ; 469 } 470} 471 472 473# LibXML2 474if [ IsOptionalHaikuImagePackageAdded LibXML2 ] { 475 if $(TARGET_ARCH) != x86 { 476 Echo "No optional package LibXML2 available for $(TARGET_ARCH)" ; 477 } else { 478 InstallOptionalHaikuImagePackage libxml2-2.7.3-x86-gcc2-2009-07-06 479 : $(baseURL)/libxml2-2.7.3-x86-gcc2-2009-07-06.zip 480 : 481 ; 482 } 483} 484 485 486# Links web browser 487if [ IsOptionalHaikuImagePackageAdded Links ] { 488 if $(TARGET_ARCH) != x86 { 489 Echo "No optional package Links available for $(TARGET_ARCH)" ; 490 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 491 Echo "No optional package Links available for gcc4" ; 492 } else { 493 InstallOptionalHaikuImagePackage Links 494 : $(baseURL)/links-x86-gcc2-2008-05-03.zip 495 : 496 ; 497 AddSymlinkToHaikuImage home config be Applications 498 : /boot/home/config/bin/links ; 499 } 500} 501 502 503# Nano 504if [ IsOptionalHaikuImagePackageAdded Nano ] { 505 if $(TARGET_ARCH) != x86 { 506 Echo "No optional package Nano available for $(TARGET_ARCH)" ; 507 } else { 508 InstallOptionalHaikuImagePackage nano-2.0.9-x86-gcc2-2009-07-06 509 : $(baseURL)/nano-2.0.9-x86-gcc2-2009-07-06.zip 510 : 511 ; 512 } 513} 514 515 516# Neon 517if [ IsOptionalHaikuImagePackageAdded Neon ] { 518 if $(TARGET_ARCH) != x86 { 519 Echo "No optional package Neon available for $(TARGET_ARCH)" ; 520 } else { 521 InstallOptionalHaikuImagePackage neon-0.28.5-x86-gcc2-2009-07-06 522 : $(baseURL)/neon-0.28.5-x86-gcc2-2009-07-06.zip 523 : 524 ; 525 } 526} 527 528 529# NetSurf web browser 530if [ IsOptionalHaikuImagePackageAdded NetSurf ] { 531 if $(TARGET_ARCH) != x86 { 532 Echo "No optional package NetSurf available for $(TARGET_ARCH)" ; 533 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 534 Echo "No optional package NetSurf available for gcc4" ; 535 } else { 536 InstallOptionalHaikuImagePackage NetSurf-r7117 537 : $(baseURL)/NetSurf-r7117-x86-gcc2-2009-04-17.zip 538 : 539 ; 540 AddSymlinkToHaikuImage home config be Applications 541 : /boot/apps/netsurf/NetSurf ; 542 } 543} 544 545 546# OpenSound drivers 547if [ IsOptionalHaikuImagePackageAdded OpenSound ] { 548 if $(TARGET_ARCH) != x86 { 549 Echo "No optional package OpenSound available for $(TARGET_ARCH)" ; 550 } else { 551 InstallOptionalHaikuImagePackage OpenSound 552 : $(baseURL)/OpenSound-x86-gcc2-2008-06-21.zip 553 : 554 ; 555 } 556 #UnzipArchiveToHaikuImage home : data/vv.mp3.zip : 0 ; 557} 558 559 560# OpenSSH 561if [ IsOptionalHaikuImagePackageAdded OpenSSH ] { 562 if $(TARGET_ARCH) != x86 { 563 Echo "No optional package OpenSSH available for $(TARGET_ARCH)" ; 564 } else { 565 if ! $(HAIKU_IMAGE_HOST_NAME) && ! $(HAIKU_IGNORE_USER_BUILD_CONFIG) { 566 Exit "Optional package OpenSSH requires the HAIKU_IMAGE_HOST_NAME" 567 "variable to be set!" ; 568 } 569 570 InstallOptionalHaikuImagePackage openssh-5.2p1-x86-gcc2-2009-05-27 571 : $(baseURL)/openssh-5.2p1-x86-gcc2-2009-05-27.zip 572 : 573 ; 574 575 AddUserToHaikuImage sshd : 1001 : 100 : /var/empty : /bin/true 576 : "sshd user" ; 577 } 578} 579 580 581# OpenSSL 582if [ IsOptionalHaikuImagePackageAdded OpenSSL ] { 583 if $(TARGET_ARCH) != x86 { 584 Echo "No optional package OpenSSL available for $(TARGET_ARCH)" ; 585 } else { 586 InstallOptionalHaikuImagePackage $(HAIKU_OPENSSL_PACKAGE) 587 : $(HAIKU_OPENSSL_URL) 588 : 589 ; 590 } 591} 592 593 594# P7zip 595if [ IsOptionalHaikuImagePackageAdded P7zip ] { 596 if $(TARGET_ARCH) != x86 { 597 Echo "No optional package P7zip available for $(TARGET_ARCH)" ; 598 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 599 Echo "No optional package P7zip available for gcc4" ; 600 } else { 601 InstallOptionalHaikuImagePackage p7zip-4.65-x86-gcc2-2009-05-24 602 : $(baseURL)/p7zip-4.65-x86-gcc2-2009-05-24.zip 603 : 604 ; 605 606 actions BuildHaikuImageExpanderRules 607 { 608 echo "\"application/x-7z-compressed\"\t.7z\t\"7za l \0045s\"\t\"7za x -y \0045s\"" > $(1) 609 } 610 611 Always expander.rules ; 612 MakeLocate expander.rules : $(HAIKU_COMMON_PLATFORM_OBJECT_DIR) ; 613 BuildHaikuImageExpanderRules expander.rules ; 614 AddFilesToHaikuImage home config etc : expander.rules ; 615 } 616} 617 618 619# Pe text editor 620if [ IsOptionalHaikuImagePackageAdded Pe ] { 621 if $(TARGET_ARCH) != x86 { 622 Echo "No optional package Pe available for $(TARGET_ARCH)" ; 623 } else { 624 if $(HAIKU_GCC_VERSION[1]) >= 4 { 625 InstallOptionalHaikuImagePackage Pe-2.4.2-x86-gcc4-2009-08-04 626 : $(baseURL)/Pe-2.4.2-x86-gcc4-2009-08-04.zip 627 ; 628 } else { 629 InstallOptionalHaikuImagePackage Pe-2.4.2-x86-gcc2-2009-07-05 630 : $(baseURL)/Pe-2.4.2-x86-gcc2-2009-07-05.zip 631 ; 632 } 633 634 AddSymlinkToHaikuImage home config be Applications 635 : /boot/apps/Pe/Pe ; 636 AddSymlinkToHaikuImage common bin 637 : /boot/apps/Pe/lpe ; 638 } 639} 640 641 642# Perl 643if [ IsOptionalHaikuImagePackageAdded Perl ] { 644 if $(TARGET_ARCH) != x86 { 645 Echo "No optional package Perl available for $(TARGET_ARCH)" ; 646 } else { 647 InstallOptionalHaikuImagePackage perl-5.10.0-gcc2-2008-10-29 648 : $(baseURL)/perl-5.10.0-gcc2-2008-10-29.zip 649 : 650 ; 651 } 652} 653 654 655# Python 656if [ IsOptionalHaikuImagePackageAdded Python ] { 657 if $(TARGET_ARCH) != x86 { 658 Echo "No optional package Python available for $(TARGET_ARCH)" ; 659 } else { 660 InstallOptionalHaikuImagePackage python-2.6.2-x86-gcc2-2009-07-12 661 : $(baseURL)/python-2.6.2-x86-gcc2-2009-07-12.zip 662 : 663 ; 664 } 665} 666 667 668# Rsync 669if [ IsOptionalHaikuImagePackageAdded Rsync ] { 670 if $(TARGET_ARCH) != x86 { 671 Echo "No optional package Rsync available for $(TARGET_ARCH)" ; 672 } else { 673 InstallOptionalHaikuImagePackage rsync-3.0.6-x86-gcc2-2009-05-26 674 : $(baseURL)/rsync-3.0.6-x86-gcc2-2009-05-26.zip 675 : 676 ; 677 } 678} 679 680 681# SQLite 682if [ IsOptionalHaikuImagePackageAdded SQLite ] { 683 if $(TARGET_ARCH) != x86 { 684 Echo "No optional package SQLite available for $(TARGET_ARCH)" ; 685 } else { 686 InstallOptionalHaikuImagePackage sqlite-3.6.16-x86-gcc2-2009-07-06 687 : $(baseURL)/sqlite-3.6.16-x86-gcc2-2009-07-06.zip 688 : 689 ; 690 } 691} 692 693 694# Subversion 695if [ IsOptionalHaikuImagePackageAdded Subversion ] { 696 if $(TARGET_ARCH) != x86 { 697 Echo "No optional package Subversion available for $(TARGET_ARCH)" ; 698 } else { 699 InstallOptionalHaikuImagePackage subversion-1.6.2-x86-gcc2-2009-05-20 700 : $(baseURL)/subversion-1.6.2-x86-gcc2-2009-05-20.zip 701 : 702 ; 703 } 704} 705 706 707# Tar 708if [ IsOptionalHaikuImagePackageAdded Tar ] { 709 if $(TARGET_ARCH) != x86 { 710 Echo "No optional package Tar available for $(TARGET_ARCH)" ; 711 } else { 712 InstallOptionalHaikuImagePackage tar-1.21-gcc2-2009-02-08 713 : $(baseURL)/tar-1.21-gcc2-2009-02-08.zip 714 : 715 ; 716 } 717} 718 719 720# UserlandFS 721if [ IsOptionalHaikuImagePackageAdded UserlandFS ] { 722 local arch = $(TARGET_ARCH) ; 723 local abi = gcc$(HAIKU_GCC_VERSION[1]) ; 724 725 # kernel module 726 AddFilesToHaikuImage system add-ons kernel file_systems : userlandfs ; 727 728 # server 729 AddFilesToHaikuImage system servers : userlandfs_server ; 730 731 # libs 732 local userlandfsLibs = 733 libuserlandfs_beos_kernel.so 734 libuserlandfs_haiku_kernel.so 735 libuserlandfs_fuse.so 736 ; 737 AddFilesToHaikuHybridImage system lib : $(userlandfsLibs) : : true ; 738 739 # development goodies 740 if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] { 741 if ! ( $(HAIKU_GCC_VERSION[1]) in 2 4 ) { 742 Exit "Optional package UserlandFS: Unsupported GCC version:" 743 $(HAIKU_GCC_VERSION[1]) ; 744 } 745 746 # library symlinks 747 local lib ; 748 for lib in $(userlandfsLibs) { 749 AddSymlinkToHaikuImage develop abi $(arch) $(abi) lib 750 : /system/lib/$(lib:BS) ; 751 AddSymlinkToAlternativeGCCArchive develop abi $(arch) $(abi) lib 752 : /system/lib/$(arch)/$(lib:BS) ; 753 } 754 755 # FUSE headers 756 local fuseHeaders = 757 fuse_common_compat.h 758 fuse_common.h 759 fuse_compat.h 760 fuse.h 761 fuse_lowlevel_compat.h 762 fuse_lowlevel.h 763 fuse_opt.h 764 ; 765 fuseHeaders = $(fuseHeaders:G=userlandfs!fuse) ; 766 SEARCH on $(fuseHeaders) 767 = [ FDirName $(HAIKU_TOP) headers private userlandfs fuse ] ; 768 AddFilesToHaikuImage develop headers userlandfs fuse : $(fuseHeaders) ; 769 } 770} 771 772 773# Vim 774if [ IsOptionalHaikuImagePackageAdded Vim ] { 775 if $(TARGET_ARCH) != x86 { 776 Echo "No optional package Vim available for $(TARGET_ARCH)" ; 777 } else if $(HAIKU_GCC_VERSION[1]) >= 4 { 778 InstallOptionalHaikuImagePackage vim-7.2-x86-gcc4-2009-05-31 779 : $(baseURL)/vim-7.2-x86-gcc4-2009-05-31.zip 780 : 781 ; 782 AddSymlinkToHaikuImage home config be Applications 783 : /boot/common/bin/gvim ; 784 } else { 785 InstallOptionalHaikuImagePackage vim-7.2-x86-gcc2-2009-05-31 786 : $(baseURL)/vim-7.2-x86-gcc2-2009-05-31.zip 787 : 788 ; 789 AddSymlinkToHaikuImage home config be Applications 790 : /boot/common/bin/gvim ; 791 } 792} 793 794 795# Vision 796if [ IsOptionalHaikuImagePackageAdded Vision ] { 797 if $(TARGET_ARCH) != x86 { 798 Echo "No optional package Vision available for $(TARGET_ARCH)" ; 799 } else if $(HAIKU_GCC_VERSION[1]) >= 4 { 800 InstallOptionalHaikuImagePackage Vision-0.9.7-H-090423-1 801 : $(baseURL)/Vision-0.9.7-H-x86-gcc4-2009-04-23.zip 802 : apps 803 ; 804 AddSymlinkToHaikuImage home config be Applications 805 : /boot/apps/Vision-0.9.7-H-090423/Vision ; 806 } else { 807 InstallOptionalHaikuImagePackage Vision-0.9.7-H-090423 808 : $(baseURL)/Vision-0.9.7-H-x86-gcc2-2009-04-23.zip 809 : apps 810 ; 811 AddSymlinkToHaikuImage home config be Applications 812 : /boot/apps/Vision-0.9.7-H-090423/Vision ; 813 } 814} 815 816 817# VLC media player 818if [ IsOptionalHaikuImagePackageAdded VLC ] { 819 if $(TARGET_ARCH) != x86 { 820 Echo "No optional package VLC available for $(TARGET_ARCH)" ; 821 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 822 Echo "No optional package VLC available for gcc4" ; 823 } else { 824 InstallOptionalHaikuImagePackage VLC-0.8.6d 825 : $(baseURL)/vlc-0.8.6d-gcc2-2009-04-18.zip 826 : apps 827 ; 828 AddSymlinkToHaikuImage home config be Applications 829 : "/boot/apps/vlc-0.8.6d/VLC media player" ; 830 AddSymlinkToHaikuImage common bin 831 : "/boot/apps/vlc-0.8.6d/VLC media player" : vlc ; 832 } 833} 834 835 836# Welcome 837if [ IsOptionalHaikuImagePackageAdded Welcome ] { 838 CopyDirectoryToHaikuImage system documentation 839 : [ FDirName $(HAIKU_TOP) docs welcome ] 840 : welcome : -x .svn ; 841 CopyDirectoryToHaikuImage system documentation 842 : [ FDirName $(HAIKU_TOP) docs userguide ] 843 : userguide : -x .svn ; 844 AddFilesToHaikuImage system documentation 845 : [ FDirName $(HAIKU_TOP) docs Haiku-doc.css ] 846 : Haiku-doc.css ; 847 AddSymlinkToHaikuImage home Desktop 848 : /boot/system/documentation/welcome/welcome.html : Welcome ; 849} 850 851 852# WonderBrush 853if [ IsOptionalHaikuImagePackageAdded WonderBrush ] { 854 if $(TARGET_ARCH) != x86 { 855 Echo "No optional package WonderBrush available for $(TARGET_ARCH)" ; 856 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 857 Echo "No optional package WonderBrush available for gcc4" ; 858 } else { 859 InstallOptionalHaikuImagePackage WonderBrush-2.1.2 860 : $(baseURL)/WonderBrush-2.1.2-x86-gcc2-2008-11-08.zip 861 : apps 862 ; 863 AddSymlinkToHaikuImage home config be Applications 864 : /boot/apps/WonderBrush/WonderBrush ; 865 } 866} 867 868 869# Yasm 870if [ IsOptionalHaikuImagePackageAdded Yasm ] { 871 if $(TARGET_ARCH) != x86 { 872 Echo "No optional package Yasm available for $(TARGET_ARCH)" ; 873 } else { 874 InstallOptionalHaikuImagePackage yasm-0.8.0-x86-gcc2-2009-07-06 875 : $(baseURL)/yasm-0.8.0-x86-gcc2-2009-07-06.zip 876 : 877 ; 878 } 879} 880