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