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