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