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