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-x86-gcc2-2009-07-05 238 : $(baseURL)/libtool-2.2.6a-x86-gcc2-2009-07-05.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 255 : $(baseURL)/gcc-4.3.3-x86-gcc4-2009-06-29.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 iconv : 3rdparty ; 360 AddHeaderDirectoryToHaikuImage libs ncurses : 3rdparty ; 361 AddHeaderDirectoryToHaikuImage libs png : 3rdparty ; 362 AddHeaderDirectoryToHaikuImage libs zlib : 3rdparty ; 363 364 # cpp headers 365 if $(HAIKU_GCC_VERSION[1]) = 2 { 366 # GCC 2 only -- for GCC 4 they come with the DevelopmentBase package 367 CopyDirectoryToHaikuImage $(abiDirTokens) headers 368 : [ FDirName $(HAIKU_TOP) headers cpp ] : : -x .svn ; 369 CopyDirectoryToAlternativeGCCArchive $(abiDirTokens) headers 370 : [ FDirName $(HAIKU_TOP) headers cpp ] : : -x .svn ; 371 } 372} 373 374 375# Firefox web browser 376if [ IsOptionalHaikuImagePackageAdded Firefox ] { 377 if $(TARGET_ARCH) != x86 { 378 Echo "No optional package Firefox available for $(TARGET_ARCH)" ; 379 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 380 InstallOptionalHaikuImagePackage 381 BeZillaBrowser-2.0.0.21pre-haiku-gcc4-x86-09-03-01 382 : $(baseURL)/BeZillaBrowser-2.0.0.21pre-haiku-gcc4-x86-09-03-01.zip 383 : apps 384 ; 385 AddSymlinkToHaikuImage home config be Applications 386 : /boot/apps/BeZillaBrowser/BeZillaBrowser ; 387 388 389 } else { 390 InstallOptionalHaikuImagePackage BeZillaBrowser-gcc2-20090218 391 : http://bezilla.beuser.de/builds/BeZillaBrowser-gcc2-20090218.zip 392 : apps 393 ; 394 AddSymlinkToHaikuImage home config be Applications 395 : /boot/apps/BeZillaBrowser/BeZillaBrowser ; 396 } 397} 398 399 400# KeymapSwitcher 401if [ IsOptionalHaikuImagePackageAdded KeymapSwitcher ] { 402 if $(TARGET_ARCH) != x86 { 403 Echo "No optional package KeymapSwitcher available for $(TARGET_ARCH)" ; 404 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 405 InstallOptionalHaikuImagePackage 406 KeymapSwitcher-1.2.3-x86-gcc4-2009-05-31 407 : $(baseURL)/KeymapSwitcher-1.2.3-x86-gcc4-2009-05-31.zip 408 : 409 ; 410 AddSymlinkToHaikuImage home config be Desktop\ Applets 411 : /boot/common/bin/KeymapSwitcher ; 412 } else { 413 InstallOptionalHaikuImagePackage 414 KeymapSwitcher-1.2.3-x86-gcc2-2009-05-31 415 : $(baseURL)/KeymapSwitcher-1.2.3-x86-gcc2-2009-05-31.zip 416 : 417 ; 418 AddSymlinkToHaikuImage home config be Desktop\ Applets 419 : /boot/common/bin/KeymapSwitcher ; 420 } 421} 422 423 424# LibIconv 425if [ IsOptionalHaikuImagePackageAdded LibIconv ] { 426 if $(TARGET_ARCH) != x86 { 427 Echo "No optional package LibIconv available for $(TARGET_ARCH)" ; 428 } else { 429 InstallOptionalHaikuImagePackage libiconv-1.13-x86-gcc2-2009-07-05 430 : $(baseURL)/libiconv-1.13-x86-gcc2-2009-07-05.zip 431 : 432 ; 433 } 434} 435 436 437# LibLayout library 438if [ IsOptionalHaikuImagePackageAdded LibLayout ] { 439 if $(TARGET_ARCH) != x86 { 440 Echo "No optional package LibLayout available for $(TARGET_ARCH)" ; 441 } else if $(HAIKU_GCC_VERSION[1]) >= 4 { 442 Echo "No optional package LibLayout available for gcc4" ; 443 } else { 444 InstallOptionalHaikuImagePackage liblayout-1.4.0-gcc2-2009-03-08 445 : $(baseURL)/liblayout-1.4.0-gcc2-2009-03-08.zip 446 : 447 ; 448 } 449} 450 451 452# LibXML2 453if [ IsOptionalHaikuImagePackageAdded LibXML2 ] { 454 if $(TARGET_ARCH) != x86 { 455 Echo "No optional package LibXML2 available for $(TARGET_ARCH)" ; 456 } else { 457 InstallOptionalHaikuImagePackage libxml2-2.7.3-x86-gcc2-2009-07-06 458 : $(baseURL)/libxml2-2.7.3-x86-gcc2-2009-07-06.zip 459 : 460 ; 461 } 462} 463 464 465# Links web browser 466if [ IsOptionalHaikuImagePackageAdded Links ] { 467 if $(TARGET_ARCH) != x86 { 468 Echo "No optional package Links available for $(TARGET_ARCH)" ; 469 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 470 Echo "No optional package Links available for gcc4" ; 471 } else { 472 InstallOptionalHaikuImagePackage Links 473 : $(baseURL)/links-x86-gcc2-2008-05-03.zip 474 : 475 ; 476 AddSymlinkToHaikuImage home config be Applications 477 : /boot/home/config/bin/links ; 478 } 479} 480 481 482# Nano 483if [ IsOptionalHaikuImagePackageAdded Nano ] { 484 if $(TARGET_ARCH) != x86 { 485 Echo "No optional package Nano available for $(TARGET_ARCH)" ; 486 } else { 487 InstallOptionalHaikuImagePackage nano-2.0.9-x86-gcc2-2009-07-06 488 : $(baseURL)/nano-2.0.9-x86-gcc2-2009-07-06.zip 489 : 490 ; 491 } 492} 493 494 495# Neon 496if [ IsOptionalHaikuImagePackageAdded Neon ] { 497 if $(TARGET_ARCH) != x86 { 498 Echo "No optional package Neon available for $(TARGET_ARCH)" ; 499 } else { 500 InstallOptionalHaikuImagePackage neon-0.28.5-x86-gcc2-2009-07-06 501 : $(baseURL)/neon-0.28.5-x86-gcc2-2009-07-06.zip 502 : 503 ; 504 } 505} 506 507 508# NetSurf web browser 509if [ IsOptionalHaikuImagePackageAdded NetSurf ] { 510 if $(TARGET_ARCH) != x86 { 511 Echo "No optional package NetSurf available for $(TARGET_ARCH)" ; 512 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 513 Echo "No optional package NetSurf available for gcc4" ; 514 } else { 515 InstallOptionalHaikuImagePackage NetSurf-r7117 516 : $(baseURL)/NetSurf-r7117-x86-gcc2-2009-04-17.zip 517 : 518 ; 519 AddSymlinkToHaikuImage home config be Applications 520 : /boot/apps/netsurf/NetSurf ; 521 } 522} 523 524 525# OpenSound drivers 526if [ IsOptionalHaikuImagePackageAdded OpenSound ] { 527 if $(TARGET_ARCH) != x86 { 528 Echo "No optional package OpenSound available for $(TARGET_ARCH)" ; 529 } else { 530 InstallOptionalHaikuImagePackage OpenSound 531 : $(baseURL)/OpenSound-x86-gcc2-2008-06-21.zip 532 : 533 ; 534 } 535 #UnzipArchiveToHaikuImage home : data/vv.mp3.zip : 0 ; 536} 537 538 539# OpenSSH 540if [ IsOptionalHaikuImagePackageAdded OpenSSH ] { 541 if $(TARGET_ARCH) != x86 { 542 Echo "No optional package OpenSSH available for $(TARGET_ARCH)" ; 543 } else { 544 if ! $(HAIKU_IMAGE_HOST_NAME) && ! $(HAIKU_IGNORE_USER_BUILD_CONFIG) { 545 Exit "Optional package OpenSSH requires the HAIKU_IMAGE_HOST_NAME" 546 "variable to be set!" ; 547 } 548 549 InstallOptionalHaikuImagePackage openssh-5.2p1-x86-gcc2-2009-05-27 550 : $(baseURL)/openssh-5.2p1-x86-gcc2-2009-05-27.zip 551 : 552 ; 553 554 AddUserToHaikuImage sshd : 1001 : 100 : /var/empty : /bin/true 555 : "sshd user" ; 556 } 557} 558 559 560# OpenSSL 561if [ IsOptionalHaikuImagePackageAdded OpenSSL ] { 562 if $(TARGET_ARCH) != x86 { 563 Echo "No optional package OpenSSL available for $(TARGET_ARCH)" ; 564 } else { 565 InstallOptionalHaikuImagePackage $(HAIKU_OPENSSL_PACKAGE) 566 : $(HAIKU_OPENSSL_URL) 567 : 568 ; 569 } 570} 571 572 573# P7zip 574if [ IsOptionalHaikuImagePackageAdded P7zip ] { 575 if $(TARGET_ARCH) != x86 { 576 Echo "No optional package P7zip available for $(TARGET_ARCH)" ; 577 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 578 Echo "No optional package P7zip available for gcc4" ; 579 } else { 580 InstallOptionalHaikuImagePackage p7zip-4.65-x86-gcc2-2009-05-24 581 : $(baseURL)/p7zip-4.65-x86-gcc2-2009-05-24.zip 582 : 583 ; 584 585 actions BuildHaikuImageExpanderRules 586 { 587 echo "\"application/x-7z-compressed\"\t.7z\t\"7za l \0045s\"\t\"7za x -y \0045s\"" > $(1) 588 } 589 590 Always expander.rules ; 591 MakeLocate expander.rules : $(HAIKU_COMMON_PLATFORM_OBJECT_DIR) ; 592 BuildHaikuImageExpanderRules expander.rules ; 593 AddFilesToHaikuImage home config etc : expander.rules ; 594 } 595} 596 597 598# Pe text editor 599if [ IsOptionalHaikuImagePackageAdded Pe ] { 600 if $(TARGET_ARCH) != x86 { 601 Echo "No optional package Pe available for $(TARGET_ARCH)" ; 602 } else { 603 if $(HAIKU_GCC_VERSION[1]) >= 4 { 604 InstallOptionalHaikuImagePackage Pe-2.4.2-x86-gcc4-2009-07-05 605 : $(baseURL)/Pe-2.4.2-x86-gcc4-2009-07-05.zip 606 ; 607 } else { 608 InstallOptionalHaikuImagePackage Pe-2.4.2-x86-gcc2-2009-07-05 609 : $(baseURL)/Pe-2.4.2-x86-gcc2-2009-07-05.zip 610 ; 611 } 612 613 AddSymlinkToHaikuImage home config be Applications 614 : /boot/apps/Pe/Pe ; 615 AddSymlinkToHaikuImage common bin 616 : /boot/apps/Pe/lpe ; 617 } 618} 619 620 621# Perl 622if [ IsOptionalHaikuImagePackageAdded Perl ] { 623 if $(TARGET_ARCH) != x86 { 624 Echo "No optional package Perl available for $(TARGET_ARCH)" ; 625 } else { 626 InstallOptionalHaikuImagePackage perl-5.10.0-gcc2-2008-10-29 627 : $(baseURL)/perl-5.10.0-gcc2-2008-10-29.zip 628 : 629 ; 630 } 631} 632 633 634# Python 635if [ IsOptionalHaikuImagePackageAdded Python ] { 636 if $(TARGET_ARCH) != x86 { 637 Echo "No optional package Python available for $(TARGET_ARCH)" ; 638 } else { 639 InstallOptionalHaikuImagePackage python-2.6.2-x86-gcc2-2009-05-27 640 : $(baseURL)/python-2.6.2-x86-gcc2-2009-05-27.zip 641 : 642 ; 643 } 644} 645 646 647# SQLite 648if [ IsOptionalHaikuImagePackageAdded SQLite ] { 649 if $(TARGET_ARCH) != x86 { 650 Echo "No optional package SQLite available for $(TARGET_ARCH)" ; 651 } else { 652 InstallOptionalHaikuImagePackage sqlite-3.6.16-x86-gcc2-2009-07-06 653 : $(baseURL)/sqlite-3.6.16-x86-gcc2-2009-07-06.zip 654 : 655 ; 656 } 657} 658 659 660# Rsync 661if [ IsOptionalHaikuImagePackageAdded Rsync ] { 662 if $(TARGET_ARCH) != x86 { 663 Echo "No optional package Rsync available for $(TARGET_ARCH)" ; 664 } else { 665 InstallOptionalHaikuImagePackage rsync-3.0.6-x86-gcc2-2009-05-26 666 : $(baseURL)/rsync-3.0.6-x86-gcc2-2009-05-26.zip 667 : 668 ; 669 } 670} 671 672 673# Subversion 674if [ IsOptionalHaikuImagePackageAdded Subversion ] { 675 if $(TARGET_ARCH) != x86 { 676 Echo "No optional package Subversion available for $(TARGET_ARCH)" ; 677 } else { 678 InstallOptionalHaikuImagePackage subversion-1.6.2-x86-gcc2-2009-05-20 679 : $(baseURL)/subversion-1.6.2-x86-gcc2-2009-05-20.zip 680 : 681 ; 682 } 683} 684 685 686# Tar 687if [ IsOptionalHaikuImagePackageAdded Tar ] { 688 if $(TARGET_ARCH) != x86 { 689 Echo "No optional package Tar available for $(TARGET_ARCH)" ; 690 } else { 691 InstallOptionalHaikuImagePackage tar-1.21-gcc2-2009-02-08 692 : $(baseURL)/tar-1.21-gcc2-2009-02-08.zip 693 : 694 ; 695 } 696} 697 698 699# UserlandFS 700if [ IsOptionalHaikuImagePackageAdded UserlandFS ] { 701 local arch = $(TARGET_ARCH) ; 702 local abi = gcc$(HAIKU_GCC_VERSION[1]) ; 703 704 # kernel module 705 AddFilesToHaikuImage system add-ons kernel file_systems : userlandfs ; 706 707 # server 708 AddFilesToHaikuImage system servers : userlandfs_server ; 709 710 # libs 711 local userlandfsLibs = 712 libuserlandfs_beos_kernel.so 713 libuserlandfs_haiku_kernel.so 714 libuserlandfs_fuse.so 715 ; 716 AddFilesToHaikuHybridImage system lib : $(userlandfsLibs) : : true ; 717 718 # development goodies 719 if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] { 720 if ! ( $(HAIKU_GCC_VERSION[1]) in 2 4 ) { 721 Exit "Optional package UserlandFS: Unsupported GCC version:" 722 $(HAIKU_GCC_VERSION[1]) ; 723 } 724 725 # library symlinks 726 local lib ; 727 for lib in $(userlandfsLibs) { 728 AddSymlinkToHaikuImage develop abi $(arch) $(abi) lib 729 : /system/lib/$(lib:BS) ; 730 AddSymlinkToAlternativeGCCArchive develop abi $(arch) $(abi) lib 731 : /system/lib/$(arch)/$(lib:BS) ; 732 } 733 734 # FUSE headers 735 local fuseHeaders = 736 fuse_common_compat.h 737 fuse_common.h 738 fuse_compat.h 739 fuse.h 740 fuse_lowlevel_compat.h 741 fuse_lowlevel.h 742 fuse_opt.h 743 ; 744 fuseHeaders = $(fuseHeaders:G=userlandfs!fuse) ; 745 SEARCH on $(fuseHeaders) 746 = [ FDirName $(HAIKU_TOP) headers private userlandfs fuse ] ; 747 AddFilesToHaikuImage develop headers userlandfs fuse : $(fuseHeaders) ; 748 } 749} 750 751 752# Vim 753if [ IsOptionalHaikuImagePackageAdded Vim ] { 754 if $(TARGET_ARCH) != x86 { 755 Echo "No optional package Vim available for $(TARGET_ARCH)" ; 756 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 757 InstallOptionalHaikuImagePackage vim-7.2-x86-gcc4-2009-05-31 758 : $(baseURL)/vim-7.2-x86-gcc4-2009-05-31.zip 759 : 760 ; 761 AddSymlinkToHaikuImage home config be Applications 762 : /boot/common/bin/gvim ; 763 } else { 764 InstallOptionalHaikuImagePackage vim-7.2-x86-gcc2-2009-05-31 765 : $(baseURL)/vim-7.2-x86-gcc2-2009-05-31.zip 766 : 767 ; 768 AddSymlinkToHaikuImage home config be Applications 769 : /boot/common/bin/gvim ; 770 } 771} 772 773 774# Vision 775if [ IsOptionalHaikuImagePackageAdded Vision ] { 776 if $(TARGET_ARCH) != x86 { 777 Echo "No optional package Vision available for $(TARGET_ARCH)" ; 778 } else if $(HAIKU_GCC_VERSION[1]) >= 4 { 779 InstallOptionalHaikuImagePackage Vision-0.9.7-H-090423 780 : $(baseURL)/Vision-0.9.7-H-x86-gcc4-2009-04-23.zip 781 : apps 782 ; 783 AddSymlinkToHaikuImage home config be Applications 784 : /boot/apps/Vision-0.9.7-H-090423/Vision ; 785 } else { 786 InstallOptionalHaikuImagePackage Vision-0.9.7-H-090423 787 : $(baseURL)/Vision-0.9.7-H-x86-gcc2-2009-04-23.zip 788 : apps 789 ; 790 AddSymlinkToHaikuImage home config be Applications 791 : /boot/apps/Vision-0.9.7-H-090423/Vision ; 792 } 793} 794 795 796# VLC media player 797if [ IsOptionalHaikuImagePackageAdded VLC ] { 798 if $(TARGET_ARCH) != x86 { 799 Echo "No optional package VLC available for $(TARGET_ARCH)" ; 800 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 801 Echo "No optional package VLC available for gcc4" ; 802 } else { 803 InstallOptionalHaikuImagePackage VLC-0.8.6d 804 : $(baseURL)/vlc-0.8.6d-gcc2-2009-04-18.zip 805 : apps 806 ; 807 AddSymlinkToHaikuImage home config be Applications 808 : "/boot/apps/vlc-0.8.6d/VLC media player" ; 809 AddSymlinkToHaikuImage common bin 810 : "/boot/apps/vlc-0.8.6d/VLC media player" : vlc ; 811 } 812} 813 814 815# Welcome 816if [ IsOptionalHaikuImagePackageAdded Welcome ] { 817 CopyDirectoryToHaikuImage system documentation 818 : [ FDirName $(HAIKU_TOP) docs welcome ] 819 : welcome : -x .svn ; 820 CopyDirectoryToHaikuImage system documentation 821 : [ FDirName $(HAIKU_TOP) docs userguide ] 822 : userguide : -x .svn ; 823 AddFilesToHaikuImage system documentation 824 : [ FDirName $(HAIKU_TOP) docs Haiku-doc.css ] 825 : Haiku-doc.css ; 826 AddSymlinkToHaikuImage home Desktop 827 : /boot/system/documentation/welcome/welcome.html : Welcome ; 828} 829 830 831# WonderBrush 832if [ IsOptionalHaikuImagePackageAdded WonderBrush ] { 833 if $(TARGET_ARCH) != x86 { 834 Echo "No optional package WonderBrush available for $(TARGET_ARCH)" ; 835 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 836 Echo "No optional package WonderBrush available for gcc4" ; 837 } else { 838 InstallOptionalHaikuImagePackage WonderBrush-2.1.2 839 : $(baseURL)/WonderBrush-2.1.2-x86-gcc2-2008-11-08.zip 840 : apps 841 ; 842 AddSymlinkToHaikuImage home config be Applications 843 : /boot/apps/WonderBrush/WonderBrush ; 844 } 845} 846 847 848# Yasm 849if [ IsOptionalHaikuImagePackageAdded Yasm ] { 850 if $(TARGET_ARCH) != x86 { 851 Echo "No optional package Yasm available for $(TARGET_ARCH)" ; 852 } else { 853 InstallOptionalHaikuImagePackage yasm-0.8.0-x86-gcc2-2009-07-06 854 : $(baseURL)/yasm-0.8.0-x86-gcc2-2009-07-06.zip 855 : 856 ; 857 } 858} 859