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) = 1 10 && $(HAIKU_ALTERNATIVE_GCC_OUTPUT_DIR) { 11 isHybridBuild = 1 ; 12} 13 14 15# Available Optional Packages: 16# ABI-compliance-checker - tool for checking ABI compatibility between libs 17# APR - support libraries used for example by Subversion 18# APR-util - Apache portable runtime utility library 19# BeAE - open source Audio Editor 20# Beam - powerful native e-mail client 21# BeBook - the classic BeOS API documentation 22# BeHappy - special documentation (i.e. BeBook) browser 23# BeOSCompatibility - creates links within the system to support old apps 24# BePDF - native PDF reader 25# BeZillaBrowser - fork of Mozilla's 1.8 branch. 26# Bluetooth - experimental Haiku components for Bluetooth 27# Bzip - file archiving utility 28# CDRecord - the command line CD writing tools 29# Clockwerk - native audio/video compositing 30# CLucene - indexed file search 31# Curl - a client that groks URLs 32# CMake - cross platform make 33# CVS - the version control system 34# Development - more complete dev environment (including autotools) 35# DevelopmentBase - basic development environment (gcc, headers, libs,...) 36# DevelopmentMin - development headers, libs, tools, from sources only 37# Expat - XML parsing libraries 38# friss - RSS/ATOM/... feeds reader 39# GetText - a framework to help produce multi-lingual messages. 40# Git - the distributed version control system 41# GPerf - the perfect hash function generator. 42# ICU-devel - the headers and lib-links for ICU (for development) 43# KeymapSwitcher - Easy to use keymap switcher 44# LibEvent - An event notification library 45# LibIconv - text encoding conversion library 46# LibLayout - GCC2 package needed by some BeOS apps to compile 47# LibXML2 - the XML support libary 48# LibXSLT - xslt library and utility 49# Links - the web browser 50# Mercurial - the distributed version control system 51# Nano - the command line text editor 52# Neon - support libraries used for example by SVN 53# NetFS - the native networked file system components 54# NetSurf - the web browser 55# OCaml - the Objective Caml language 56# OpenSound - additional audio driver package 57# OpenSSH - the secure shell 58# OpenSSL - secure sockets library 59# P7zip - file archiving utility 60# PCRE - the (Perl-compatible) regex engine 61# Pe - the powerful native Programmer's Editor 62# Perl - the scripting language 63# Python - the scripting language 64# Rsync - remote directory synchronization 65# Sed - the ultimate stream editor 66# SQLite - the database implementation 67# Subversion - the version control system 68# Tar - archiving utility 69# TimGMSoundFont - a good quality General MIDI Sound Font 70# TrackerNewTemplates - template files for Tracker's New menu 71# Transmission - a fast, easy, and free BitTorrent Client 72# UserlandFS - aids native file system development (like FUSE) 73# Vim - Vi IMproved. Highly configurable text editor 74# Vision - powerful native IRC client 75# VLC - the multi media player with native interface 76# WebPositive - native, WebKit-based web browser 77# Welcome - introductory documentation to Haiku 78# WifiFirmwareScriptData - data files needed by install-wifi-firmwares.sh 79# WonderBrush - native graphics application 80# XZ-Utils - file archiving utility 81# Yasm - the assembler utility 82 83local baseURL = http://haiku-files.org/files/optional-packages ; 84local baseSourceURL = http://haiku-files.org/files/releases/r1alpha2/sources ; 85 86# ABI-compliance-checker 87if [ IsOptionalHaikuImagePackageAdded ABI-compliance-checker ] { 88 if $(HAIKU_GCC_VERSION[1]) < 4 && ! $(isHybridBuild) { 89 Echo "No optional package ABI-compliance-checker for gcc2" ; 90 } else { 91 InstallOptionalHaikuImagePackage 92 ABI-compliance-checker-1.12-noarch-gcc4-2010-02-01.zip 93 : $(baseURL)/ABI-compliance-checker-1.12-noarch-gcc4-2010-02-01.zip 94 ; 95 } 96} 97 98 99# APR 100if [ IsOptionalHaikuImagePackageAdded APR ] { 101 if $(TARGET_ARCH) != x86 { 102 Echo "No optional package APR available for $(TARGET_ARCH)" ; 103 } else { 104 InstallOptionalHaikuImagePackage apr-1.4.2-r1a2-x86-gcc2-2010-04-22-a.zip 105 : $(baseURL)/apr-1.4.2-r1a2-x86-gcc2-2010-04-22-a.zip 106 : 107 : true 108 : true 109 ; 110 InstallSourceArchive apr-1.4.2_haiku-2010-04-29.tar.xz 111 : $(baseSourceURL)/apr-1.4.2_haiku-2010-04-29.tar.xz 112 ; 113 } 114} 115 116 117# APR-util 118if [ IsOptionalHaikuImagePackageAdded APR-util ] { 119 if $(TARGET_ARCH) != x86 { 120 Echo "No optional package APR-util available for $(TARGET_ARCH)" ; 121 } else { 122 InstallOptionalHaikuImagePackage 123 apr-util-1.3.9-r1a2-x86-gcc2-2010-04-22-a.zip 124 : $(baseURL)/apr-util-1.3.9-r1a2-x86-gcc2-2010-04-22-a.zip 125 : 126 : true 127 : true 128 ; 129 InstallSourceArchive apr-util-1.3.9_haiku-2010-04-29.tar.xz 130 : $(baseSourceURL)/apr-util-1.3.9_haiku-2010-04-29.tar.xz 131 ; 132 } 133} 134 135 136# BeAE 137if [ IsOptionalHaikuImagePackageAdded BeAE ] { 138 if $(TARGET_ARCH) != x86 { 139 Echo "No optional package BeAE available for $(TARGET_ARCH)" ; 140 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 141 Echo "No optional package BeAE available for gcc4" ; 142 } else { 143 InstallOptionalHaikuImagePackage beae-20-r1a2-x86-gcc2-2010-04-25.zip 144 : $(baseURL)/beae-20-r1a2-x86-gcc2-2010-04-25.zip 145 : 146 ; 147 AddSymlinkToHaikuImage home config be Applications 148 : /boot/apps/BeAE/BeAE ; 149 } 150} 151 152 153# Beam 154if [ IsOptionalHaikuImagePackageAdded Beam ] { 155 if $(TARGET_ARCH) != x86 { 156 Echo "No optional package Beam available for $(TARGET_ARCH)" ; 157 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 158 Echo "No optional package Beam available for gcc4" ; 159 } else { 160 InstallOptionalHaikuImagePackage Beam-1.2alpha-x86-gcc2-2010-04-29.zip 161 : $(baseURL)/Beam-1.2alpha-x86-gcc2-2010-04-29.zip 162 ; 163 AddSymlinkToHaikuImage home config be Applications 164 : /boot/apps/Beam/Beam ; 165 } 166} 167 168 169# BeBook 170if [ IsOptionalHaikuImagePackageAdded BeBook ] { 171 InstallOptionalHaikuImagePackage bebook_20081026.zip 172 : $(baseURL)/bebook_20081026.zip 173 : system documentation 174 ; 175 AddSymlinkToHaikuImage home Desktop 176 : /boot/system/documentation/bebook/index.html : BeBook ; 177} 178 179 180# BeHappy 181if [ IsOptionalHaikuImagePackageAdded BeHappy ] { 182 if $(TARGET_ARCH) != x86 { 183 Echo "No optional package BeHappy available for $(TARGET_ARCH)" ; 184 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 185 Echo "No optional package BeHappy available for gcc4" ; 186 } else { 187 InstallOptionalHaikuImagePackage BeHappy-1.0.6-x86-gcc2-2008-10-16.zip 188 : $(baseURL)/BeHappy-1.0.6-x86-gcc2-2008-10-16.zip 189 : 190 ; 191 AddSymlinkToHaikuImage home config be Applications 192 : /boot/apps/BeHappy/BeHappy ; 193 } 194} 195 196 197# BeOSCompatibility 198if [ IsOptionalHaikuImagePackageAdded BeOSCompatibility ] { 199 if $(TARGET_ARCH) != x86 { 200 Echo "No optional package BeOSCompatibility available for $(TARGET_ARCH)" ; 201 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 202 Echo "No optional package BeOSCompatibility available for gcc4" ; 203 } else { 204 Echo "Warning: Adding BeOS compatibility symlinks. This will go away. Please fix your apps!" ; 205 AddSymlinkToHaikuImage beos : ../system/apps ; 206 AddSymlinkToHaikuImage beos : ../system/bin ; 207 AddSymlinkToHaikuImage beos : ../system/documentation ; 208 AddSymlinkToHaikuImage beos : ../common/etc ; 209 AddSymlinkToHaikuImage beos : ../system/preferences ; 210 AddSymlinkToHaikuImage beos : ../system ; 211 AddDirectoryToHaikuImage var ; 212 AddSymlinkToHaikuImage var : /boot/common/var/log ; 213 AddSymlinkToHaikuImage var : /boot/common/cache/tmp ; 214 } 215} 216 217 218# BePDF 219if [ IsOptionalHaikuImagePackageAdded BePDF ] { 220 if $(TARGET_ARCH) != x86 { 221 Echo "No optional package BePDF available for $(TARGET_ARCH)" ; 222 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 223 Echo "No optional package BePDF available for gcc4" ; 224 } else { 225 InstallOptionalHaikuImagePackage 226 BePDF-1.1.1b3-r1a2-x86-gcc2-2010-05-08.zip 227 : $(baseURL)/BePDF-1.1.1b3-r1a2-x86-gcc2-2010-05-08.zip 228 : apps 229 ; 230 AddSymlinkToHaikuImage home config be Applications 231 : /boot/apps/BePDF/BePDF ; 232 AddSymlinkToHaikuImage common data licenses 233 : "/boot/apps/BePDF/license/locale DevKit/Open Tracker License" 234 : "Open Tracker" ; 235 AddSymlinkToHaikuImage common data licenses 236 : "/boot/apps/BePDF/license/locale DevKit/LICENSE" 237 : "48HRS Public License" ; 238 InstallSourceArchive bepdf-1.1.1b3-2010-05-05.tar.xz 239 : $(baseSourceURL)/bepdf-1.1.1b3-2010-05-05.tar.xz ; 240 } 241} 242 243 244# BeZillaBrowser 245if [ IsOptionalHaikuImagePackageAdded BeZillaBrowser ] { 246 if $(TARGET_ARCH) != x86 { 247 Echo "No optional package BeZillaBrowser available for $(TARGET_ARCH)" ; 248 } else { 249 if $(HAIKU_GCC_VERSION[1]) >= 4 { 250 InstallOptionalHaikuImagePackage 251 BeZillaBrowser-2.0.0.22pre-r1a2-x86-gcc4-2010-05-04.zip 252 : $(baseURL)/BeZillaBrowser-2.0.0.22pre-r1a2-x86-gcc4-2010-05-04.zip 253 : 254 ; 255 } else { 256 InstallOptionalHaikuImagePackage 257 BeZillaBrowser-2.0.0.22pre-r1a2-x86-gcc2-2010-05-02.zip 258 : $(baseURL)/BeZillaBrowser-2.0.0.22pre-r1a2-x86-gcc2-2010-05-02.zip 259 : 260 ; 261 } 262 AddSymlinkToHaikuImage home config be Applications 263 : /boot/apps/BeZillaBrowser/BeZillaBrowser 264 ; 265 InstallSourceArchive BeZillaBrowser-2.0.0.22pre-r1a2-sources.tar.xz 266 : $(baseSourceURL)/BeZillaBrowser-2.0.0.22pre-r1a2-sources.tar.xz 267 ; 268 } 269} 270 271 272# Bluetooth stack 273if [ IsOptionalHaikuImagePackageAdded Bluetooth ] { 274 local bluetoothDrivers = h2generic ; 275 AddDriversToHaikuImage bluetooth : $(bluetoothDrivers) ; 276 AddFilesToHaikuImage system servers : bluetooth_server ; 277 AddFilesToHaikuImage system lib : libbluetooth.so ; 278 AddFilesToHaikuImage system add-ons kernel network protocols : l2cap ; 279 AddFilesToHaikuImage system add-ons kernel bluetooth : btCoreData hci ; 280 AddFilesToHaikuImage system preferences : Bluetooth ; 281 AddFilesToHaikuImage system bin : bt_dev_info bt_discovery ; 282 AddSymlinkToHaikuImage home config be Preferences 283 : /boot/system/preferences/Bluetooth ; 284 if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] 285 && $(HAIKU_GCC_VERSION[1]) in 2 4 { 286 local arch = $(TARGET_ARCH) ; 287 local abi = gcc$(HAIKU_GCC_VERSION[1]) ; 288 AddSymlinkToHaikuHybridImage develop abi $(arch) $(abi) lib 289 : /system/lib libbluetooth.so : : true ; 290 } 291} 292 293 294# Bzip 295if [ IsOptionalHaikuImagePackageAdded Bzip ] { 296 if $(TARGET_ARCH) != x86 { 297 Echo "No optional package Bzip available for $(TARGET_ARCH)" ; 298 } else { 299 InstallOptionalHaikuImagePackage 300 bzip2-1.0.5-r1a2-x86-gcc2-2010-04-21-a.zip 301 : $(baseURL)/bzip2-1.0.5-r1a2-x86-gcc2-2010-04-21-a.zip 302 : 303 : true 304 : true 305 ; 306 InstallSourceArchive bzip2-1.0.5_haiku-2010-04-29.tar.xz 307 : $(baseSourceURL)/bzip2-1.0.5_haiku-2010-04-29.tar.xz 308 ; 309 } 310} 311 312 313# CDRecord 314if [ IsOptionalHaikuImagePackageAdded CDRecord ] { 315 if $(TARGET_ARCH) != x86 { 316 Echo "No optional package CDRecord available for $(TARGET_ARCH)" ; 317 } else { 318 InstallOptionalHaikuImagePackage 319 cdrtools-3.00-x86-gcc2-2010-08-14.zip 320 : $(baseURL)/cdrtools-3.00-x86-gcc2-2010-08-14.zip 321 : 322 ; 323 } 324} 325 326 327# Clockwerk 328if [ IsOptionalHaikuImagePackageAdded Clockwerk ] { 329 if $(TARGET_ARCH) != x86 { 330 Echo "No optional package Clockwerk available for $(TARGET_ARCH)" ; 331 } else if $(HAIKU_GCC_VERSION[1]) >= 4 { 332 InstallOptionalHaikuImagePackage Clockwerk-0.0.1-x86-gcc4-2009-08-06.zip 333 : $(baseURL)/Clockwerk-0.0.1-x86-gcc4-2009-08-06.zip 334 : 335 ; 336 AddSymlinkToHaikuImage home config be Applications 337 : /boot/apps/Clockwerk/Clockwerk ; 338 } else { 339 InstallOptionalHaikuImagePackage Clockwerk-0.0.1-x86-gcc2-2009-08-06.zip 340 : $(baseURL)/Clockwerk-0.0.1-x86-gcc2-2009-08-06.zip 341 : 342 ; 343 AddSymlinkToHaikuImage home config be Applications 344 : /boot/apps/Clockwerk/Clockwerk ; 345 } 346} 347 348 349# CLucene 350if [ IsOptionalHaikuImagePackageAdded CLucene ] { 351 if $(TARGET_ARCH) != x86 { 352 Echo "No optional package CLucene available for $(TARGET_ARCH)" ; 353 } else if $(HAIKU_GCC_VERSION[1]) < 4 && ! $(isHybridBuild) { 354 Echo "No optional package CLucene available for GCC2" ; 355 } else { 356 InstallOptionalHaikuImagePackage 357 clucene-0.9.21svn-x86-gcc4-haiku-2009-08-11.zip 358 : $(baseURL)/clucene-0.9.21-x86-gcc4-haiku-2009-08-11.zip 359 : 360 : true 361 ; 362 } 363} 364 365 366# CMake 367if [ IsOptionalHaikuImagePackageAdded CMake ] { 368 if $(TARGET_ARCH) != x86 { 369 Echo "No optional package CMake available for $(TARGET_ARCH)" ; 370 } else { 371 InstallOptionalHaikuImagePackage 372 cmake-2.8.0-r1a2-x86-gcc2-2010-04-22-a.zip 373 : $(baseURL)/cmake-2.8.0-r1a2-x86-gcc2-2010-04-22-a.zip 374 : 375 : true 376 ; 377 InstallSourceArchive cmake-2.8.0_haiku-2010-04-29.tar.xz 378 : $(baseSourceURL)/cmake-2.8.0_haiku-2010-04-29.tar.xz ; 379 } 380} 381 382 383# Curl 384if [ IsOptionalHaikuImagePackageAdded Curl ] { 385 if $(TARGET_ARCH) != x86 { 386 Echo "No optional package Curl available for $(TARGET_ARCH)" ; 387 } else { 388 InstallOptionalHaikuImagePackage 389 curl-7.21.1-x86-gcc2-2010-08-13.zip 390 : $(baseURL)/curl-7.21.1-x86-gcc2-2010-08-13.zip 391 : 392 : 393 : true 394 ; 395 } 396} 397 398 399# CVS 400if [ IsOptionalHaikuImagePackageAdded CVS ] { 401 if $(TARGET_ARCH) != x86 { 402 Echo "No optional package CVS available for $(TARGET_ARCH)" ; 403 } else { 404 InstallOptionalHaikuImagePackage 405 cvs-1.12.13-r1a2-x86-gcc2-2010-04-29-a.zip 406 : $(baseURL)/cvs-1.12.13-r1a2-x86-gcc2-2010-04-29-a.zip 407 : 408 : true 409 ; 410 InstallSourceArchive cvs-1.12.13_haiku-2010-04-29.tar.xz 411 : $(baseSourceURL)/cvs-1.12.13_haiku-2010-04-29.tar.xz ; 412 } 413} 414 415 416# Development 417if [ IsOptionalHaikuImagePackageAdded Development ] && $(TARGET_ARCH) = x86 { 418 # autotools 419 InstallOptionalHaikuImagePackage autoconf-2.67-x86-gcc2-2010-08-03.zip 420 : $(baseURL)/autoconf-2.67-x86-gcc2-2010-08-03.zip 421 : 422 : true 423 ; 424 InstallOptionalHaikuImagePackage automake-1.11.1-r1a2-x86-gcc2-2010-04-21-a.zip 425 : $(baseURL)/automake-1.11.1-r1a2-x86-gcc2-2010-04-21-a.zip 426 : 427 : true ; 428 InstallSourceArchive automake-1.11.1_haiku-2010-04-29.tar.xz 429 : $(baseSourceURL)/automake-1.11.1_haiku-2010-04-29.tar.xz 430 ; 431 InstallOptionalHaikuImagePackage libtool-2.2.10-x86-gcc2-2010-06-10.zip 432 : $(baseURL)/libtool-2.2.10-x86-gcc2-2010-06-10.zip 433 : 434 : true 435 : true ; 436 InstallSourceArchive libtool-2.2.6b_haiku-2010-04-29.tar.xz 437 : $(baseSourceURL)/libtool-2.2.6b_haiku-2010-04-29.tar.xz 438 ; 439 InstallOptionalHaikuImagePackage texinfo-4.13a-r1a2-x86-gcc2-2010-04-21-a.zip 440 : $(baseURL)/texinfo-4.13a-r1a2-x86-gcc2-2010-04-21-a.zip 441 : 442 : true ; 443 InstallSourceArchive texinfo-4.13a_haiku-2010-04-29.tar.xz 444 : $(baseSourceURL)/texinfo-4.13a_haiku-2010-04-29.tar.xz 445 ; 446} 447 448 449# DevelopmentBase 450if [ IsOptionalHaikuImagePackageAdded DevelopmentBase ] 451 && $(TARGET_ARCH) = x86 { 452 # gcc and binutils 453 if $(HAIKU_GCC_VERSION[1]) = 2 || $(isHybridBuild) { 454 InstallOptionalHaikuImagePackage 455 gcc-2.95.3-r1a2-x86-gcc2-2010-07-12.zip 456 : $(baseURL)/gcc-2.95.3-x86-gcc2-2010-07-12.zip ; 457 } 458 459 if $(HAIKU_GCC_VERSION[1]) = 2 { 460 # symlink to the appropriate system/lib[/gcc2] folder 461 AddSymlinkToHaikuHybridImage 462 develop abi x86 gcc2 tools gcc-2.95.3-haiku-100712 lib 463 : /system/lib libstdc++.r4.so : : true ; 464 } 465 466 if $(HAIKU_GCC_VERSION[1]) = 4 || $(isHybridBuild) { 467 InstallOptionalHaikuImagePackage gcc-4.3.3-r1a2-x86-gcc4-2010-04-25-1.zip 468 : $(baseURL)/gcc-4.3.3-r1a2-x86-gcc4-2010-04-25-1.zip ; 469 } 470 471 if $(HAIKU_GCC_VERSION[1]) = 4 { 472 # symlink cpp to g++'s headers 473 AddSymlinkToHaikuHybridImage develop abi x86 gcc4 headers 474 : ../tools/current/include/g++ : cpp ; 475 476 # symlink to the appropriate system/lib[/gcc4] folder 477 local libs = libstdc++.so libsupc++.so ; 478 for lib in $(libs) { 479 AddSymlinkToHaikuHybridImage 480 develop abi x86 gcc4 tools gcc-4.3.3-haiku-100425 lib 481 : /system/lib $(lib) : : true ; 482 } 483 } 484 485 # other commonly used tools 486 InstallOptionalHaikuImagePackage bison-2.4.1-r1a2-x86-gcc2-2010-04-21-a.zip 487 : $(baseURL)/bison-2.4.1-r1a2-x86-gcc2-2010-04-21-a.zip ; 488 InstallSourceArchive bison-2.4.1_haiku-2010-04-29.tar.xz 489 : $(baseSourceURL)/bison-2.4.1_haiku-2010-04-29.tar.xz ; 490 InstallOptionalHaikuImagePackage m4-1.4.14-r1a2-x86-gcc2-2010-04-21-a.zip 491 : $(baseURL)/m4-1.4.14-r1a2-x86-gcc2-2010-04-21-a.zip ; 492 InstallSourceArchive m4-1.4.14_haiku-2010-04-29.tar.xz 493 : $(baseSourceURL)/m4-1.4.14_haiku-2010-04-29.tar.xz ; 494 InstallOptionalHaikuImagePackage flex-2.5.35-r1a2-x86-gcc2-2010-04-21-a.zip 495 : $(baseURL)/flex-2.5.35-r1a2-x86-gcc2-2010-04-21-a.zip ; 496 InstallSourceArchive flex-2.5.35_haiku-2010-04-29.tar.xz 497 : $(baseSourceURL)/flex-2.5.35_haiku-2010-04-29.tar.xz ; 498 InstallOptionalHaikuImagePackage jam-2.5-r1a2-x86-gcc2-2010-04-21.zip 499 : $(baseURL)/jam-2.5-r1a2-x86-gcc2-2010-04-21.zip ; 500} 501 502 503# DevelopmentMin 504if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] && $(TARGET_ARCH) = x86 { 505 if ! ( $(HAIKU_GCC_VERSION[1]) in 2 4 ) { 506 Exit "Optional package DevelopmentMin: Unsupported GCC version:" 507 $(HAIKU_GCC_VERSION[1]) ; 508 } 509 510 local arch = $(TARGET_ARCH) ; 511 local abi = gcc$(HAIKU_GCC_VERSION[1]) ; 512 local abiDirTokens = develop abi $(arch) $(abi) ; 513 514 # glue code 515 AddFilesToHaikuHybridImage $(abiDirTokens) lib : 516 <src!system!glue!arch!$(arch)>crti.o 517 <src!system!glue!arch!$(arch)>crtn.o 518 <src!system!glue>init_term_dyn.o 519 <src!system!glue>start_dyn.o 520 <src!system!glue>haiku_version_glue.o 521 ; 522 523 # kernel 524 AddFilesToHaikuHybridImage $(abiDirTokens) lib : kernel.so : _KERNEL_ ; 525 526 # additional libraries 527 local developmentLibs = <revisioned>libroot_debug.so ; 528 AddFilesToHaikuHybridImage system lib : $(developmentLibs) : : true ; 529 530 # library symlinks 531 local lib ; 532 for lib in $(SYSTEM_LIBS) $(SYSTEM_LIBS_LIBGL_ALIASES) $(developmentLibs) { 533 AddSymlinkToHaikuHybridImage $(abiDirTokens) lib 534 : /system/lib $(lib:BS) : : true ; 535 local abiVersion = [ on $(lib) return $(HAIKU_LIB_ABI_VERSION) ] ; 536 if $(abiVersion) { 537 local abiVersionedLib = $(lib:BS).$(abiVersion) ; 538 AddSymlinkToHaikuHybridImage $(abiDirTokens) lib 539 : /system/lib $(abiVersionedLib) : : true ; 540 } 541 } 542 543 # static libraries 544 AddFilesToHaikuHybridImage $(abiDirTokens) lib : libncurses.a ; 545 AddFilesToHaikuHybridImage $(abiDirTokens) lib : liblocalestub.a ; 546 547 # the POSIX error code mapper library 548 AddFilesToHaikuHybridImage $(abiDirTokens) lib : libposix_error_mapper.a ; 549 550 # symlinks for ABI abstraction 551 AddSymlinkToHaikuImage develop abi : $(arch)/$(abi) : current ; 552 AddSymlinkToHaikuImage develop lib : /boot/develop/abi/current/lib 553 : $(arch) ; 554 AddSymlinkToHaikuImage develop tools 555 : /boot/develop/abi/current/tools/current : gnupro ; 556 AddSymlinkToHaikuImage develop headers 557 : /boot/develop/abi/current/headers/cpp ; 558 AddSymlinkToHaikuHybridImage $(abiDirTokens) library-paths 559 : /boot/common/lib : common : true ; 560 AddSymlinkToHaikuHybridImage $(abiDirTokens) library-paths 561 : /boot/home/config/lib : home : true ; 562 563 # ABI independent stuff 564 565 # scripts: cc and c++ wrapper, freetype-config, setgcc 566 local scripts = cc c++ freetype-config setgcc ; 567 SEARCH on $(scripts) = [ FDirName $(HAIKU_TOP) data bin ] ; 568 AddFilesToHaikuImage system bin : $(scripts) ; 569 570 # make and mkdepend build tool, which are part of the Haiku source tree 571 # TODO: Both should be removed from the tree, made download packages 572 # and moved to the DevelopmentBase package. 573 AddFilesToHaikuImage system bin : make mkdepend ; 574 575 # skeleton makefile and makefile-engine 576 local makefileEngineFiles = 577 <makefile-engine>makefile 578 <makefile-engine>makefile-engine 579 ; 580 SEARCH on $(makefileEngineFiles) 581 = [ FDirName $(HAIKU_TOP) data develop ] ; 582 AddFilesToHaikuImage develop etc : $(makefileEngineFiles) ; 583 584 # headers 585 AddHeaderDirectoryToHaikuImage config ; 586 AddHeaderDirectoryToHaikuImage glibc ; 587 AddHeaderDirectoryToHaikuImage os ; 588 AddHeaderDirectoryToHaikuImage posix ; 589 590 # create be -> os symlink for now 591 AddSymlinkToHaikuImage develop headers : os : be ; 592 593 # BSD and GNU compatibility headers 594 AddHeaderDirectoryToHaikuImage compatibility bsd : bsd ; 595 AddHeaderDirectoryToHaikuImage compatibility gnu : gnu ; 596 597 # third party libs headers 598 AddHeaderDirectoryToHaikuImage libs freetype2 : 3rdparty ; 599 AddHeaderDirectoryToHaikuImage libs jpeg : 3rdparty ; 600 AddHeaderDirectoryToHaikuImage libs ncurses : 3rdparty ; 601 AddHeaderDirectoryToHaikuImage libs png : 3rdparty ; 602 AddHeaderDirectoryToHaikuImage libs termcap : 3rdparty ; 603 AddHeaderDirectoryToHaikuImage libs tiff : 3rdparty ; 604 AddHeaderDirectoryToHaikuImage libs zlib : 3rdparty ; 605 606 # cpp headers 607 if $(HAIKU_GCC_VERSION[1]) = 2 { 608 # GCC 2 only -- for GCC 4 they come with the DevelopmentBase package 609 CopyDirectoryToHaikuImage $(abiDirTokens) headers 610 : [ FDirName $(HAIKU_TOP) headers cpp ] : : -x .svn ; 611 CopyDirectoryToAlternativeGCCArchive $(abiDirTokens) headers 612 : [ FDirName $(HAIKU_TOP) headers cpp ] : : -x .svn ; 613 } 614} 615 616 617# Expat 618if [ IsOptionalHaikuImagePackageAdded Expat ] { 619 if $(TARGET_ARCH) != x86 { 620 Echo "No optional package Expat available for $(TARGET_ARCH)" ; 621 } else { 622 InstallOptionalHaikuImagePackage 623 expat-2.0.1-r1a2-x86-gcc2-2010-04-22-a.zip 624 : $(baseURL)/expat-2.0.1-r1a2-x86-gcc2-2010-04-22-a.zip 625 : 626 : true 627 : true 628 ; 629 InstallSourceArchive expat-2.0.1_haiku-2010-04-29.tar.xz 630 : $(baseSourceURL)/expat-2.0.1_haiku-2010-04-29.tar.xz ; 631 } 632} 633 634 635# friss 636if [ IsOptionalHaikuImagePackageAdded friss ] { 637 if $(TARGET_ARCH) != x86 { 638 Echo "No optional package friss available for $(TARGET_ARCH)" ; 639 } else if $(HAIKU_GCC_VERSION[1]) >= 4 || $(isHybridBuild) { 640 InstallOptionalHaikuImagePackage friss-0.5pre7-x86-gcc4.zip 641 : http://pulkomandy.ath.cx/projects/friss/export/8/bin/friss-0.5pre7-x86-gcc4.zip 642 : 643 : true 644 ; 645 } else { 646 Echo "No optional package friss available for gcc2" ; 647 } 648} 649 650 651# GetText 652if [ IsOptionalHaikuImagePackageAdded GetText ] { 653 if $(TARGET_ARCH) != x86 { 654 Echo "No optional package GetText available for $(TARGET_ARCH)" ; 655 } else { 656 if $(HAIKU_GCC_VERSION[1]) >= 4 { 657 InstallOptionalHaikuImagePackage 658 gettext-0.17-x86-gcc4-2010-05-06.zip 659 : $(baseURL)/gettext-0.17-x86-gcc4-2010-05-06.zip 660 : 661 : true 662 ; 663 InstallSourceArchive gettext-0.17_haiku-2010-05-06.tar.xz 664 : $(baseSourceURL)/gettext-0.17_haiku-2010-05-06.tar.xz ; 665 } else if $(HAIKU_GCC_VERSION[1]) = 2 && $(isHybridBuild) { 666 InstallOptionalHaikuImagePackage 667 gettext-0.17-x86-gcc2h-2010-05-06.zip 668 : $(baseURL)/gettext-0.17-x86-gcc2h-2010-05-06.zip 669 : 670 : true 671 ; 672 InstallSourceArchive gettext-0.17_haiku-2010-05-06.tar.xz 673 : $(baseSourceURL)/gettext-0.17_haiku-2010-05-06.tar.xz ; 674 } else { 675 Echo "No optional package GetText available for $(TARGET_ARCH)-gcc2" ; 676 } 677 } 678} 679 680 681# Git 682if [ IsOptionalHaikuImagePackageAdded Git ] { 683 if $(TARGET_ARCH) != x86 { 684 Echo "No optional package Git available for $(TARGET_ARCH)" ; 685 } else { 686 InstallOptionalHaikuImagePackage 687 git-1.7.1-x86-gcc2-2010-05-26.zip 688 : $(baseURL)/git-1.7.1-x86-gcc2-2010-05-26.zip 689 : 690 : true 691 ; 692 } 693} 694 695 696# GPerf 697if [ IsOptionalHaikuImagePackageAdded GPerf ] { 698 if $(TARGET_ARCH) != x86 { 699 Echo "No optional package GPerf available for $(TARGET_ARCH)" ; 700 } else { 701 if $(HAIKU_GCC_VERSION[1]) >= 4 { 702 InstallOptionalHaikuImagePackage 703 gperf-3.0.4-x86-gcc4-2010-06-15.zip 704 : $(baseURL)/gperf-3.0.4-x86-gcc4-2010-06-15.zip 705 : 706 : true 707 ; 708 } else { 709 InstallOptionalHaikuImagePackage 710 gperf-3.0.4-x86-gcc2-2010-06-15.zip 711 : $(baseURL)/gperf-3.0.4-x86-gcc2-2010-06-15.zip 712 : 713 : true 714 ; 715 } 716 } 717} 718 719 720# ICU 721if [ IsOptionalHaikuImagePackageAdded ICU ] { 722 if $(TARGET_ARCH) != x86 { 723 Echo "No optional package ICU available for $(TARGET_ARCH)" ; 724 } else { 725 if $(HAIKU_GCC_VERSION[1]) = 2 { 726 # unzip gcc2 727 InstallOptionalHaikuImagePackage $(HAIKU_ICU_GCC_2_PACKAGE) 728 : $(baseURL)/$(HAIKU_ICU_GCC_2_PACKAGE) 729 : system lib ; 730 if $(isHybridBuild) { 731 # unzip gcc4 to gcc4 subdir 732 InstallOptionalHaikuImagePackage $(HAIKU_ICU_GCC_4_PACKAGE) 733 : $(baseURL)/$(HAIKU_ICU_GCC_4_PACKAGE) 734 : system lib gcc4 735 ; 736 } 737 } else { 738 # unzip gcc4 739 InstallOptionalHaikuImagePackage $(HAIKU_ICU_GCC_4_PACKAGE) 740 : $(baseURL)/$(HAIKU_ICU_GCC_4_PACKAGE) 741 : system lib ; 742 if $(isHybridBuild) { 743 # unzip gcc2 to gcc2 subdir 744 InstallOptionalHaikuImagePackage $(HAIKU_ICU_GCC_2_PACKAGE) 745 : $(baseURL)/$(HAIKU_ICU_GCC_2_PACKAGE) 746 : system lib gcc2 747 ; 748 } 749 } 750 } 751} 752 753 754# ICU-devel 755if [ IsOptionalHaikuImagePackageAdded ICU-devel ] { 756 InstallOptionalHaikuImagePackage $(HAIKU_ICU_DEVEL_PACKAGE) 757 : $(baseURL)/$(HAIKU_ICU_DEVEL_PACKAGE) 758 ; 759 760 local arch = $(TARGET_ARCH) ; 761 local abi = gcc$(HAIKU_GCC_VERSION[1]) ; 762 for abiVersionedLib in $(HAIKU_ICU_LIBS) { 763 abiVersionedLib = $(abiVersionedLib:G=) ; 764 local lib = $(abiVersionedLib:B) ; 765 AddSymlinkToHaikuHybridImage develop abi $(arch) $(abi) lib 766 : /system/lib $(abiVersionedLib) : : true ; 767 AddSymlinkToHaikuHybridImage develop abi $(arch) $(abi) lib 768 : $(abiVersionedLib) : $(lib) ; 769 } 770} 771 772 773# KeymapSwitcher 774if [ IsOptionalHaikuImagePackageAdded KeymapSwitcher ] { 775 if $(TARGET_ARCH) != x86 { 776 Echo "No optional package KeymapSwitcher available for $(TARGET_ARCH)" ; 777 } else if $(HAIKU_GCC_VERSION[1]) >= 4 { 778 InstallOptionalHaikuImagePackage 779 KeymapSwitcher-1.2.5-r1a2-x86-gcc4-2010-05-08.zip 780 : $(baseURL)/KeymapSwitcher-1.2.5-r1a2-x86-gcc4-2010-05-08.zip 781 : 782 ; 783 AddSymlinkToHaikuImage home config be Desktop\ applets 784 : /boot/common/bin/KeymapSwitcher ; 785 } else { 786 InstallOptionalHaikuImagePackage 787 KeymapSwitcher-1.2.5-r1a2-x86-gcc2-2010-05-08.zip 788 : $(baseURL)/KeymapSwitcher-1.2.5-r1a2-x86-gcc2-2010-05-08.zip 789 : 790 ; 791 AddSymlinkToHaikuImage home config be Desktop\ applets 792 : /boot/common/bin/KeymapSwitcher ; 793 } 794} 795 796 797# LibEvent 798if [ IsOptionalHaikuImagePackageAdded LibEvent ] { 799 if $(TARGET_ARCH) != x86 { 800 Echo "No optional package LibEvent available for $(TARGET_ARCH)" ; 801 } else { 802 if $(HAIKU_GCC_VERSION[1]) >= 4 { 803 InstallOptionalHaikuImagePackage 804 libevent-1.4.13-x86-gcc4-2010-05-06.zip 805 : $(baseURL)/libevent-1.4.13-x86-gcc4-2010-05-06.zip 806 : 807 : true 808 ; 809 InstallSourceArchive libevent-1.4.13_haiku-2010-05-06.tar.xz 810 : $(baseSourceURL)/libevent-1.4.13_haiku-2010-05-06.tar.xz ; 811 } else if $(HAIKU_GCC_VERSION[1]) = 2 && $(isHybridBuild) { 812 InstallOptionalHaikuImagePackage 813 libevent-1.4.13-x86-gcc2h-2010-05-06.zip 814 : $(baseURL)/libevent-1.4.13-x86-gcc2h-2010-05-06.zip 815 : 816 : true 817 ; 818 InstallSourceArchive libevent-1.4.13_haiku-2010-05-06.tar.xz 819 : $(baseSourceURL)/libevent-1.4.13_haiku-2010-05-06.tar.xz ; 820 } else { 821 Echo "No optional package LibEvent available for $(TARGET_ARCH)-gcc2" ; 822 } 823 } 824} 825 826 827# LibIconv 828if [ IsOptionalHaikuImagePackageAdded LibIconv ] { 829 if $(TARGET_ARCH) != x86 { 830 Echo "No optional package LibIconv available for $(TARGET_ARCH)" ; 831 } else { 832 InstallOptionalHaikuImagePackage 833 libiconv-1.13.1-r1a2-x86-gcc2-2010-04-21-a.zip 834 : $(baseURL)/libiconv-1.13.1-r1a2-x86-gcc2-2010-04-21-a.zip 835 : 836 : 837 : true 838 ; 839 InstallSourceArchive libiconv-1.13.1_haiku-2010-04-29.tar.xz 840 : $(baseSourceURL)/libiconv-1.13.1_haiku-2010-04-29.tar.xz ; 841 } 842} 843 844 845# LibLayout library 846if [ IsOptionalHaikuImagePackageAdded LibLayout ] { 847 if $(TARGET_ARCH) != x86 { 848 Echo "No optional package LibLayout available for $(TARGET_ARCH)" ; 849 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 850 Echo "No optional package LibLayout available for gcc4" ; 851 } else { 852 InstallOptionalHaikuImagePackage liblayout-1.4.0-gcc2-2009-03-08.zip 853 : $(baseURL)/liblayout-1.4.0-gcc2-2009-03-08.zip 854 : 855 ; 856 } 857} 858 859 860# LibXML2 861if [ IsOptionalHaikuImagePackageAdded LibXML2 ] { 862 if $(TARGET_ARCH) != x86 { 863 Echo "No optional package LibXML2 available for $(TARGET_ARCH)" ; 864 } else { 865 InstallOptionalHaikuImagePackage 866 libxml2-2.7.7-r1a2-x86-gcc2-2010-04-22-a.zip 867 : $(baseURL)/libxml2-2.7.7-r1a2-x86-gcc2-2010-04-22-a.zip 868 : 869 : 870 : true 871 ; 872 InstallSourceArchive libxml2-2.7.7_haiku-2010-04-29.tar.xz 873 : $(baseSourceURL)/libxml2-2.7.7_haiku-2010-04-29.tar.xz ; 874 } 875} 876 877 878# LibXSLT 879if [ IsOptionalHaikuImagePackageAdded LibXSLT ] { 880 if $(TARGET_ARCH) != x86 { 881 Echo "No optional package LibXSLT available for $(TARGET_ARCH)" ; 882 } else { 883 InstallOptionalHaikuImagePackage 884 libxslt-1.1.26-r1a2-x86-gcc2-2010-04-22-a.zip 885 : $(baseURL)/libxslt-1.1.26-r1a2-x86-gcc2-2010-04-22-a.zip 886 : 887 : true 888 ; 889 InstallSourceArchive libxslt-1.1.26_haiku-2010-04-29.tar.xz 890 : $(baseSourceURL)/libxslt-1.1.26_haiku-2010-04-29.tar.xz ; 891 } 892} 893 894 895# Links web browser 896if [ IsOptionalHaikuImagePackageAdded Links ] { 897 if $(TARGET_ARCH) != x86 { 898 Echo "No optional package Links available for $(TARGET_ARCH)" ; 899 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 900 Echo "No optional package Links available for gcc4" ; 901 } else { 902 InstallOptionalHaikuImagePackage Links.zip 903 : $(baseURL)/links-x86-gcc2-2008-05-03.zip 904 : 905 ; 906 AddSymlinkToHaikuImage home config be Applications 907 : /boot/home/config/bin/links ; 908 } 909} 910 911 912# MandatoryPackages 913if [ IsOptionalHaikuImagePackageAdded MandatoryPackages ] { 914 # Pseudo package for grouping packages, which are added to all images. 915} 916 917 918# Mercurial 919if [ IsOptionalHaikuImagePackageAdded Mercurial ] { 920 if $(TARGET_ARCH) != x86 { 921 Echo "No optional package Mercurial available for $(TARGET_ARCH)" ; 922 } else { 923 InstallOptionalHaikuImagePackage 924 mercurial-1.6-x86-gcc2-2010-07-01.zip 925 : $(baseURL)/mercurial-1.6-x86-gcc2-2010-07-01.zip 926 : 927 : true 928 ; 929 } 930} 931 932 933# Nano 934if [ IsOptionalHaikuImagePackageAdded Nano ] { 935 if $(TARGET_ARCH) != x86 { 936 Echo "No optional package Nano available for $(TARGET_ARCH)" ; 937 } else { 938 InstallOptionalHaikuImagePackage 939 nano-2.2.3-r1a2-x86-gcc2-2010-04-22-a.zip 940 : $(baseURL)/nano-2.2.3-r1a2-x86-gcc2-2010-04-22-a.zip 941 : 942 ; 943 InstallSourceArchive nano-2.2.3_haiku-2010-04-29.tar.xz 944 : $(baseSourceURL)/nano-2.2.3_haiku-2010-04-29.tar.xz ; 945 } 946} 947 948 949# Neon 950if [ IsOptionalHaikuImagePackageAdded Neon ] { 951 if $(TARGET_ARCH) != x86 { 952 Echo "No optional package Neon available for $(TARGET_ARCH)" ; 953 } else { 954 InstallOptionalHaikuImagePackage 955 neon-0.29.3-r1a2-x86-gcc2-2010-04-22-a.zip 956 : $(baseURL)/neon-0.29.3-r1a2-x86-gcc2-2010-04-22-a.zip 957 : 958 : true 959 : true 960 ; 961 InstallSourceArchive neon-0.29.3_haiku-2010-04-29.tar.xz 962 : $(baseSourceURL)/neon-0.29.3_haiku-2010-04-29.tar.xz ; 963 } 964} 965 966 967# NetFS network file system 968if [ IsOptionalHaikuImagePackageAdded NetFS ] { 969 # userlandfs module 970 AddFilesToHaikuImage home config add-ons userlandfs : netfs ; 971 972 # servers 973 AddFilesToHaikuImage system servers : netfs_server ; 974 AddFilesToHaikuImage system servers : authentication_server ; 975 976 # tools 977 AddFilesToHaikuImage system bin : netfs_config ; 978 AddFilesToHaikuImage system bin : netfs_server_prefs ; 979 980 #example settings for netfs_server 981 local netfsServerSettingsFiles = <driver-settings>netfs-server ; 982 SEARCH on $(netfsServerSettingsFiles) 983 = [ FDirName $(HAIKU_TOP) src add-ons kernel file_systems netfs ] ; 984 AddFilesToHaikuImage home config settings kernel drivers 985 : $(netfsServerSettingsFiles) ; 986 987 #userlandfs settings are needed for netfs_config to work (ioctls) 988 local userlandfsServerSettingsFiles = <driver-settings>userlandfs ; 989 SEARCH on $(userlandfsServerSettingsFiles) 990 = [ FDirName $(HAIKU_TOP) src add-ons kernel file_systems userlandfs ] ; 991 AddFilesToHaikuImage home config settings kernel drivers 992 : $(userlandfsServerSettingsFiles) ; 993} 994 995 996# NetSurf web browser 997if [ IsOptionalHaikuImagePackageAdded NetSurf ] { 998 if $(TARGET_ARCH) != x86 { 999 Echo "No optional package NetSurf available for $(TARGET_ARCH)" ; 1000 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 1001 Echo "No optional package NetSurf available for gcc4" ; 1002 } else { 1003 InstallOptionalHaikuImagePackage NetSurf-r9862b.zip 1004 : $(baseURL)/NetSurf-r9862-x86-gcc2-2010-01-27.zip 1005 : 1006 ; 1007 AddSymlinkToHaikuImage home config be Applications 1008 : /boot/apps/netsurf/NetSurf ; 1009 InstallSourceArchive netsurf-r9862.7z 1010 : http://haiku-files.org/files/sources/2010/netsurf-r9862.7z 1011 ; 1012 } 1013} 1014 1015 1016# OCaml 1017if [ IsOptionalHaikuImagePackageAdded OCaml ] { 1018 if $(TARGET_ARCH) != x86 { 1019 Echo "No optional package OCaml available for $(TARGET_ARCH)" ; 1020 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 1021 Echo "No optional package OCaml available for gcc4" ; 1022 } else { 1023 InstallOptionalHaikuImagePackage 1024 ocaml-3.11.1-r1a1-x86-gcc2-2009-09-06.zip 1025 : http://jerome.duval.free.fr/obos/ocaml-3.11.1-r1a1-x86-gcc2-2009-09-06.zip 1026 : 1027 ; 1028 InstallOptionalHaikuImagePackage 1029 camlp5-5.12-r1a1-x86-gcc2-2009-09-06.zip 1030 : http://jerome.duval.free.fr/obos/camlp5-5.12-r1a1-x86-gcc2-2009-09-06.zip 1031 : 1032 ; 1033 } 1034} 1035 1036 1037# OpenSound drivers 1038if [ IsOptionalHaikuImagePackageAdded OpenSound ] { 1039 if $(TARGET_ARCH) != x86 { 1040 Echo "No optional package OpenSound available for $(TARGET_ARCH)" ; 1041 } else { 1042 InstallOptionalHaikuImagePackage 1043 opensound-4.2-r1a2-x86-gcc2-2010-05-01.zip 1044 : $(baseURL)/opensound-4.2-r1a2-x86-gcc2-2010-05-01.zip 1045 : 1046 ; 1047 } 1048 #ExtractArchiveToHaikuImage home : data/vv.mp3.zip : 0 ; 1049} 1050 1051 1052# OpenSSH 1053if [ IsOptionalHaikuImagePackageAdded OpenSSH ] { 1054 if $(TARGET_ARCH) != x86 { 1055 Echo "No optional package OpenSSH available for $(TARGET_ARCH)" ; 1056 } else { 1057 if ! $(HAIKU_IMAGE_HOST_NAME) && ! $(HAIKU_IGNORE_USER_BUILD_CONFIG) { 1058 Exit "Optional package OpenSSH requires the HAIKU_IMAGE_HOST_NAME" 1059 "variable to be set!" ; 1060 } 1061 InstallOptionalHaikuImagePackage 1062 openssh-5.5p1-x86-gcc2-2010-05-26.zip 1063 : $(baseURL)/openssh-5.5p1-x86-gcc2-2010-05-26.zip 1064 : 1065 ; 1066 1067 AddUserToHaikuImage sshd : 1001 : 100 : /var/empty : /bin/true 1068 : "sshd user" ; 1069 } 1070} 1071 1072 1073# OpenSSL 1074if [ IsOptionalHaikuImagePackageAdded OpenSSL ] { 1075 if $(TARGET_ARCH) != x86 { 1076 Echo "No optional package OpenSSL available for $(TARGET_ARCH)" ; 1077 } else { 1078 InstallOptionalHaikuImagePackage $(HAIKU_OPENSSL_PACKAGE) 1079 : $(HAIKU_OPENSSL_URL) 1080 : 1081 : 1082 : true 1083 ; 1084 InstallSourceArchive openssl-1.0.0_haiku-2010-04-29.tar.xz 1085 : $(baseSourceURL)/openssl-1.0.0_haiku-2010-04-29.tar.xz ; 1086 } 1087} 1088 1089 1090# P7zip 1091if [ IsOptionalHaikuImagePackageAdded P7zip ] { 1092 if $(TARGET_ARCH) != x86 { 1093 Echo "No optional package P7zip available for $(TARGET_ARCH)" ; 1094 } else { 1095 if $(HAIKU_GCC_VERSION[1]) >= 4 { 1096 InstallOptionalHaikuImagePackage 1097 p7zip-9.04-r1a2-x86-gcc4-2010-05-06.zip 1098 : $(baseURL)/p7zip-9.04-r1a2-x86-gcc4-2010-05-06.zip 1099 : 1100 ; 1101 } else { 1102 InstallOptionalHaikuImagePackage 1103 p7zip-9.04-r1a2-x86-gcc2-2010-05-06.zip 1104 : $(baseURL)/p7zip-9.04-r1a2-x86-gcc2-2010-05-06.zip 1105 : 1106 ; 1107 InstallSourceArchive p7zip-9.04_haiku-2010-05-06.tar.xz 1108 : $(baseSourceURL)/p7zip-9.04_haiku-2010-05-06.tar.xz ; 1109 } 1110 AddExpanderRuleToHaikuImage "application/x-7z-compressed" : .7z 1111 : "7za l \\0045s" 1112 : "7za x -y \\0045s" 1113 ; 1114 1115 } 1116} 1117 1118 1119# PCRE regex engine 1120if [ IsOptionalHaikuImagePackageAdded PCRE ] { 1121 if $(TARGET_ARCH) != x86 { 1122 Echo "No optional package PCRE available for $(TARGET_ARCH)" ; 1123 } else { 1124 if $(HAIKU_GCC_VERSION[1]) >= 4 { 1125 InstallOptionalHaikuImagePackage pcre-7.9-x86-gcc4-2009-09-30.zip 1126 : $(baseURL)/pcre-7.9-x86-gcc4-2009-09-30.zip 1127 ; 1128 } else { 1129 InstallOptionalHaikuImagePackage 1130 libpcre-8.02-r1a2-x86-gcc2-2010-04-28-a.zip 1131 : $(baseURL)/libpcre-8.02-r1a2-x86-gcc2-2010-04-28-a.zip 1132 ; 1133 } 1134 InstallSourceArchive libpcre-8.02_haiku-2010-04-29.tar.xz 1135 : $(baseSourceURL)/libpcre-8.02_haiku-2010-04-29.tar.xz ; 1136 } 1137} 1138 1139 1140# Pe text editor 1141if [ IsOptionalHaikuImagePackageAdded Pe ] { 1142 if $(TARGET_ARCH) != x86 { 1143 Echo "No optional package Pe available for $(TARGET_ARCH)" ; 1144 } else { 1145 if $(HAIKU_GCC_VERSION[1]) >= 4 { 1146 InstallOptionalHaikuImagePackage Pe-2.4.2-x86-gcc4-2009-08-04.zip 1147 : $(baseURL)/Pe-2.4.2-x86-gcc4-2009-08-04.zip 1148 ; 1149 } else { 1150 InstallOptionalHaikuImagePackage 1151 Pe-2.4.2-r597-r1a2-x86-gcc2-2010-05-06.zip 1152 : $(baseURL)/Pe-2.4.2-r597-r1a2-x86-gcc2-2010-05-06.zip 1153 ; 1154 } 1155 1156 AddSymlinkToHaikuImage home config be Applications 1157 : /boot/apps/Pe/Pe ; 1158 AddSymlinkToHaikuImage common bin 1159 : /boot/apps/Pe/lpe ; 1160 } 1161} 1162 1163 1164# Perl 1165if [ IsOptionalHaikuImagePackageAdded Perl ] { 1166 if $(TARGET_ARCH) != x86 { 1167 Echo "No optional package Perl available for $(TARGET_ARCH)" ; 1168 } else { 1169 InstallOptionalHaikuImagePackage 1170 perl-5.10.1-r1a2-x86-gcc2-2010-04-25-a.zip 1171 : $(baseURL)/perl-5.10.1-r1a2-x86-gcc2-2010-04-25-a.zip 1172 : 1173 : true 1174 : true 1175 ; 1176 InstallSourceArchive perl-5.10.1_haiku-2010-04-29.tar.xz 1177 : $(baseSourceURL)/perl-5.10.1_haiku-2010-04-29.tar.xz ; 1178 } 1179} 1180 1181 1182# Python 1183if [ IsOptionalHaikuImagePackageAdded Python ] { 1184 if $(TARGET_ARCH) != x86 { 1185 Echo "No optional package Python available for $(TARGET_ARCH)" ; 1186 } else { 1187 InstallOptionalHaikuImagePackage 1188 python-2.6.5-x86-gcc2-2010-05-26.zip 1189 : $(baseURL)/python-2.6.5-x86-gcc2-2010-05-26.zip 1190 : 1191 : true 1192 : true 1193 ; 1194 } 1195} 1196 1197 1198# Rsync 1199if [ IsOptionalHaikuImagePackageAdded Rsync ] { 1200 if $(TARGET_ARCH) != x86 { 1201 Echo "No optional package Rsync available for $(TARGET_ARCH)" ; 1202 } else { 1203 InstallOptionalHaikuImagePackage 1204 rsync-3.0.7-r1a2-x86-gcc2-2010-04-22-a.zip 1205 : $(baseURL)/rsync-3.0.7-r1a2-x86-gcc2-2010-04-22-a.zip 1206 : 1207 ; 1208 InstallSourceArchive rsync-3.0.7_haiku-2010-04-29.tar.xz 1209 : $(baseSourceURL)/rsync-3.0.7_haiku-2010-04-29.tar.xz ; 1210 } 1211} 1212 1213 1214# Sed 1215if [ IsOptionalHaikuImagePackageAdded Sed ] { 1216 if $(TARGET_ARCH) != x86 { 1217 Echo "No optional package Sed available for $(TARGET_ARCH)" ; 1218 } else { 1219 InstallOptionalHaikuImagePackage 1220 sed-4.2.1-r1a2-x86-gcc2-2010-04-21-a.zip 1221 : $(baseURL)/sed-4.2.1-r1a2-x86-gcc2-2010-04-21-a.zip 1222 : 1223 : 1224 ; 1225 InstallSourceArchive sed-4.2.1_haiku-2010-04-29.tar.xz 1226 : $(baseSourceURL)/sed-4.2.1_haiku-2010-04-29.tar.xz ; 1227 } 1228} 1229 1230 1231# SQLite 1232if [ IsOptionalHaikuImagePackageAdded SQLite ] { 1233 if $(TARGET_ARCH) != x86 { 1234 Echo "No optional package SQLite available for $(TARGET_ARCH)" ; 1235 } else { 1236 InstallOptionalHaikuImagePackage 1237 sqlite-3.6.23-r1a2-x86-gcc2-2010-04-22-a.zip 1238 : $(baseURL)/sqlite-3.6.23-r1a2-x86-gcc2-2010-04-22-a.zip 1239 : 1240 : 1241 : true 1242 ; 1243 InstallSourceArchive sqlite-3.6.23_haiku-2010-04-29.tar.xz 1244 : $(baseSourceURL)/sqlite-3.6.23_haiku-2010-04-29.tar.xz ; 1245 } 1246} 1247 1248 1249# Subversion 1250if [ IsOptionalHaikuImagePackageAdded Subversion ] { 1251 if $(TARGET_ARCH) != x86 { 1252 Echo "No optional package Subversion available for $(TARGET_ARCH)" ; 1253 } else { 1254 InstallOptionalHaikuImagePackage 1255 subversion-1.6.9-r1a2-x86-gcc2-2010-04-28-a.zip 1256 : $(baseURL)/subversion-1.6.9-r1a2-x86-gcc2-2010-04-28-a.zip 1257 : 1258 : true 1259 : true 1260 ; 1261 InstallSourceArchive subversion-1.6.9_haiku-2010-04-29.tar.xz 1262 : $(baseSourceURL)/subversion-1.6.9_haiku-2010-04-29.tar.xz ; 1263 } 1264} 1265 1266 1267# Tar 1268if [ IsOptionalHaikuImagePackageAdded Tar ] { 1269 if $(TARGET_ARCH) != x86 { 1270 Echo "No optional package Tar available for $(TARGET_ARCH)" ; 1271 } else { 1272 InstallOptionalHaikuImagePackage 1273 tar-1.22-r1a2-x86-gcc2-2010-04-22-a.zip 1274 : $(baseURL)/tar-1.22-r1a2-x86-gcc2-2010-04-22-a.zip 1275 : 1276 ; 1277 InstallSourceArchive tar-1.22_haiku-2010-04-29.tar.xz 1278 : $(baseSourceURL)/tar-1.22_haiku-2010-04-29.tar.xz ; 1279 } 1280} 1281 1282 1283# TimGMSoundFont 1284if [ IsOptionalHaikuImagePackageAdded TimGMSoundFont ] { 1285 InstallOptionalHaikuImagePackage TimGMSoundFont-2010-06-16.zip 1286 : $(baseURL)/TimGMSoundFont-2010-06-16.zip 1287 : 1288 ; 1289} 1290 1291 1292# TrackerNewTemplates 1293if [ IsOptionalHaikuImagePackageAdded TrackerNewTemplates ] { 1294 InstallOptionalHaikuImagePackage TrackerNewTemplates-2010-04-26.zip 1295 : $(baseURL)/TrackerNewTemplates-2010-04-26.zip 1296 : home config settings Tracker "Tracker New Templates" 1297 ; 1298} 1299 1300 1301# Transmission 1302if [ IsOptionalHaikuImagePackageAdded Transmission ] { 1303 if $(TARGET_ARCH) != x86 { 1304 Echo "No optional package Transmission available for $(TARGET_ARCH)" ; 1305 } else { 1306 if $(HAIKU_GCC_VERSION[1]) >= 4 || $(isHybridBuild) { 1307 InstallOptionalHaikuImagePackage 1308 transmission-2.01-x86-gcc4-2010-07-10.zip 1309 : $(baseURL)/transmission-2.01-x86-gcc4-2010-07-10.zip 1310 : 1311 : true 1312 ; 1313 } else { 1314 Echo "No optional package Transmission available for $(TARGET_ARCH)-gcc2" ; 1315 } 1316 } 1317} 1318 1319 1320# UserlandFS 1321if [ IsOptionalHaikuImagePackageAdded UserlandFS ] { 1322 local arch = $(TARGET_ARCH) ; 1323 local abi = gcc$(HAIKU_GCC_VERSION[1]) ; 1324 1325 # kernel module 1326 AddFilesToHaikuImage system add-ons kernel file_systems : userlandfs ; 1327 1328 # server 1329 AddFilesToHaikuImage system servers : userlandfs_server ; 1330 1331 # libs 1332 local userlandfsLibs = 1333 libuserlandfs_beos_kernel.so 1334 libuserlandfs_haiku_kernel.so 1335 libuserlandfs_fuse.so 1336 ; 1337 AddFilesToHaikuHybridImage system lib : $(userlandfsLibs) : : true ; 1338 1339 # development goodies 1340 if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] { 1341 if ! ( $(HAIKU_GCC_VERSION[1]) in 2 4 ) { 1342 Exit "Optional package UserlandFS: Unsupported GCC version:" 1343 $(HAIKU_GCC_VERSION[1]) ; 1344 } 1345 1346 # library symlinks 1347 local lib ; 1348 for lib in $(userlandfsLibs) { 1349 AddSymlinkToHaikuImage develop abi $(arch) $(abi) lib 1350 : /system/lib/$(lib:BS) ; 1351 AddSymlinkToAlternativeGCCArchive develop abi $(arch) $(abi) lib 1352 : /system/lib/$(arch)/$(lib:BS) ; 1353 } 1354 1355 # FUSE headers 1356 local fuseHeaders = 1357 fuse_common_compat.h 1358 fuse_common.h 1359 fuse_compat.h 1360 fuse.h 1361 fuse_lowlevel_compat.h 1362 fuse_lowlevel.h 1363 fuse_opt.h 1364 ; 1365 fuseHeaders = $(fuseHeaders:G=userlandfs!fuse) ; 1366 SEARCH on $(fuseHeaders) 1367 = [ FDirName $(HAIKU_TOP) headers private userlandfs fuse ] ; 1368 AddFilesToHaikuImage develop headers userlandfs fuse : $(fuseHeaders) ; 1369 } 1370} 1371 1372 1373# Vim 1374if [ IsOptionalHaikuImagePackageAdded Vim ] { 1375 if $(TARGET_ARCH) != x86 { 1376 Echo "No optional package Vim available for $(TARGET_ARCH)" ; 1377 } else if $(HAIKU_GCC_VERSION[1]) >= 4 { 1378 InstallOptionalHaikuImagePackage vim-7.2-r1a2-x86-gcc4-2010-05-07.zip 1379 : $(baseURL)/vim-7.2-r1a2-x86-gcc4-2010-05-07.zip 1380 : 1381 ; 1382 AddSymlinkToHaikuImage home config be Applications 1383 : /boot/common/bin/gvim ; 1384 # TODO: move this symlink to the archive 1385 AddSymlinkToHaikuImage common bin : vim : vi ; 1386 } else { 1387 InstallOptionalHaikuImagePackage vim-7.2-r1a2-x86-gcc2-2010-05-07.zip 1388 : $(baseURL)/vim-7.2-r1a2-x86-gcc2-2010-05-07.zip 1389 : 1390 ; 1391 AddSymlinkToHaikuImage home config be Applications 1392 : /boot/common/bin/gvim ; 1393 # TODO: move this symlink to the archive 1394 AddSymlinkToHaikuImage common bin : vim : vi ; 1395 } 1396} 1397 1398 1399# Vision 1400if [ IsOptionalHaikuImagePackageAdded Vision ] { 1401 if $(TARGET_ARCH) != x86 { 1402 Echo "No optional package Vision available for $(TARGET_ARCH)" ; 1403 } else if $(HAIKU_GCC_VERSION[1]) >= 4 { 1404 InstallOptionalHaikuImagePackage Vision-0.9.7-H-x86-gcc4-2010-05-22.zip 1405 : $(baseURL)/Vision-0.9.7-H-x86-gcc4-2010-05-22.zip 1406 : 1407 ; 1408 AddSymlinkToHaikuImage home config be Applications 1409 : /boot/apps/Vision-0.9.7-H-090423/Vision ; 1410 } else { 1411 InstallOptionalHaikuImagePackage Vision-0.9.7-H-x86-gcc2-2010-05-22.zip 1412 : $(baseURL)/Vision-0.9.7-H-x86-gcc2-2010-05-22.zip 1413 : 1414 ; 1415 AddSymlinkToHaikuImage home config be Applications 1416 : /boot/apps/Vision-0.9.7-H-090423/Vision ; 1417 } 1418} 1419 1420 1421# VLC media player 1422if [ IsOptionalHaikuImagePackageAdded VLC ] { 1423 if $(TARGET_ARCH) != x86 { 1424 Echo "No optional package VLC available for $(TARGET_ARCH)" ; 1425 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 1426 Echo "No optional package VLC available for gcc4" ; 1427 } else { 1428 InstallOptionalHaikuImagePackage VLC-0.8.6d.zip 1429 : $(baseURL)/vlc-0.8.6d-gcc2-2009-04-18.zip 1430 : apps 1431 ; 1432 AddSymlinkToHaikuImage home config be Applications 1433 : "/boot/apps/vlc-0.8.6d/VLC media player" ; 1434 AddSymlinkToHaikuImage common bin 1435 : "/boot/apps/vlc-0.8.6d/VLC media player" : vlc ; 1436 } 1437} 1438 1439 1440# WebPositive 1441if [ IsOptionalHaikuImagePackageAdded WebPositive ] { 1442 if $(TARGET_ARCH) != x86 { 1443 Echo "No optional package WebPositive available for $(TARGET_ARCH)" ; 1444 } else if $(HAIKU_GCC_VERSION[1]) < 4 && ! $(isHybridBuild) { 1445 Echo "No optional package WebPositive available for gcc2" ; 1446 } else { 1447 InstallOptionalHaikuImagePackage 1448 WebPositive-gcc4-x86-r542-2010-08-01.zip 1449 : $(baseURL)/WebPositive-gcc4-x86-r542-2010-08-01.zip 1450 : 1451 ; 1452 AddSymlinkToHaikuImage home config be Applications 1453 : /boot/apps/WebPositive/WebPositive ; 1454 } 1455} 1456 1457 1458# Welcome 1459if [ IsOptionalHaikuImagePackageAdded Welcome ] { 1460 CopyDirectoryToHaikuImage system documentation 1461 : [ FDirName $(HAIKU_TOP) docs welcome ] 1462 : welcome : -x .svn ; 1463 CopyDirectoryToHaikuImage system documentation 1464 : [ FDirName $(HAIKU_TOP) docs userguide ] 1465 : userguide : -x .svn ; 1466 AddSymlinkToHaikuImage home Desktop 1467 : /boot/system/documentation/welcome/welcome_en.html : Welcome ; 1468 AddSymlinkToHaikuImage home Desktop 1469 : /boot/system/documentation/userguide/en/contents.html : User\ Guide ; 1470} 1471 1472 1473# WifiFirmwareScriptData 1474# This optional package is for people who build their own images & have wifi 1475# hardware that requires install-wifi-firmwares.sh & have no active network 1476# connection. This is not to be added to default images. 1477if [ IsOptionalHaikuImagePackageAdded WifiFirmwareScriptData ] { 1478 if $(TARGET_ARCH) != x86 { 1479 Echo "No optional package WifiFirmwareScriptData available for" 1480 $(TARGET_ARCH) ; 1481 } else { 1482 # broadcom43xx 1483 # firmware cutter 1484 local broadcomFWCutterArchive = b43-fwcutter-012.tar.bz2 ; 1485 local broadcomFWCutterURL = 1486 http://bu3sch.de/b43/fwcutter/$(broadcomFWCutterArchive) ; 1487 local broadcomFWCutterFile = [ DownloadFile $(broadcomFWCutterArchive) 1488 : $(broadcomFWCutterURL) ] ; 1489 AddFilesToHaikuImage system data firmware broadcom43xx b43-fwcutter 1490 : $(broadcomFWCutterFile) ; 1491 1492 # headers needed to compile firmware cutter 1493 local glibcDir = [ FDirName 1494 $(HAIKU_TOP) src system libroot posix glibc ] ; 1495 local byteswapHeader = [ FDirName $(glibcDir) string byteswap.h ] ; 1496 AddFilesToHaikuImage system data firmware broadcom43xx b43-fwcutter 1497 : $(byteswapHeader) ; 1498 local bitByteswapHeader = [ FDirName 1499 $(glibcDir) include arch x86 bits byteswap.h ] ; 1500 AddFilesToHaikuImage system data firmware broadcom43xx b43-fwcutter bits 1501 : $(bitByteswapHeader) ; 1502 1503 # file containing firmware 1504 local broadcom43xxFile ; 1505 broadcom43xxFile = [ DownloadFile wl_apsta-3.130.20.0.o 1506 : http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o ] ; 1507 AddFilesToHaikuImage system data firmware broadcom43xx 1508 : $(broadcom43xxFile) ; 1509 1510 # marvell88w8335 1511 local marvelArchive = malo-firmware-1.4.tgz ; 1512 local marvelURL = http://www.nazgul.ch/malo/$(marvelArchive) ; 1513 local marvelFile = [ DownloadFile $(marvelArchive) : $(marvelURL) ] ; 1514 AddFilesToHaikuImage system data firmware marvell88w8335 1515 : $(marvelFile) ; 1516 } 1517} 1518 1519 1520# WonderBrush 1521if [ IsOptionalHaikuImagePackageAdded WonderBrush ] { 1522 if $(TARGET_ARCH) != x86 { 1523 Echo "No optional package WonderBrush available for $(TARGET_ARCH)" ; 1524 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 1525 Echo "No optional package WonderBrush available for gcc4" ; 1526 } else { 1527 InstallOptionalHaikuImagePackage WonderBrush-2.1.2.zip 1528 : $(baseURL)/WonderBrush-2.1.2-x86-gcc2-2008-11-08.zip 1529 : apps 1530 ; 1531 AddSymlinkToHaikuImage home config be Applications 1532 : /boot/apps/WonderBrush/WonderBrush ; 1533 } 1534} 1535 1536 1537# XZ-Utils 1538if [ IsOptionalHaikuImagePackageAdded XZ-Utils ] { 1539 if $(TARGET_ARCH) != x86 { 1540 Echo "No optional package XZ-Utils available for $(TARGET_ARCH)" ; 1541 } else { 1542 InstallOptionalHaikuImagePackage 1543 xz-utils-4.999.9-r1a2-x86-gcc4-2010-04-25-a.zip 1544 : $(baseURL)/xz-utils-4.999.9-r1a2-x86-gcc4-2010-04-25-a.zip 1545 : 1546 : 1547 : true 1548 ; 1549 InstallSourceArchive xz-utils-4.999.9_haiku-2010-04-29.tar.xz 1550 : $(baseSourceURL)/xz-utils-4.999.9_haiku-2010-04-29.tar.xz ; 1551 AddExpanderRuleToHaikuImage "application/x-xz" : .tar.xz 1552 : "tar -Jtvf \\0045s" 1553 : "tar -Jxvf \\0045s" 1554 ; 1555 AddExpanderRuleToHaikuImage "application/x-xz" : .txz 1556 : "tar -Jtvf \\0045s" 1557 : "tar -Jxvf \\0045s" 1558 ; 1559 AddExpanderRuleToHaikuImage "application/x-xz" : .xz 1560 : "echo \\0045s | sed 's/.xz\\\$//g'" 1561 : "xz -df \\0045s" 1562 ; 1563 } 1564} 1565 1566 1567# Yasm 1568if [ IsOptionalHaikuImagePackageAdded Yasm ] { 1569 if $(TARGET_ARCH) != x86 { 1570 Echo "No optional package Yasm available for $(TARGET_ARCH)" ; 1571 } else { 1572 InstallOptionalHaikuImagePackage 1573 yasm-0.8.0-r1a2-x86-gcc2-2010-04-21.zip 1574 : $(baseURL)/yasm-0.8.0-r1a2-x86-gcc2-2010-04-21.zip 1575 : 1576 ; 1577 InstallSourceArchive yasm-0.8.0_haiku-2010-04-29.tar.xz 1578 : $(baseSourceURL)/yasm-0.8.0_haiku-2010-04-29.tar.xz ; 1579 } 1580} 1581