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 jpeg : 3rdparty ; 383 AddHeaderDirectoryToHaikuImage libs ncurses : 3rdparty ; 384 AddHeaderDirectoryToHaikuImage libs png : 3rdparty ; 385 AddHeaderDirectoryToHaikuImage libs termcap : 3rdparty ; 386 AddHeaderDirectoryToHaikuImage libs zlib : 3rdparty ; 387 388 # cpp headers 389 if $(HAIKU_GCC_VERSION[1]) = 2 { 390 # GCC 2 only -- for GCC 4 they come with the DevelopmentBase package 391 CopyDirectoryToHaikuImage $(abiDirTokens) headers 392 : [ FDirName $(HAIKU_TOP) headers cpp ] : : -x .svn ; 393 CopyDirectoryToAlternativeGCCArchive $(abiDirTokens) headers 394 : [ FDirName $(HAIKU_TOP) headers cpp ] : : -x .svn ; 395 } 396} 397 398 399# Firefox web browser 400if [ IsOptionalHaikuImagePackageAdded Firefox ] { 401 if $(TARGET_ARCH) != x86 { 402 Echo "No optional package Firefox available for $(TARGET_ARCH)" ; 403 } else if $(HAIKU_GCC_VERSION[1]) >= 4 { 404 InstallOptionalHaikuImagePackage 405 BeZillaBrowser-2.0.0.21pre-haiku-gcc4-x86-09-03-01 406 : $(baseURL)/BeZillaBrowser-2.0.0.21pre-haiku-gcc4-x86-09-03-01.zip 407 : apps 408 ; 409 AddSymlinkToHaikuImage home config be Applications 410 : /boot/apps/BeZillaBrowser/BeZillaBrowser ; 411 } else { 412 InstallOptionalHaikuImagePackage BeZillaBrowser-gcc2-20090218 413 : http://bezilla.beuser.de/builds/BeZillaBrowser-gcc2-20090218.zip 414 : apps 415 ; 416 AddSymlinkToHaikuImage home config be Applications 417 : /boot/apps/BeZillaBrowser/BeZillaBrowser ; 418 } 419} 420 421 422# KeymapSwitcher 423if [ IsOptionalHaikuImagePackageAdded KeymapSwitcher ] { 424 if $(TARGET_ARCH) != x86 { 425 Echo "No optional package KeymapSwitcher available for $(TARGET_ARCH)" ; 426 } else if $(HAIKU_GCC_VERSION[1]) >= 4 { 427 InstallOptionalHaikuImagePackage 428 KeymapSwitcher-1.2.3-x86-gcc4-2009-05-31 429 : $(baseURL)/KeymapSwitcher-1.2.3-x86-gcc4-2009-05-31.zip 430 : 431 ; 432 AddSymlinkToHaikuImage home config be Desktop\ Applets 433 : /boot/common/bin/KeymapSwitcher ; 434 } else { 435 InstallOptionalHaikuImagePackage 436 KeymapSwitcher-1.2.3-x86-gcc2-2009-05-31 437 : $(baseURL)/KeymapSwitcher-1.2.3-x86-gcc2-2009-05-31.zip 438 : 439 ; 440 AddSymlinkToHaikuImage home config be Desktop\ Applets 441 : /boot/common/bin/KeymapSwitcher ; 442 } 443} 444 445 446# LibIconv 447if [ IsOptionalHaikuImagePackageAdded LibIconv ] { 448 if $(TARGET_ARCH) != x86 { 449 Echo "No optional package LibIconv available for $(TARGET_ARCH)" ; 450 } else { 451 InstallOptionalHaikuImagePackage libiconv-1.13.1-x86-gcc2-2009-07-07 452 : $(baseURL)/libiconv-1.13.1-x86-gcc2-2009-07-07.zip 453 : 454 ; 455 } 456} 457 458 459# LibLayout library 460if [ IsOptionalHaikuImagePackageAdded LibLayout ] { 461 if $(TARGET_ARCH) != x86 { 462 Echo "No optional package LibLayout available for $(TARGET_ARCH)" ; 463 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 464 Echo "No optional package LibLayout available for gcc4" ; 465 } else { 466 InstallOptionalHaikuImagePackage liblayout-1.4.0-gcc2-2009-03-08 467 : $(baseURL)/liblayout-1.4.0-gcc2-2009-03-08.zip 468 : 469 ; 470 } 471} 472 473 474# LibXML2 475if [ IsOptionalHaikuImagePackageAdded LibXML2 ] { 476 if $(TARGET_ARCH) != x86 { 477 Echo "No optional package LibXML2 available for $(TARGET_ARCH)" ; 478 } else { 479 InstallOptionalHaikuImagePackage libxml2-2.7.3-x86-gcc2-2009-07-06 480 : $(baseURL)/libxml2-2.7.3-x86-gcc2-2009-07-06.zip 481 : 482 ; 483 } 484} 485 486 487# Links web browser 488if [ IsOptionalHaikuImagePackageAdded Links ] { 489 if $(TARGET_ARCH) != x86 { 490 Echo "No optional package Links available for $(TARGET_ARCH)" ; 491 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 492 Echo "No optional package Links available for gcc4" ; 493 } else { 494 InstallOptionalHaikuImagePackage Links 495 : $(baseURL)/links-x86-gcc2-2008-05-03.zip 496 : 497 ; 498 AddSymlinkToHaikuImage home config be Applications 499 : /boot/home/config/bin/links ; 500 } 501} 502 503 504# Nano 505if [ IsOptionalHaikuImagePackageAdded Nano ] { 506 if $(TARGET_ARCH) != x86 { 507 Echo "No optional package Nano available for $(TARGET_ARCH)" ; 508 } else { 509 InstallOptionalHaikuImagePackage nano-2.0.9-x86-gcc2-2009-07-06 510 : $(baseURL)/nano-2.0.9-x86-gcc2-2009-07-06.zip 511 : 512 ; 513 } 514} 515 516 517# Neon 518if [ IsOptionalHaikuImagePackageAdded Neon ] { 519 if $(TARGET_ARCH) != x86 { 520 Echo "No optional package Neon available for $(TARGET_ARCH)" ; 521 } else { 522 InstallOptionalHaikuImagePackage neon-0.28.5-x86-gcc2-2009-07-06 523 : $(baseURL)/neon-0.28.5-x86-gcc2-2009-07-06.zip 524 : 525 ; 526 } 527} 528 529 530# NetSurf web browser 531if [ IsOptionalHaikuImagePackageAdded NetSurf ] { 532 if $(TARGET_ARCH) != x86 { 533 Echo "No optional package NetSurf available for $(TARGET_ARCH)" ; 534 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 535 Echo "No optional package NetSurf available for gcc4" ; 536 } else { 537 InstallOptionalHaikuImagePackage NetSurf-r7117 538 : $(baseURL)/NetSurf-r7117-x86-gcc2-2009-04-17.zip 539 : 540 ; 541 AddSymlinkToHaikuImage home config be Applications 542 : /boot/apps/netsurf/NetSurf ; 543 } 544} 545 546 547# OpenSound drivers 548if [ IsOptionalHaikuImagePackageAdded OpenSound ] { 549 if $(TARGET_ARCH) != x86 { 550 Echo "No optional package OpenSound available for $(TARGET_ARCH)" ; 551 } else { 552 InstallOptionalHaikuImagePackage OpenSound 553 : $(baseURL)/OpenSound-x86-gcc2-2008-06-21.zip 554 : 555 ; 556 } 557 #UnzipArchiveToHaikuImage home : data/vv.mp3.zip : 0 ; 558} 559 560 561# OpenSSH 562if [ IsOptionalHaikuImagePackageAdded OpenSSH ] { 563 if $(TARGET_ARCH) != x86 { 564 Echo "No optional package OpenSSH available for $(TARGET_ARCH)" ; 565 } else { 566 if ! $(HAIKU_IMAGE_HOST_NAME) && ! $(HAIKU_IGNORE_USER_BUILD_CONFIG) { 567 Exit "Optional package OpenSSH requires the HAIKU_IMAGE_HOST_NAME" 568 "variable to be set!" ; 569 } 570 571 InstallOptionalHaikuImagePackage openssh-5.2p1-x86-gcc2-2009-05-27 572 : $(baseURL)/openssh-5.2p1-x86-gcc2-2009-05-27.zip 573 : 574 ; 575 576 AddUserToHaikuImage sshd : 1001 : 100 : /var/empty : /bin/true 577 : "sshd user" ; 578 } 579} 580 581 582# OpenSSL 583if [ IsOptionalHaikuImagePackageAdded OpenSSL ] { 584 if $(TARGET_ARCH) != x86 { 585 Echo "No optional package OpenSSL available for $(TARGET_ARCH)" ; 586 } else { 587 InstallOptionalHaikuImagePackage $(HAIKU_OPENSSL_PACKAGE) 588 : $(HAIKU_OPENSSL_URL) 589 : 590 ; 591 } 592} 593 594 595# P7zip 596if [ IsOptionalHaikuImagePackageAdded P7zip ] { 597 if $(TARGET_ARCH) != x86 { 598 Echo "No optional package P7zip available for $(TARGET_ARCH)" ; 599 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 600 Echo "No optional package P7zip available for gcc4" ; 601 } else { 602 InstallOptionalHaikuImagePackage p7zip-4.65-x86-gcc2-2009-05-24 603 : $(baseURL)/p7zip-4.65-x86-gcc2-2009-05-24.zip 604 : 605 ; 606 607 actions BuildHaikuImageExpanderRules 608 { 609 echo "\"application/x-7z-compressed\"\t.7z\t\"7za l \0045s\"\t\"7za x -y \0045s\"" > $(1) 610 } 611 612 Always expander.rules ; 613 MakeLocate expander.rules : $(HAIKU_COMMON_PLATFORM_OBJECT_DIR) ; 614 BuildHaikuImageExpanderRules expander.rules ; 615 AddFilesToHaikuImage home config etc : expander.rules ; 616 } 617} 618 619 620# Pe text editor 621if [ IsOptionalHaikuImagePackageAdded Pe ] { 622 if $(TARGET_ARCH) != x86 { 623 Echo "No optional package Pe available for $(TARGET_ARCH)" ; 624 } else { 625 if $(HAIKU_GCC_VERSION[1]) >= 4 { 626 InstallOptionalHaikuImagePackage Pe-2.4.2-x86-gcc4-2009-08-04 627 : $(baseURL)/Pe-2.4.2-x86-gcc4-2009-08-04.zip 628 ; 629 } else { 630 InstallOptionalHaikuImagePackage Pe-2.4.2-x86-gcc2-2009-07-05 631 : $(baseURL)/Pe-2.4.2-x86-gcc2-2009-07-05.zip 632 ; 633 } 634 635 AddSymlinkToHaikuImage home config be Applications 636 : /boot/apps/Pe/Pe ; 637 AddSymlinkToHaikuImage common bin 638 : /boot/apps/Pe/lpe ; 639 } 640} 641 642 643# Perl 644if [ IsOptionalHaikuImagePackageAdded Perl ] { 645 if $(TARGET_ARCH) != x86 { 646 Echo "No optional package Perl available for $(TARGET_ARCH)" ; 647 } else { 648 InstallOptionalHaikuImagePackage perl-5.10.0-gcc2-2008-10-29 649 : $(baseURL)/perl-5.10.0-gcc2-2008-10-29.zip 650 : 651 ; 652 } 653} 654 655 656# Python 657if [ IsOptionalHaikuImagePackageAdded Python ] { 658 if $(TARGET_ARCH) != x86 { 659 Echo "No optional package Python available for $(TARGET_ARCH)" ; 660 } else { 661 InstallOptionalHaikuImagePackage python-2.6.2-x86-gcc2-2009-07-12 662 : $(baseURL)/python-2.6.2-x86-gcc2-2009-07-12.zip 663 : 664 ; 665 } 666} 667 668 669# Rsync 670if [ IsOptionalHaikuImagePackageAdded Rsync ] { 671 if $(TARGET_ARCH) != x86 { 672 Echo "No optional package Rsync available for $(TARGET_ARCH)" ; 673 } else { 674 InstallOptionalHaikuImagePackage rsync-3.0.6-x86-gcc2-2009-05-26 675 : $(baseURL)/rsync-3.0.6-x86-gcc2-2009-05-26.zip 676 : 677 ; 678 } 679} 680 681 682# SQLite 683if [ IsOptionalHaikuImagePackageAdded SQLite ] { 684 if $(TARGET_ARCH) != x86 { 685 Echo "No optional package SQLite available for $(TARGET_ARCH)" ; 686 } else { 687 InstallOptionalHaikuImagePackage sqlite-3.6.16-x86-gcc2-2009-07-06 688 : $(baseURL)/sqlite-3.6.16-x86-gcc2-2009-07-06.zip 689 : 690 ; 691 } 692} 693 694 695# Subversion 696if [ IsOptionalHaikuImagePackageAdded Subversion ] { 697 if $(TARGET_ARCH) != x86 { 698 Echo "No optional package Subversion available for $(TARGET_ARCH)" ; 699 } else { 700 InstallOptionalHaikuImagePackage subversion-1.6.2-x86-gcc2-2009-05-20 701 : $(baseURL)/subversion-1.6.2-x86-gcc2-2009-05-20.zip 702 : 703 ; 704 } 705} 706 707 708# Tar 709if [ IsOptionalHaikuImagePackageAdded Tar ] { 710 if $(TARGET_ARCH) != x86 { 711 Echo "No optional package Tar available for $(TARGET_ARCH)" ; 712 } else { 713 InstallOptionalHaikuImagePackage tar-1.21-gcc2-2009-02-08 714 : $(baseURL)/tar-1.21-gcc2-2009-02-08.zip 715 : 716 ; 717 } 718} 719 720 721# UserlandFS 722if [ IsOptionalHaikuImagePackageAdded UserlandFS ] { 723 local arch = $(TARGET_ARCH) ; 724 local abi = gcc$(HAIKU_GCC_VERSION[1]) ; 725 726 # kernel module 727 AddFilesToHaikuImage system add-ons kernel file_systems : userlandfs ; 728 729 # server 730 AddFilesToHaikuImage system servers : userlandfs_server ; 731 732 # libs 733 local userlandfsLibs = 734 libuserlandfs_beos_kernel.so 735 libuserlandfs_haiku_kernel.so 736 libuserlandfs_fuse.so 737 ; 738 AddFilesToHaikuHybridImage system lib : $(userlandfsLibs) : : true ; 739 740 # development goodies 741 if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] { 742 if ! ( $(HAIKU_GCC_VERSION[1]) in 2 4 ) { 743 Exit "Optional package UserlandFS: Unsupported GCC version:" 744 $(HAIKU_GCC_VERSION[1]) ; 745 } 746 747 # library symlinks 748 local lib ; 749 for lib in $(userlandfsLibs) { 750 AddSymlinkToHaikuImage develop abi $(arch) $(abi) lib 751 : /system/lib/$(lib:BS) ; 752 AddSymlinkToAlternativeGCCArchive develop abi $(arch) $(abi) lib 753 : /system/lib/$(arch)/$(lib:BS) ; 754 } 755 756 # FUSE headers 757 local fuseHeaders = 758 fuse_common_compat.h 759 fuse_common.h 760 fuse_compat.h 761 fuse.h 762 fuse_lowlevel_compat.h 763 fuse_lowlevel.h 764 fuse_opt.h 765 ; 766 fuseHeaders = $(fuseHeaders:G=userlandfs!fuse) ; 767 SEARCH on $(fuseHeaders) 768 = [ FDirName $(HAIKU_TOP) headers private userlandfs fuse ] ; 769 AddFilesToHaikuImage develop headers userlandfs fuse : $(fuseHeaders) ; 770 } 771} 772 773 774# Vim 775if [ IsOptionalHaikuImagePackageAdded Vim ] { 776 if $(TARGET_ARCH) != x86 { 777 Echo "No optional package Vim available for $(TARGET_ARCH)" ; 778 } else if $(HAIKU_GCC_VERSION[1]) >= 4 { 779 InstallOptionalHaikuImagePackage vim-7.2-x86-gcc4-2009-05-31 780 : $(baseURL)/vim-7.2-x86-gcc4-2009-05-31.zip 781 : 782 ; 783 AddSymlinkToHaikuImage home config be Applications 784 : /boot/common/bin/gvim ; 785 } else { 786 InstallOptionalHaikuImagePackage vim-7.2-x86-gcc2-2009-05-31 787 : $(baseURL)/vim-7.2-x86-gcc2-2009-05-31.zip 788 : 789 ; 790 AddSymlinkToHaikuImage home config be Applications 791 : /boot/common/bin/gvim ; 792 } 793} 794 795 796# Vision 797if [ IsOptionalHaikuImagePackageAdded Vision ] { 798 if $(TARGET_ARCH) != x86 { 799 Echo "No optional package Vision available for $(TARGET_ARCH)" ; 800 } else if $(HAIKU_GCC_VERSION[1]) >= 4 { 801 InstallOptionalHaikuImagePackage Vision-0.9.7-H-090423-1 802 : $(baseURL)/Vision-0.9.7-H-x86-gcc4-2009-04-23.zip 803 : apps 804 ; 805 AddSymlinkToHaikuImage home config be Applications 806 : /boot/apps/Vision-0.9.7-H-090423/Vision ; 807 } else { 808 InstallOptionalHaikuImagePackage Vision-0.9.7-H-090423 809 : $(baseURL)/Vision-0.9.7-H-x86-gcc2-2009-04-23.zip 810 : apps 811 ; 812 AddSymlinkToHaikuImage home config be Applications 813 : /boot/apps/Vision-0.9.7-H-090423/Vision ; 814 } 815} 816 817 818# VLC media player 819if [ IsOptionalHaikuImagePackageAdded VLC ] { 820 if $(TARGET_ARCH) != x86 { 821 Echo "No optional package VLC available for $(TARGET_ARCH)" ; 822 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 823 Echo "No optional package VLC available for gcc4" ; 824 } else { 825 InstallOptionalHaikuImagePackage VLC-0.8.6d 826 : $(baseURL)/vlc-0.8.6d-gcc2-2009-04-18.zip 827 : apps 828 ; 829 AddSymlinkToHaikuImage home config be Applications 830 : "/boot/apps/vlc-0.8.6d/VLC media player" ; 831 AddSymlinkToHaikuImage common bin 832 : "/boot/apps/vlc-0.8.6d/VLC media player" : vlc ; 833 } 834} 835 836 837# Welcome 838if [ IsOptionalHaikuImagePackageAdded Welcome ] { 839 CopyDirectoryToHaikuImage system documentation 840 : [ FDirName $(HAIKU_TOP) docs welcome ] 841 : welcome : -x .svn ; 842 CopyDirectoryToHaikuImage system documentation 843 : [ FDirName $(HAIKU_TOP) docs userguide ] 844 : userguide : -x .svn ; 845 AddFilesToHaikuImage system documentation 846 : [ FDirName $(HAIKU_TOP) docs Haiku-doc.css ] 847 : Haiku-doc.css ; 848 AddSymlinkToHaikuImage home Desktop 849 : /boot/system/documentation/welcome/welcome.html : Welcome ; 850} 851 852 853# WonderBrush 854if [ IsOptionalHaikuImagePackageAdded WonderBrush ] { 855 if $(TARGET_ARCH) != x86 { 856 Echo "No optional package WonderBrush available for $(TARGET_ARCH)" ; 857 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 858 Echo "No optional package WonderBrush available for gcc4" ; 859 } else { 860 InstallOptionalHaikuImagePackage WonderBrush-2.1.2 861 : $(baseURL)/WonderBrush-2.1.2-x86-gcc2-2008-11-08.zip 862 : apps 863 ; 864 AddSymlinkToHaikuImage home config be Applications 865 : /boot/apps/WonderBrush/WonderBrush ; 866 } 867} 868 869 870# Yasm 871if [ IsOptionalHaikuImagePackageAdded Yasm ] { 872 if $(TARGET_ARCH) != x86 { 873 Echo "No optional package Yasm available for $(TARGET_ARCH)" ; 874 } else { 875 InstallOptionalHaikuImagePackage yasm-0.8.0-x86-gcc2-2009-07-06 876 : $(baseURL)/yasm-0.8.0-x86-gcc2-2009-07-06.zip 877 : 878 ; 879 } 880} 881