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