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