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# ABI-compliance-checker - tool for checking ABI compatibility between libs 16# APR - support libraries used for example by Subversion 17# APR-util - Apache portable runtime utility library 18# BeAE - open source Audio Editor 19# Beam - powerful native e-mail client 20# BeBook - the classic BeOS API documentation 21# BeHappy - special documentation (i.e. BeBook) browser 22# BeOSCompatibility - creates links within the system to support old apps 23# BePDF - native PDF reader 24# BeZillaBrowser - fork of Mozilla's 1.8 branch. 25# Bluetooth - experimental Haiku components for Bluetooth 26# CDRecord - the command line CD writing tools 27# Clockwerk - native audio/video compositing 28# CLucene - indexed file search 29# Curl - a client that groks URLs 30# CMake - cross platform make 31# CVS - the version control system 32# Development - more complete dev environment (including autotools) 33# DevelopmentBase - basic development environment (gcc, headers, libs,...) 34# DevelopmentMin - development headers, libs, tools, from sources only 35# Expat - XML parsing libraries 36# Git - the distributed version control system 37# ICU-devel - the headers for ICU (for development) 38# KeymapSwitcher - Desktop utility 39# LibIconv - text encoding conversion library 40# LibLayout - GCC2 package needed by some BeOS apps to compile 41# LibXML2 - the XML support libary 42# LibXSLT - xslt library and utility 43# Links - the web browser 44# Mercurial - the distributed version control system 45# Nano - the command line text editor 46# Neon - support libraries used for example by SVN 47# NetFS - the native networked file system components 48# NetSurf - the web browser 49# OCaml - the Objective Caml language 50# OpenSound - additional audio driver package 51# OpenSSH - the secure shell 52# OpenSSL - secure sockets library 53# P7zip - file archiving utility 54# PCRE - the (Perl-compatible) regex engine 55# Pe - the powerful native Programmer's Editor 56# Perl - the scripting language 57# Python - the scripting language 58# Rsync - remote directory synchronization 59# Sed - the ultimate stream editor 60# SQLite - the database implementation 61# Subversion - the version control system 62# Tar - archiving utility 63# UserlandFS - aids native file system development (like FUSE) 64# Vim - the command line text editor 65# Vision - powerful native IRC client 66# VLC - the multi media player with native interface 67# Welcome - introductory documentation to Haiku 68# WifiFirmwareScriptData - data files needed by install-wifi-firmwares.sh 69# WonderBrush - native graphics application 70# Yasm - the assembler utility 71 72local baseURL = http://haiku-files.org/files/optional-packages ; 73 74# ABI-compliance-checker 75if [ IsOptionalHaikuImagePackageAdded ABI-compliance-checker ] { 76 if $(HAIKU_GCC_VERSION[1]) < 4 && ! $(isHybridBuild) { 77 Echo "No optional package ABI-compliance-checker for gcc2" ; 78 } else { 79 InstallOptionalHaikuImagePackage 80 ABI-compliance-checker-1.12-noarch-gcc4-2010-02-01.zip 81 : $(baseURL)/ABI-compliance-checker-1.12-noarch-gcc4-2010-02-01.zip 82 ; 83 } 84} 85 86 87# APR 88if [ IsOptionalHaikuImagePackageAdded APR ] { 89 if $(TARGET_ARCH) != x86 { 90 Echo "No optional package APR available for $(TARGET_ARCH)" ; 91 } else { 92 InstallOptionalHaikuImagePackage apr-1.3.9-x86-gcc2-2009-10-18.zip 93 : $(baseURL)/apr-1.3.9-x86-gcc2-2009-10-18.zip 94 : 95 : true 96 ; 97 } 98} 99 100 101# APR-util 102if [ IsOptionalHaikuImagePackageAdded APR-util ] { 103 if $(TARGET_ARCH) != x86 { 104 Echo "No optional package APR-util available for $(TARGET_ARCH)" ; 105 } else { 106 InstallOptionalHaikuImagePackage apr-util-1.3.9-r1a1-x86-gcc2-2009-08-29.zip 107 : $(baseURL)/apr-util-1.3.9-r1a1-x86-gcc2-2009-08-29.zip 108 : 109 : true 110 ; 111 } 112} 113 114 115# BeAE 116if [ IsOptionalHaikuImagePackageAdded BeAE ] { 117 if $(TARGET_ARCH) != x86 { 118 Echo "No optional package BeAE available for $(TARGET_ARCH)" ; 119 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 120 Echo "No optional package BeAE available for gcc4" ; 121 } else { 122 InstallOptionalHaikuImagePackage beae-20-x86-gcc2-2010-03-14.zip 123 : $(baseURL)/beae-20-x86-gcc2-2010-03-14.zip 124 : 125 ; 126 AddSymlinkToHaikuImage home config be Applications 127 : /boot/apps/BeAE/BeAE ; 128 } 129} 130 131 132# Beam 133if [ IsOptionalHaikuImagePackageAdded Beam ] { 134 if $(TARGET_ARCH) != x86 { 135 Echo "No optional package Beam available for $(TARGET_ARCH)" ; 136 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 137 Echo "No optional package Beam available for gcc4" ; 138 } else { 139 InstallOptionalHaikuImagePackage Beam-1.2alpha.zip 140 : $(baseURL)/Beam-1.2alpha-x86-gcc2-2009-09-29.zip 141 : apps 142 ; 143 AddSymlinkToHaikuImage home config be Applications 144 : /boot/apps/beam-1.2alpha-haiku/Beam ; 145 } 146} 147 148 149# BeBook 150if [ IsOptionalHaikuImagePackageAdded BeBook ] { 151 InstallOptionalHaikuImagePackage bebook_20081026.zip 152 : $(baseURL)/bebook_20081026.zip 153 : system documentation 154 ; 155 AddSymlinkToHaikuImage home Desktop 156 : /boot/system/documentation/bebook/index.html : BeBook ; 157} 158 159 160# BeHappy 161if [ IsOptionalHaikuImagePackageAdded BeHappy ] { 162 if $(TARGET_ARCH) != x86 { 163 Echo "No optional package BeHappy available for $(TARGET_ARCH)" ; 164 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 165 Echo "No optional package BeHappy available for gcc4" ; 166 } else { 167 InstallOptionalHaikuImagePackage BeHappy-1.0.6-x86-gcc2-2008-10-16.zip 168 : $(baseURL)/BeHappy-1.0.6-x86-gcc2-2008-10-16.zip 169 : 170 ; 171 AddSymlinkToHaikuImage home config be Applications 172 : /boot/apps/BeHappy/BeHappy ; 173 } 174} 175 176 177# BeOSCompatibility 178if [ IsOptionalHaikuImagePackageAdded BeOSCompatibility ] { 179 if $(TARGET_ARCH) != x86 { 180 Echo "No optional package BeOSCompatibility available for $(TARGET_ARCH)" ; 181 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 182 Echo "No optional package BeOSCompatibility available for gcc4" ; 183 } else { 184 Echo "Warning: Adding BeOS compatibility symlinks. This will go away. Please fix your apps!" ; 185 AddSymlinkToHaikuImage beos : ../system/apps ; 186 AddSymlinkToHaikuImage beos : ../system/bin ; 187 AddSymlinkToHaikuImage beos : ../system/documentation ; 188 AddSymlinkToHaikuImage beos : ../common/etc ; 189 AddSymlinkToHaikuImage beos : ../system/preferences ; 190 AddSymlinkToHaikuImage beos : ../system ; 191 AddDirectoryToHaikuImage var ; 192 AddSymlinkToHaikuImage var : /boot/common/var/log ; 193 AddSymlinkToHaikuImage var : /boot/common/cache/tmp ; 194 } 195} 196 197 198# BePDF 199if [ IsOptionalHaikuImagePackageAdded BePDF ] { 200 if $(TARGET_ARCH) != x86 { 201 Echo "No optional package BePDF available for $(TARGET_ARCH)" ; 202 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 203 Echo "No optional package BePDF available for gcc4" ; 204 } else { 205 InstallOptionalHaikuImagePackage BePDF-1.1.1b2-r1a1-x86-gcc2-2009-09-03.zip 206 : $(baseURL)/BePDF-1.1.1b2-r1a1-x86-gcc2-2009-09-03.zip 207 : apps 208 ; 209 AddSymlinkToHaikuImage home config be Applications 210 : /boot/apps/BePDF/BePDF ; 211 } 212} 213 214 215# BeZillaBrowser 216if [ IsOptionalHaikuImagePackageAdded BeZillaBrowser ] { 217 if $(TARGET_ARCH) != x86 { 218 Echo "No optional package BeZillaBrowser available for $(TARGET_ARCH)" ; 219 } else if $(HAIKU_GCC_VERSION[1]) >= 4 { 220 InstallOptionalHaikuImagePackage 221 BeZillaBrowser-2.0.0.22pre-x86-gcc4-2010-03-14.zip 222 : $(baseURL)/BeZillaBrowser-2.0.0.22pre-x86-gcc4-2010-03-14.zip 223 : 224 ; 225 AddSymlinkToHaikuImage home config be Applications 226 : /boot/apps/BeZillaBrowser/BeZillaBrowser 227 ; 228 if $(HAIKU_INCLUDE_SOURCES) = 1 { 229 InstallSourceArchive BeZillaBrowser-2010-01-21-src.7z 230 : http://www.haiku-files.org/files/sources/2010/BeZillaBrowser-2010-01-21-src.7z 231 ; 232 } 233 } else { 234 InstallOptionalHaikuImagePackage 235 BeZillaBrowser-2.0.0.22pre-x86-gcc2-2010-03-14.zip 236 : $(baseURL)/BeZillaBrowser-2.0.0.22pre-x86-gcc2-2010-03-14.zip 237 : 238 ; 239 AddSymlinkToHaikuImage home config be Applications 240 : /boot/apps/BeZillaBrowser/BeZillaBrowser 241 ; 242 if $(HAIKU_INCLUDE_SOURCES) = 1 { 243 InstallSourceArchive BeZillaBrowser-2010-01-21-src.7z 244 : http://www.haiku-files.org/files/sources/2010/BeZillaBrowser-2010-01-21-src.7z 245 ; 246 } 247 } 248} 249 250 251# Bluetooth stack 252if [ IsOptionalHaikuImagePackageAdded Bluetooth ] { 253 local bluetoothDrivers = h2generic ; 254 AddDriversToHaikuImage bluetooth : $(bluetoothDrivers) ; 255 AddFilesToHaikuImage system servers : bluetooth_server ; 256 AddFilesToHaikuImage system lib : libbluetooth.so ; 257 AddFilesToHaikuImage system add-ons kernel network protocols : l2cap ; 258 AddFilesToHaikuImage system add-ons kernel bluetooth : btCoreData hci ; 259 AddFilesToHaikuImage system preferences : Bluetooth ; 260 AddFilesToHaikuImage system bin : bt_dev_info bt_discovery ; 261 AddSymlinkToHaikuImage home config be Preferences 262 : /boot/system/preferences/Bluetooth ; 263 if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] 264 && $(HAIKU_GCC_VERSION[1]) in 2 4 { 265 local arch = $(TARGET_ARCH) ; 266 local abi = gcc$(HAIKU_GCC_VERSION[1]) ; 267 AddSymlinkToHaikuHybridImage develop abi $(arch) $(abi) lib 268 : /system/lib libbluetooth.so : : true ; 269 } 270} 271 272 273# Bzip 274if [ IsOptionalHaikuImagePackageAdded Bzip ] { 275 if $(TARGET_ARCH) != x86 { 276 Echo "No optional package Bzip available for $(TARGET_ARCH)" ; 277 } else { 278 InstallOptionalHaikuImagePackage bzip2-1.0.5-x86-gcc2-2009-12-27.zip 279 : $(baseURL)/bzip2-1.0.5-x86-gcc2-2009-12-27.zip 280 : 281 : true 282 ; 283 } 284} 285 286 287# CDRecord 288if [ IsOptionalHaikuImagePackageAdded CDRecord ] { 289 if $(TARGET_ARCH) != x86 { 290 Echo "No optional package CDRecord available for $(TARGET_ARCH)" ; 291 } else { 292 InstallOptionalHaikuImagePackage cdrecord-2.01.01a63-r1a1-x86-gcc2-2009-08-28.zip 293 : $(baseURL)/cdrecord-2.01.01a63-r1a1-x86-gcc2-2009-08-28.zip 294 : 295 ; 296 } 297} 298 299 300# Clockwerk 301if [ IsOptionalHaikuImagePackageAdded Clockwerk ] { 302 if $(TARGET_ARCH) != x86 { 303 Echo "No optional package Clockwerk available for $(TARGET_ARCH)" ; 304 } else if $(HAIKU_GCC_VERSION[1]) >= 4 { 305 InstallOptionalHaikuImagePackage Clockwerk-0.0.1-x86-gcc4-2009-08-06.zip 306 : $(baseURL)/Clockwerk-0.0.1-x86-gcc4-2009-08-06.zip 307 : 308 ; 309 AddSymlinkToHaikuImage home config be Applications 310 : /boot/apps/Clockwerk/Clockwerk ; 311 } else { 312 InstallOptionalHaikuImagePackage Clockwerk-0.0.1-x86-gcc2-2009-08-06.zip 313 : $(baseURL)/Clockwerk-0.0.1-x86-gcc2-2009-08-06.zip 314 : 315 ; 316 AddSymlinkToHaikuImage home config be Applications 317 : /boot/apps/Clockwerk/Clockwerk ; 318 } 319} 320 321 322# CLucene 323if [ IsOptionalHaikuImagePackageAdded CLucene ] { 324 if $(TARGET_ARCH) != x86 { 325 Echo "No optional package CLucene available for $(TARGET_ARCH)" ; 326 } else if $(HAIKU_GCC_VERSION[1]) < 4 && ! $(isHybridBuild) { 327 Echo "No optional package CLucene available for GCC2" ; 328 } else { 329 InstallOptionalHaikuImagePackage 330 clucene-0.9.21svn-x86-gcc4-haiku-2009-08-11.zip 331 : $(baseURL)/clucene-0.9.21-x86-gcc4-haiku-2009-08-11.zip 332 : 333 : true 334 ; 335 } 336} 337 338 339# CMake 340if [ IsOptionalHaikuImagePackageAdded CMake ] { 341 if $(TARGET_ARCH) != x86 { 342 Echo "No optional package CMake available for $(TARGET_ARCH)" ; 343 } else { 344 InstallOptionalHaikuImagePackage cmake-2.8.0-x86-gcc2-2009-11-15.zip 345 : $(baseURL)/cmake-2.8.0-x86-gcc2-2009-11-15.zip 346 : 347 : true 348 ; 349 } 350} 351 352 353# Curl 354if [ IsOptionalHaikuImagePackageAdded Curl ] { 355 if $(TARGET_ARCH) != x86 { 356 Echo "No optional package Curl available for $(TARGET_ARCH)" ; 357 } else { 358 InstallOptionalHaikuImagePackage curl-7.20.0-x86-gcc2-2010-03-03.zip 359 : $(baseURL)/curl-7.20.0-x86-gcc2-2010-03-03.zip 360 : 361 : true 362 ; 363 } 364} 365 366 367# CVS 368if [ IsOptionalHaikuImagePackageAdded CVS ] { 369 if $(TARGET_ARCH) != x86 { 370 Echo "No optional package CVS available for $(TARGET_ARCH)" ; 371 } else { 372 InstallOptionalHaikuImagePackage cvs-1.12.13-r1a1-x86-gcc2-2009-08-30.zip 373 : $(baseURL)/cvs-1.12.13-r1a1-x86-gcc2-2009-08-30.zip 374 : 375 : true 376 ; 377 } 378} 379 380 381# Development 382if [ IsOptionalHaikuImagePackageAdded Development ] && $(TARGET_ARCH) = x86 { 383 # autotools 384 InstallOptionalHaikuImagePackage autoconf-2.65-x86-gcc2-2009-11-28.zip 385 : $(baseURL)/autoconf-2.65-x86-gcc2-2009-11-28.zip 386 : 387 : true ; 388 InstallOptionalHaikuImagePackage automake-1.11.1-x86-gcc2-2009-12-23.zip 389 : $(baseURL)/automake-1.11.1-x86-gcc2-2009-12-23.zip 390 : 391 : true ; 392 InstallOptionalHaikuImagePackage libtool-2.2.6b-x86-gcc2-2010-04-08.zip 393 : $(baseURL)/libtool-2.2.6b-x86-gcc2-2010-04-08.zip 394 : 395 : true ; 396 InstallOptionalHaikuImagePackage texinfo-4.13a-r1a1-x86-gcc2-2009-08-30.zip 397 : $(baseURL)/texinfo-4.13a-r1a1-x86-gcc2-2009-08-30.zip 398 : 399 : true ; 400} 401 402 403# DevelopmentBase 404if [ IsOptionalHaikuImagePackageAdded DevelopmentBase ] 405 && $(TARGET_ARCH) = x86 { 406 # gcc and binutils 407 if $(HAIKU_GCC_VERSION[1]) = 2 || $(isHybridBuild) { 408 InstallOptionalHaikuImagePackage gcc-2.95.3-r1a1-x86-gcc2-2010-03-23.zip 409 : $(baseURL)/gcc-2.95.3-r1a1-x86-gcc2-2010-03-23.zip ; 410 } 411 412 if $(HAIKU_GCC_VERSION[1]) = 2 { 413 # symlink to the appropriate system/lib[/gcc2] folder 414 AddSymlinkToHaikuHybridImage 415 develop abi x86 gcc2 tools gcc-2.95.3-haiku-090629 lib 416 : /system/lib libstdc++.r4.so : : true ; 417 } 418 419 if $(HAIKU_GCC_VERSION[1]) = 4 || $(isHybridBuild) { 420 InstallOptionalHaikuImagePackage gcc-4.3.3-r1a1-x86-gcc4-2009-06-29.zip 421 : $(baseURL)/gcc-4.3.3-r1a1-x86-gcc4-2009-06-29.zip ; 422 } 423 424 if $(HAIKU_GCC_VERSION[1]) = 4 { 425 # symlink cpp to g++'s headers 426 AddSymlinkToHaikuImage develop abi x86 gcc4 headers 427 : ../tools/current/include/g++ : cpp ; 428 429 # symlink to the appropriate system/lib[/gcc4] folder 430 local libs = libstdc++.so libsupc++.so ; 431 for lib in $(libs) { 432 AddSymlinkToHaikuHybridImage 433 develop abi x86 gcc4 tools gcc-4.3.3-haiku-090629 lib 434 : /system/lib $(lib) : : true ; 435 } 436 } 437 438 # other commonly used tools 439 InstallOptionalHaikuImagePackage bison-2.4.1-r1a1-x86-gcc2-2009-08-31.zip 440 : $(baseURL)/bison-2.4.1-r1a1-x86-gcc2-2009-08-31.zip ; 441 InstallOptionalHaikuImagePackage m4-1.4.14-x86-gcc2-2010-02-27.zip 442 : $(baseURL)/m4-1.4.14-x86-gcc2-2010-02-27.zip ; 443 InstallOptionalHaikuImagePackage flex-2.5.35-r1a1-x86-gcc2-2009-08-31.zip 444 : $(baseURL)/flex-2.5.35-r1a1-x86-gcc2-2009-08-31.zip ; 445 InstallOptionalHaikuImagePackage jam-2.5-r1a1-x86-gcc2-2009-08-31.zip 446 : $(baseURL)/jam-2.5-r1a1-x86-gcc2-2009-08-31.zip ; 447 448} 449 450 451# DevelopmentMin 452if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] && $(TARGET_ARCH) = x86 { 453 if ! ( $(HAIKU_GCC_VERSION[1]) in 2 4 ) { 454 Exit "Optional package DevelopmentMin: Unsupported GCC version:" 455 $(HAIKU_GCC_VERSION[1]) ; 456 } 457 458 local arch = $(TARGET_ARCH) ; 459 local abi = gcc$(HAIKU_GCC_VERSION[1]) ; 460 local abiDirTokens = develop abi $(arch) $(abi) ; 461 462 # glue code 463 AddFilesToHaikuHybridImage $(abiDirTokens) lib : 464 <src!system!glue!arch!$(arch)>crti.o 465 <src!system!glue!arch!$(arch)>crtn.o 466 <src!system!glue>init_term_dyn.o 467 <src!system!glue>start_dyn.o 468 <src!system!glue>haiku_version_glue.o 469 ; 470 471 # kernel 472 AddFilesToHaikuHybridImage $(abiDirTokens) lib : kernel.so : _KERNEL_ ; 473 474 # additional libraries 475 local developmentLibs = <revisioned>libroot_debug.so ; 476 AddFilesToHaikuHybridImage system lib : $(developmentLibs) : : true ; 477 478 # library symlinks 479 local lib ; 480 for lib in $(SYSTEM_LIBS) $(SYSTEM_LIBS_LIBGL_ALIASES) $(developmentLibs) { 481 AddSymlinkToHaikuHybridImage $(abiDirTokens) lib 482 : /system/lib $(lib:BS) : : true ; 483 local abiVersion = [ on $(lib) return $(HAIKU_LIB_ABI_VERSION) ] ; 484 if $(abiVersion) { 485 local abiVersionedLib = $(lib:BS).$(abiVersion) ; 486 AddSymlinkToHaikuHybridImage $(abiDirTokens) lib 487 : /system/lib $(abiVersionedLib) : : true ; 488 } 489 } 490 491 # static libraries 492 AddFilesToHaikuHybridImage $(abiDirTokens) lib : libncurses.a ; 493 494 # the POSIX error code mapper library 495 AddFilesToHaikuHybridImage $(abiDirTokens) lib : libposix_error_mapper.a ; 496 497 # symlinks for ABI abstraction 498 AddSymlinkToHaikuImage develop abi : $(arch)/$(abi) : current ; 499 AddSymlinkToHaikuImage develop lib : /boot/develop/abi/current/lib 500 : $(arch) ; 501 AddSymlinkToHaikuImage develop tools 502 : /boot/develop/abi/current/tools/current : gnupro ; 503 AddSymlinkToHaikuImage develop headers 504 : /boot/develop/abi/current/headers/cpp ; 505 AddSymlinkToHaikuHybridImage $(abiDirTokens) library-paths 506 : /boot/common/lib : common : true ; 507 AddSymlinkToHaikuHybridImage $(abiDirTokens) library-paths 508 : /boot/home/config/lib : home : true ; 509 510 # ABI independent stuff 511 512 # scripts: cc and c++ wrapper, freetype-config, setgcc 513 local scripts = cc c++ freetype-config setgcc ; 514 SEARCH on $(scripts) = [ FDirName $(HAIKU_TOP) data bin ] ; 515 AddFilesToHaikuImage system bin : $(scripts) ; 516 517 # make and mkdepend build tool, which are part of the Haiku source tree 518 # TODO: Both should be removed from the tree, made download packages 519 # and moved to the DevelopmentBase package. 520 AddFilesToHaikuImage system bin : make mkdepend ; 521 522 # skeleton makefile and makefile-engine 523 local makefileEngineFiles = 524 <makefile-engine>makefile 525 <makefile-engine>makefile-engine 526 ; 527 SEARCH on $(makefileEngineFiles) 528 = [ FDirName $(HAIKU_TOP) data develop ] ; 529 AddFilesToHaikuImage develop etc : $(makefileEngineFiles) ; 530 531 # headers 532 AddHeaderDirectoryToHaikuImage config ; 533 AddHeaderDirectoryToHaikuImage glibc ; 534 AddHeaderDirectoryToHaikuImage os ; 535 AddHeaderDirectoryToHaikuImage posix ; 536 537 # create be -> os symlink for now 538 AddSymlinkToHaikuImage develop headers : os : be ; 539 540 # BSD and GNU compatibility headers 541 AddHeaderDirectoryToHaikuImage compatibility bsd : bsd ; 542 AddHeaderDirectoryToHaikuImage compatibility gnu : gnu ; 543 544 # third party libs headers 545 AddHeaderDirectoryToHaikuImage libs freetype2 : 3rdparty ; 546 AddHeaderDirectoryToHaikuImage libs jpeg : 3rdparty ; 547 AddHeaderDirectoryToHaikuImage libs ncurses : 3rdparty ; 548 AddHeaderDirectoryToHaikuImage libs png : 3rdparty ; 549 AddHeaderDirectoryToHaikuImage libs termcap : 3rdparty ; 550 AddHeaderDirectoryToHaikuImage libs zlib : 3rdparty ; 551 552 # cpp headers 553 if $(HAIKU_GCC_VERSION[1]) = 2 { 554 # GCC 2 only -- for GCC 4 they come with the DevelopmentBase package 555 CopyDirectoryToHaikuImage $(abiDirTokens) headers 556 : [ FDirName $(HAIKU_TOP) headers cpp ] : : -x .svn ; 557 CopyDirectoryToAlternativeGCCArchive $(abiDirTokens) headers 558 : [ FDirName $(HAIKU_TOP) headers cpp ] : : -x .svn ; 559 } 560} 561 562 563# Expat 564if [ IsOptionalHaikuImagePackageAdded Expat ] { 565 if $(TARGET_ARCH) != x86 { 566 Echo "No optional package Expat available for $(TARGET_ARCH)" ; 567 } else { 568 InstallOptionalHaikuImagePackage expat-2.0.1-x86-gcc2-2010-03-08.zip 569 : $(baseURL)/expat-2.0.1-x86-gcc2-2010-03-08.zip 570 : 571 : true 572 ; 573 } 574} 575 576 577# Git 578if [ IsOptionalHaikuImagePackageAdded Git ] { 579 if $(TARGET_ARCH) != x86 { 580 Echo "No optional package Git available for $(TARGET_ARCH)" ; 581 } else { 582 InstallOptionalHaikuImagePackage git-1.6.4.2-r1a1-x86-gcc2-2009-08-30.zip 583 : $(baseURL)/git-1.6.4.2-r1a1-x86-gcc2-2009-08-30.zip 584 : 585 : true 586 ; 587 } 588} 589 590 591# ICU-devel 592if [ IsOptionalHaikuImagePackageAdded ICU-devel ] { 593 InstallOptionalHaikuImagePackage icu-devel-4.2-2010-01-26.zip 594 : $(baseURL)/icu-devel-4.2-2010-01-26.zip 595 ; 596 local arch = $(TARGET_ARCH) ; 597 local abi = gcc$(HAIKU_GCC_VERSION[1]) ; 598 local libs = common data i18n ; 599 for lib in $(libs) { 600 lib = libicu-$(lib).so ; 601 local abiVersion = [ on $(lib) return $(HAIKU_LIB_ABI_VERSION) ] ; 602 if $(abiVersion) { 603 local abiVersionedLib = $(lib).$(abiVersion) ; 604 AddSymlinkToHaikuHybridImage develop abi $(arch) $(abi) lib 605 : /system/lib $(abiVersionedLib) : : true ; 606 } 607 AddSymlinkToHaikuHybridImage develop abi $(arch) $(abi) lib 608 : /system/lib $(lib) : : true ; 609 } 610} 611 612 613# KeymapSwitcher 614if [ IsOptionalHaikuImagePackageAdded KeymapSwitcher ] { 615 if $(TARGET_ARCH) != x86 { 616 Echo "No optional package KeymapSwitcher available for $(TARGET_ARCH)" ; 617 } else if $(HAIKU_GCC_VERSION[1]) >= 4 { 618 InstallOptionalHaikuImagePackage 619 KeymapSwitcher-1.2.3-x86-gcc4-2009-05-31.zip 620 : $(baseURL)/KeymapSwitcher-1.2.3-x86-gcc4-2009-05-31.zip 621 : 622 ; 623 AddSymlinkToHaikuImage home config be Desktop\ applets 624 : /boot/common/bin/KeymapSwitcher ; 625 } else { 626 InstallOptionalHaikuImagePackage 627 KeymapSwitcher-1.2.4-r1a1-x86-gcc2-2009-09-06.zip 628 : $(baseURL)/KeymapSwitcher-1.2.4-r1a1-x86-gcc2-2009-09-06.zip 629 : 630 ; 631 AddSymlinkToHaikuImage home config be Desktop\ applets 632 : /boot/common/bin/KeymapSwitcher ; 633 } 634} 635 636 637# LibIconv 638if [ IsOptionalHaikuImagePackageAdded LibIconv ] { 639 if $(TARGET_ARCH) != x86 { 640 Echo "No optional package LibIconv available for $(TARGET_ARCH)" ; 641 } else { 642 InstallOptionalHaikuImagePackage libiconv-1.13.1-r1a1-x86-gcc2-2009-09-08.zip 643 : $(baseURL)/libiconv-1.13.1-r1a1-x86-gcc2-2009-09-08.zip 644 : 645 ; 646 } 647} 648 649 650# LibLayout library 651if [ IsOptionalHaikuImagePackageAdded LibLayout ] { 652 if $(TARGET_ARCH) != x86 { 653 Echo "No optional package LibLayout available for $(TARGET_ARCH)" ; 654 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 655 Echo "No optional package LibLayout available for gcc4" ; 656 } else { 657 InstallOptionalHaikuImagePackage liblayout-1.4.0-gcc2-2009-03-08.zip 658 : $(baseURL)/liblayout-1.4.0-gcc2-2009-03-08.zip 659 : 660 ; 661 } 662} 663 664 665# LibXML2 666if [ IsOptionalHaikuImagePackageAdded LibXML2 ] { 667 if $(TARGET_ARCH) != x86 { 668 Echo "No optional package LibXML2 available for $(TARGET_ARCH)" ; 669 } else { 670 InstallOptionalHaikuImagePackage libxml2-2.7.7-x86-gcc2-2010-04-11.zip 671 : $(baseURL)/libxml2-2.7.7-x86-gcc2-2010-04-11.zip 672 : 673 : true 674 ; 675 } 676} 677 678 679# LibXSLT 680if [ IsOptionalHaikuImagePackageAdded LibXSLT ] { 681 if $(TARGET_ARCH) != x86 { 682 Echo "No optional package LibXSLT available for $(TARGET_ARCH)" ; 683 } else { 684 InstallOptionalHaikuImagePackage libxslt-1.1.26-x86-gcc2-2010-04-11.zip 685 : $(baseURL)/libxslt-1.1.26-x86-gcc2-2010-04-11.zip 686 : 687 : true 688 ; 689 } 690} 691 692 693# Links web browser 694if [ IsOptionalHaikuImagePackageAdded Links ] { 695 if $(TARGET_ARCH) != x86 { 696 Echo "No optional package Links available for $(TARGET_ARCH)" ; 697 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 698 Echo "No optional package Links available for gcc4" ; 699 } else { 700 InstallOptionalHaikuImagePackage Links.zip 701 : $(baseURL)/links-x86-gcc2-2008-05-03.zip 702 : 703 ; 704 AddSymlinkToHaikuImage home config be Applications 705 : /boot/home/config/bin/links ; 706 } 707} 708 709 710# MandatoryPackages 711if [ IsOptionalHaikuImagePackageAdded MandatoryPackages ] { 712 # Pseudo package for grouping packages, which are added to all images. 713} 714 715 716# Mercurial 717if [ IsOptionalHaikuImagePackageAdded Mercurial ] { 718 if $(TARGET_ARCH) != x86 { 719 Echo "No optional package Mercurial available for $(TARGET_ARCH)" ; 720 } else { 721 InstallOptionalHaikuImagePackage mercurial-1.5-x86-gcc2-2010-03-12.zip 722 : $(baseURL)/mercurial-1.5-x86-gcc2-2010-03-12.zip 723 : 724 : true 725 ; 726 } 727} 728 729 730# Nano 731if [ IsOptionalHaikuImagePackageAdded Nano ] { 732 if $(TARGET_ARCH) != x86 { 733 Echo "No optional package Nano available for $(TARGET_ARCH)" ; 734 } else { 735 InstallOptionalHaikuImagePackage nano-2.2.3-x86-gcc2-2010-03-11.zip 736 : $(baseURL)/nano-2.2.3-x86-gcc2-2010-03-11.zip 737 : 738 ; 739 } 740} 741 742 743# Neon 744if [ IsOptionalHaikuImagePackageAdded Neon ] { 745 if $(TARGET_ARCH) != x86 { 746 Echo "No optional package Neon available for $(TARGET_ARCH)" ; 747 } else { 748 InstallOptionalHaikuImagePackage neon-0.29.3-x86-gcc2-2010-02-28.zip 749 : $(baseURL)/neon-0.29.3-x86-gcc2-2010-02-28.zip 750 : 751 : true 752 ; 753 } 754} 755 756 757# NetFS network file system 758if [ IsOptionalHaikuImagePackageAdded NetFS ] { 759 # userlandfs module 760 AddFilesToHaikuImage home config add-ons userlandfs : netfs ; 761 762 # servers 763 AddFilesToHaikuImage system servers : netfs_server ; 764 AddFilesToHaikuImage system servers : authentication_server ; 765 766 # tools 767 AddFilesToHaikuImage system bin : netfs_config ; 768 AddFilesToHaikuImage system bin : netfs_server_prefs ; 769 770 #example settings for netfs_server 771 local netfsServerSettingsFiles = <driver-settings>netfs-server ; 772 SEARCH on $(netfsServerSettingsFiles) 773 = [ FDirName $(HAIKU_TOP) src add-ons kernel file_systems netfs ] ; 774 AddFilesToHaikuImage home config settings kernel drivers 775 : $(netfsServerSettingsFiles) ; 776 777 #userlandfs settings are needed for netfs_config to work (ioctls) 778 local userlandfsServerSettingsFiles = <driver-settings>userlandfs ; 779 SEARCH on $(userlandfsServerSettingsFiles) 780 = [ FDirName $(HAIKU_TOP) src add-ons kernel file_systems userlandfs ] ; 781 AddFilesToHaikuImage home config settings kernel drivers 782 : $(userlandfsServerSettingsFiles) ; 783} 784 785 786# NetSurf web browser 787if [ IsOptionalHaikuImagePackageAdded NetSurf ] { 788 if $(TARGET_ARCH) != x86 { 789 Echo "No optional package NetSurf available for $(TARGET_ARCH)" ; 790 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 791 Echo "No optional package NetSurf available for gcc4" ; 792 } else { 793 InstallOptionalHaikuImagePackage NetSurf-r9862b.zip 794 : $(baseURL)/NetSurf-r9862-x86-gcc2-2010-01-27.zip 795 : 796 ; 797 AddSymlinkToHaikuImage home config be Applications 798 : /boot/apps/netsurf/NetSurf ; 799 if $(HAIKU_INCLUDE_SOURCES) = 1 { 800 InstallSourceArchive netsurf-r9862.7z 801 : http://www.haiku-files.org/files/sources/2010/netsurf-r9862.7z 802 ; 803 } 804 } 805} 806 807 808# OCaml 809if [ IsOptionalHaikuImagePackageAdded OCaml ] { 810 if $(TARGET_ARCH) != x86 { 811 Echo "No optional package OCaml available for $(TARGET_ARCH)" ; 812 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 813 Echo "No optional package OCaml available for gcc4" ; 814 } else { 815 InstallOptionalHaikuImagePackage ocaml-3.11.1-r1a1-x86-gcc2-2009-09-06.zip 816 : http://jerome.duval.free.fr/obos/ocaml-3.11.1-r1a1-x86-gcc2-2009-09-06.zip 817 : 818 ; 819 InstallOptionalHaikuImagePackage camlp5-5.12-r1a1-x86-gcc2-2009-09-06.zip 820 : http://jerome.duval.free.fr/obos/camlp5-5.12-r1a1-x86-gcc2-2009-09-06.zip 821 : 822 ; 823 } 824} 825 826 827# OpenSound drivers 828if [ IsOptionalHaikuImagePackageAdded OpenSound ] { 829 if $(TARGET_ARCH) != x86 { 830 Echo "No optional package OpenSound available for $(TARGET_ARCH)" ; 831 } else { 832 InstallOptionalHaikuImagePackage OpenSound.zip 833 : $(baseURL)/OpenSound-x86-gcc2-2008-06-21.zip 834 : 835 ; 836 } 837 #ExtractArchiveToHaikuImage home : data/vv.mp3.zip : 0 ; 838} 839 840 841# OpenSSH 842if [ IsOptionalHaikuImagePackageAdded OpenSSH ] { 843 if $(TARGET_ARCH) != x86 { 844 Echo "No optional package OpenSSH available for $(TARGET_ARCH)" ; 845 } else { 846 if ! $(HAIKU_IMAGE_HOST_NAME) && ! $(HAIKU_IGNORE_USER_BUILD_CONFIG) { 847 Exit "Optional package OpenSSH requires the HAIKU_IMAGE_HOST_NAME" 848 "variable to be set!" ; 849 } 850 851 InstallOptionalHaikuImagePackage openssh-5.3p1-r1a1-x86-gcc2-2009-10-11.zip 852 : $(baseURL)/openssh-5.3p1-r1a1-x86-gcc2-2009-10-11.zip 853 : 854 ; 855 856 AddUserToHaikuImage sshd : 1001 : 100 : /var/empty : /bin/true 857 : "sshd user" ; 858 } 859} 860 861 862# OpenSSL 863if [ IsOptionalHaikuImagePackageAdded OpenSSL ] { 864 if $(TARGET_ARCH) != x86 { 865 Echo "No optional package OpenSSL available for $(TARGET_ARCH)" ; 866 } else { 867 InstallOptionalHaikuImagePackage $(HAIKU_OPENSSL_PACKAGE) 868 : $(HAIKU_OPENSSL_URL) 869 : 870 ; 871 } 872} 873 874 875# P7zip 876if [ IsOptionalHaikuImagePackageAdded P7zip ] { 877 if $(TARGET_ARCH) != x86 { 878 Echo "No optional package P7zip available for $(TARGET_ARCH)" ; 879 } else { 880 if $(HAIKU_GCC_VERSION[1]) >= 4 { 881 InstallOptionalHaikuImagePackage p7zip-9.04-x86-gcc4-2009-10-25.zip 882 : $(baseURL)/p7zip-9.04-x86-gcc4-2009-10-25.zip 883 : 884 ; 885 } else { 886 InstallOptionalHaikuImagePackage p7zip-9.04-x86-gcc2-2009-10-25.zip 887 : $(baseURL)/p7zip-9.04-x86-gcc2-2009-10-25.zip 888 : 889 ; 890 } 891 AddExpanderRuleToHaikuImage "application/x-7z-compressed" : .7z 892 : "7za l \\0045s" 893 : "7za x -y \\0045s" 894 ; 895 896 } 897} 898 899 900# PCRE regex engine 901if [ IsOptionalHaikuImagePackageAdded PCRE ] { 902 if $(TARGET_ARCH) != x86 { 903 Echo "No optional package PCRE available for $(TARGET_ARCH)" ; 904 } else { 905 if $(HAIKU_GCC_VERSION[1]) >= 4 { 906 InstallOptionalHaikuImagePackage pcre-7.9-x86-gcc4-2009-09-30.zip 907 : $(baseURL)/pcre-7.9-x86-gcc4-2009-09-30.zip 908 ; 909 } else { 910 InstallOptionalHaikuImagePackage pcre-7.9-x86-gcc2-2009-09-30.zip 911 : $(baseURL)/pcre-7.9-x86-gcc2-2009-09-30.zip 912 ; 913 } 914 } 915} 916 917 918# Pe text editor 919if [ IsOptionalHaikuImagePackageAdded Pe ] { 920 if $(TARGET_ARCH) != x86 { 921 Echo "No optional package Pe available for $(TARGET_ARCH)" ; 922 } else { 923 if $(HAIKU_GCC_VERSION[1]) >= 4 { 924 InstallOptionalHaikuImagePackage Pe-2.4.2-x86-gcc4-2009-08-04.zip 925 : $(baseURL)/Pe-2.4.2-x86-gcc4-2009-08-04.zip 926 ; 927 } else { 928 InstallOptionalHaikuImagePackage Pe-2.4.2-r593-r1a1-x86-gcc2-2009-09-08.zip 929 : $(baseURL)/Pe-2.4.2-r593-r1a1-x86-gcc2-2009-09-08.zip 930 ; 931 } 932 933 AddSymlinkToHaikuImage home config be Applications 934 : /boot/apps/Pe/Pe ; 935 AddSymlinkToHaikuImage common bin 936 : /boot/apps/Pe/lpe ; 937 } 938} 939 940 941# Perl 942if [ IsOptionalHaikuImagePackageAdded Perl ] { 943 if $(TARGET_ARCH) != x86 { 944 Echo "No optional package Perl available for $(TARGET_ARCH)" ; 945 } else { 946 InstallOptionalHaikuImagePackage perl-5.10.1-r1a1-x86-gcc2-2009-09-08.zip 947 : $(baseURL)/perl-5.10.1-r1a1-x86-gcc2-2009-09-08.zip 948 : 949 : true 950 ; 951 } 952} 953 954 955# Python 956if [ IsOptionalHaikuImagePackageAdded Python ] { 957 if $(TARGET_ARCH) != x86 { 958 Echo "No optional package Python available for $(TARGET_ARCH)" ; 959 } else { 960 InstallOptionalHaikuImagePackage python-2.6.5-x86-gcc2-2010-03-20.zip 961 : $(baseURL)/python-2.6.5-x86-gcc2-2010-03-20.zip 962 : 963 : true 964 ; 965 } 966} 967 968 969# Rsync 970if [ IsOptionalHaikuImagePackageAdded Rsync ] { 971 if $(TARGET_ARCH) != x86 { 972 Echo "No optional package Rsync available for $(TARGET_ARCH)" ; 973 } else { 974 InstallOptionalHaikuImagePackage rsync-3.0.7-x86-gcc2-2010-01-05.zip 975 : $(baseURL)/rsync-3.0.7-x86-gcc2-2010-01-05.zip 976 : 977 ; 978 } 979} 980 981 982# Sed 983if [ IsOptionalHaikuImagePackageAdded Sed ] { 984 if $(TARGET_ARCH) != x86 { 985 Echo "No optional package Sed available for $(TARGET_ARCH)" ; 986 } else { 987 InstallOptionalHaikuImagePackage sed-4.2.1-r1a1-x86-gcc2-2009-08-30.zip 988 : $(baseURL)/sed-4.2.1-r1a1-x86-gcc2-2009-08-30.zip 989 : 990 : 991 ; 992 } 993} 994 995 996# SQLite 997if [ IsOptionalHaikuImagePackageAdded SQLite ] { 998 if $(TARGET_ARCH) != x86 { 999 Echo "No optional package SQLite available for $(TARGET_ARCH)" ; 1000 } else { 1001 InstallOptionalHaikuImagePackage sqlite-3.6.22-x86-gcc2-2010-03-09.zip 1002 : $(baseURL)/sqlite-3.6.22-x86-gcc2-2010-03-09.zip 1003 : 1004 : true 1005 ; 1006 } 1007} 1008 1009 1010# Subversion 1011if [ IsOptionalHaikuImagePackageAdded Subversion ] { 1012 if $(TARGET_ARCH) != x86 { 1013 Echo "No optional package Subversion available for $(TARGET_ARCH)" ; 1014 } else { 1015 InstallOptionalHaikuImagePackage subversion-1.6.9-x86-gcc2-2010-03-15.zip 1016 : $(baseURL)/subversion-1.6.9-x86-gcc2-2010-03-15.zip 1017 : 1018 : true 1019 ; 1020 } 1021} 1022 1023 1024# Tar 1025if [ IsOptionalHaikuImagePackageAdded Tar ] { 1026 if $(TARGET_ARCH) != x86 { 1027 Echo "No optional package Tar available for $(TARGET_ARCH)" ; 1028 } else { 1029 InstallOptionalHaikuImagePackage tar-1.22-x86-gcc4-2010-02-25.zip 1030 : $(baseURL)/tar-1.22-x86-gcc4-2010-02-25.zip 1031 : 1032 ; 1033 } 1034} 1035 1036 1037# UserlandFS 1038if [ IsOptionalHaikuImagePackageAdded UserlandFS ] { 1039 local arch = $(TARGET_ARCH) ; 1040 local abi = gcc$(HAIKU_GCC_VERSION[1]) ; 1041 1042 # kernel module 1043 AddFilesToHaikuImage system add-ons kernel file_systems : userlandfs ; 1044 1045 # server 1046 AddFilesToHaikuImage system servers : userlandfs_server ; 1047 1048 # libs 1049 local userlandfsLibs = 1050 libuserlandfs_beos_kernel.so 1051 libuserlandfs_haiku_kernel.so 1052 libuserlandfs_fuse.so 1053 ; 1054 AddFilesToHaikuHybridImage system lib : $(userlandfsLibs) : : true ; 1055 1056 # development goodies 1057 if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] { 1058 if ! ( $(HAIKU_GCC_VERSION[1]) in 2 4 ) { 1059 Exit "Optional package UserlandFS: Unsupported GCC version:" 1060 $(HAIKU_GCC_VERSION[1]) ; 1061 } 1062 1063 # library symlinks 1064 local lib ; 1065 for lib in $(userlandfsLibs) { 1066 AddSymlinkToHaikuImage develop abi $(arch) $(abi) lib 1067 : /system/lib/$(lib:BS) ; 1068 AddSymlinkToAlternativeGCCArchive develop abi $(arch) $(abi) lib 1069 : /system/lib/$(arch)/$(lib:BS) ; 1070 } 1071 1072 # FUSE headers 1073 local fuseHeaders = 1074 fuse_common_compat.h 1075 fuse_common.h 1076 fuse_compat.h 1077 fuse.h 1078 fuse_lowlevel_compat.h 1079 fuse_lowlevel.h 1080 fuse_opt.h 1081 ; 1082 fuseHeaders = $(fuseHeaders:G=userlandfs!fuse) ; 1083 SEARCH on $(fuseHeaders) 1084 = [ FDirName $(HAIKU_TOP) headers private userlandfs fuse ] ; 1085 AddFilesToHaikuImage develop headers userlandfs fuse : $(fuseHeaders) ; 1086 } 1087} 1088 1089 1090# Vim 1091if [ IsOptionalHaikuImagePackageAdded Vim ] { 1092 if $(TARGET_ARCH) != x86 { 1093 Echo "No optional package Vim available for $(TARGET_ARCH)" ; 1094 } else if $(HAIKU_GCC_VERSION[1]) >= 4 { 1095 InstallOptionalHaikuImagePackage vim-7.2-x86-gcc4-2009-05-31.zip 1096 : $(baseURL)/vim-7.2-x86-gcc4-2009-05-31.zip 1097 : 1098 ; 1099 AddSymlinkToHaikuImage home config be Applications 1100 : /boot/common/bin/gvim ; 1101 # TODO: move this symlink to the archive 1102 AddSymlinkToHaikuImage common bin : vim : vi ; 1103 # TODO: remove vimrc from the repository and add it to the archive 1104 SEARCH on <etc>vimrc = [ FDirName $(HAIKU_TOP) data etc vim ] ; 1105 AddFilesToHaikuImage common etc vim : <etc>vimrc ; 1106 } else { 1107 InstallOptionalHaikuImagePackage vim-7.2-r1a1-x86-gcc2-2009-09-06.zip 1108 : $(baseURL)/vim-7.2-r1a1-x86-gcc2-2009-09-06.zip 1109 : 1110 ; 1111 AddSymlinkToHaikuImage home config be Applications 1112 : /boot/common/bin/gvim ; 1113 # TODO: move this symlink to the archive 1114 AddSymlinkToHaikuImage common bin : vim : vi ; 1115 # TODO: remove vimrc from the repository and add it to the archive 1116 SEARCH on <etc>vimrc = [ FDirName $(HAIKU_TOP) data etc vim ] ; 1117 AddFilesToHaikuImage common etc vim : <etc>vimrc ; 1118 } 1119} 1120 1121 1122# Vision 1123if [ IsOptionalHaikuImagePackageAdded Vision ] { 1124 if $(TARGET_ARCH) != x86 { 1125 Echo "No optional package Vision available for $(TARGET_ARCH)" ; 1126 } else if $(HAIKU_GCC_VERSION[1]) >= 4 { 1127 InstallOptionalHaikuImagePackage Vision-0.9.7-H-090423-1.zip 1128 : $(baseURL)/Vision-0.9.7-H-x86-gcc4-2009-04-23.zip 1129 : apps 1130 ; 1131 AddSymlinkToHaikuImage home config be Applications 1132 : /boot/apps/Vision-0.9.7-H-090423/Vision ; 1133 } else { 1134 InstallOptionalHaikuImagePackage Vision-0.9.7-H-090423.zip 1135 : $(baseURL)/Vision-0.9.7-H-x86-gcc2-2009-04-23.zip 1136 : apps 1137 ; 1138 AddSymlinkToHaikuImage home config be Applications 1139 : /boot/apps/Vision-0.9.7-H-090423/Vision ; 1140 } 1141} 1142 1143 1144# VLC media player 1145if [ IsOptionalHaikuImagePackageAdded VLC ] { 1146 if $(TARGET_ARCH) != x86 { 1147 Echo "No optional package VLC available for $(TARGET_ARCH)" ; 1148 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 1149 Echo "No optional package VLC available for gcc4" ; 1150 } else { 1151 InstallOptionalHaikuImagePackage VLC-0.8.6d.zip 1152 : $(baseURL)/vlc-0.8.6d-gcc2-2009-04-18.zip 1153 : apps 1154 ; 1155 AddSymlinkToHaikuImage home config be Applications 1156 : "/boot/apps/vlc-0.8.6d/VLC media player" ; 1157 AddSymlinkToHaikuImage common bin 1158 : "/boot/apps/vlc-0.8.6d/VLC media player" : vlc ; 1159 } 1160} 1161 1162 1163# Welcome 1164if [ IsOptionalHaikuImagePackageAdded Welcome ] { 1165 CopyDirectoryToHaikuImage system documentation 1166 : [ FDirName $(HAIKU_TOP) docs welcome ] 1167 : welcome : -x .svn ; 1168 CopyDirectoryToHaikuImage system documentation 1169 : [ FDirName $(HAIKU_TOP) docs userguide ] 1170 : userguide : -x .svn ; 1171 CopyDirectoryToHaikuImage system documentation 1172 : [ FDirName $(HAIKU_TOP) docs images ] 1173 : images : -x .svn ; 1174 AddSymlinkToHaikuImage home Desktop 1175 : /boot/system/documentation/welcome/welcome_en.html : Welcome ; 1176 AddSymlinkToHaikuImage home Desktop 1177 : /boot/system/documentation/userguide/en/contents.html : User\ Guide ; 1178} 1179 1180 1181# WifiFirmwareScriptData 1182# This optional package is for people who build their own images & have wifi 1183# hardware that requires install-wifi-firmwares.sh & have no active network 1184# connection. This is not to be added to default images. 1185if [ IsOptionalHaikuImagePackageAdded WifiFirmwareScriptData ] { 1186 if $(TARGET_ARCH) != x86 { 1187 Echo "No optional package WifiFirmwareScriptData available for" 1188 $(TARGET_ARCH) ; 1189 } else { 1190 # broadcom43xx 1191 # firmware cutter 1192 local broadcomFWCutterArchive = b43-fwcutter-012.tar.bz2 ; 1193 local broadcomFWCutterURL = 1194 http://bu3sch.de/b43/fwcutter/$(broadcomFWCutterArchive) ; 1195 local broadcomFWCutterFile = [ DownloadFile $(broadcomFWCutterArchive) 1196 : $(broadcomFWCutterURL) ] ; 1197 AddFilesToHaikuImage system data firmware broadcom43xx b43-fwcutter 1198 : $(broadcomFWCutterFile) ; 1199 1200 # headers needed to compile firmware cutter 1201 local glibcDir = [ FDirName 1202 $(HAIKU_TOP) src system libroot posix glibc ] ; 1203 local byteswapHeader = [ FDirName $(glibcDir) string byteswap.h ] ; 1204 AddFilesToHaikuImage system data firmware broadcom43xx b43-fwcutter 1205 : $(byteswapHeader) ; 1206 local bitByteswapHeader = [ FDirName 1207 $(glibcDir) include arch x86 bits byteswap.h ] ; 1208 AddFilesToHaikuImage system data firmware broadcom43xx b43-fwcutter bits 1209 : $(bitByteswapHeader) ; 1210 1211 # file containing firmware 1212 local broadcom43xxFile ; 1213 broadcom43xxFile = [ DownloadFile wl_apsta-3.130.20.0.o 1214 : http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o ] ; 1215 AddFilesToHaikuImage system data firmware broadcom43xx 1216 : $(broadcom43xxFile) ; 1217 1218 # marvell88w8335 1219 local marvelArchive = malo-firmware-1.4.tgz ; 1220 local marvelURL = http://www.nazgul.ch/malo/$(marvelArchive) ; 1221 local marvelFile = [ DownloadFile $(marvelArchive) : $(marvelURL) ] ; 1222 AddFilesToHaikuImage system data firmware marvell88w8335 1223 : $(marvelFile) ; 1224 } 1225} 1226 1227 1228# WonderBrush 1229if [ IsOptionalHaikuImagePackageAdded WonderBrush ] { 1230 if $(TARGET_ARCH) != x86 { 1231 Echo "No optional package WonderBrush available for $(TARGET_ARCH)" ; 1232 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 1233 Echo "No optional package WonderBrush available for gcc4" ; 1234 } else { 1235 InstallOptionalHaikuImagePackage WonderBrush-2.1.2.zip 1236 : $(baseURL)/WonderBrush-2.1.2-x86-gcc2-2008-11-08.zip 1237 : apps 1238 ; 1239 AddSymlinkToHaikuImage home config be Applications 1240 : /boot/apps/WonderBrush/WonderBrush ; 1241 } 1242} 1243 1244 1245# XZ-Utils 1246if [ IsOptionalHaikuImagePackageAdded XZ-Utils ] { 1247 if $(TARGET_ARCH) != x86 { 1248 Echo "No optional package XZ-Utils available for $(TARGET_ARCH)" ; 1249 } else { 1250 InstallOptionalHaikuImagePackage xz-utils-4.999.9-x86-gcc4-2010-02-25.zip 1251 : $(baseURL)/xz-utils-4.999.9-x86-gcc4-2010-02-25.zip 1252 : 1253 ; 1254 AddExpanderRuleToHaikuImage "application/x-xz" : .tar.xz 1255 : "tar -Jtvf \\0045s" 1256 : "tar -Jxvf \\0045s" 1257 ; 1258 AddExpanderRuleToHaikuImage "application/x-xz" : .txz 1259 : "tar -Jtvf \\0045s" 1260 : "tar -Jxvf \\0045s" 1261 ; 1262 AddExpanderRuleToHaikuImage "application/x-xz" : .xz 1263 : "echo \\0045s | sed 's/.xz\\\$//g'" 1264 : "xz -df \\0045s" 1265 ; 1266 } 1267} 1268 1269 1270# Yasm 1271if [ IsOptionalHaikuImagePackageAdded Yasm ] { 1272 if $(TARGET_ARCH) != x86 { 1273 Echo "No optional package Yasm available for $(TARGET_ARCH)" ; 1274 } else { 1275 InstallOptionalHaikuImagePackage yasm-0.8.0-r1a1-x86-gcc2-2009-08-30.zip 1276 : $(baseURL)/yasm-0.8.0-r1a1-x86-gcc2-2009-08-30.zip 1277 : 1278 ; 1279 } 1280} 1281