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-2.01.01a77-r1a2-x86-gcc2-2010-04-30-a.zip 320 : $(baseURL)/cdrtools-2.01.01a77-r1a2-x86-gcc2-2010-04-30-a.zip 321 : 322 ; 323 AddSymlinkToHaikuImage common bin 324 : /boot/apps/cdrtools/bin/cdrecord ; 325 AddSymlinkToHaikuImage common bin 326 : /boot/apps/cdrtools/bin/mkisofs ; 327 InstallSourceArchive cdrtools-2.01.01a77_haiku-2010-04-30.tar.xz 328 : $(baseSourceURL)/cdrtools-2.01.01a77_haiku-2010-04-30.tar.xz 329 ; 330 } 331} 332 333 334# Clockwerk 335if [ IsOptionalHaikuImagePackageAdded Clockwerk ] { 336 if $(TARGET_ARCH) != x86 { 337 Echo "No optional package Clockwerk available for $(TARGET_ARCH)" ; 338 } else if $(HAIKU_GCC_VERSION[1]) >= 4 { 339 InstallOptionalHaikuImagePackage Clockwerk-0.0.1-x86-gcc4-2009-08-06.zip 340 : $(baseURL)/Clockwerk-0.0.1-x86-gcc4-2009-08-06.zip 341 : 342 ; 343 AddSymlinkToHaikuImage home config be Applications 344 : /boot/apps/Clockwerk/Clockwerk ; 345 } else { 346 InstallOptionalHaikuImagePackage Clockwerk-0.0.1-x86-gcc2-2009-08-06.zip 347 : $(baseURL)/Clockwerk-0.0.1-x86-gcc2-2009-08-06.zip 348 : 349 ; 350 AddSymlinkToHaikuImage home config be Applications 351 : /boot/apps/Clockwerk/Clockwerk ; 352 } 353} 354 355 356# CLucene 357if [ IsOptionalHaikuImagePackageAdded CLucene ] { 358 if $(TARGET_ARCH) != x86 { 359 Echo "No optional package CLucene available for $(TARGET_ARCH)" ; 360 } else if $(HAIKU_GCC_VERSION[1]) < 4 && ! $(isHybridBuild) { 361 Echo "No optional package CLucene available for GCC2" ; 362 } else { 363 InstallOptionalHaikuImagePackage 364 clucene-0.9.21svn-x86-gcc4-haiku-2009-08-11.zip 365 : $(baseURL)/clucene-0.9.21-x86-gcc4-haiku-2009-08-11.zip 366 : 367 : true 368 ; 369 } 370} 371 372 373# CMake 374if [ IsOptionalHaikuImagePackageAdded CMake ] { 375 if $(TARGET_ARCH) != x86 { 376 Echo "No optional package CMake available for $(TARGET_ARCH)" ; 377 } else { 378 InstallOptionalHaikuImagePackage 379 cmake-2.8.0-r1a2-x86-gcc2-2010-04-22-a.zip 380 : $(baseURL)/cmake-2.8.0-r1a2-x86-gcc2-2010-04-22-a.zip 381 : 382 : true 383 ; 384 InstallSourceArchive cmake-2.8.0_haiku-2010-04-29.tar.xz 385 : $(baseSourceURL)/cmake-2.8.0_haiku-2010-04-29.tar.xz ; 386 } 387} 388 389 390# Curl 391if [ IsOptionalHaikuImagePackageAdded Curl ] { 392 if $(TARGET_ARCH) != x86 { 393 Echo "No optional package Curl available for $(TARGET_ARCH)" ; 394 } else { 395 InstallOptionalHaikuImagePackage 396 curl-7.20.1-r1a2-x86-gcc2-2010-04-22-a.zip 397 : $(baseURL)/curl-7.20.1-r1a2-x86-gcc2-2010-04-22-a.zip 398 : 399 : 400 : true 401 ; 402 InstallSourceArchive curl-7.20.1_haiku-2010-04-29.tar.xz 403 : $(baseSourceURL)/curl-7.20.1_haiku-2010-04-29.tar.xz 404 ; 405 } 406} 407 408 409# CVS 410if [ IsOptionalHaikuImagePackageAdded CVS ] { 411 if $(TARGET_ARCH) != x86 { 412 Echo "No optional package CVS available for $(TARGET_ARCH)" ; 413 } else { 414 InstallOptionalHaikuImagePackage 415 cvs-1.12.13-r1a2-x86-gcc2-2010-04-29-a.zip 416 : $(baseURL)/cvs-1.12.13-r1a2-x86-gcc2-2010-04-29-a.zip 417 : 418 : true 419 ; 420 InstallSourceArchive cvs-1.12.13_haiku-2010-04-29.tar.xz 421 : $(baseSourceURL)/cvs-1.12.13_haiku-2010-04-29.tar.xz ; 422 } 423} 424 425 426# Development 427if [ IsOptionalHaikuImagePackageAdded Development ] && $(TARGET_ARCH) = x86 { 428 # autotools 429 InstallOptionalHaikuImagePackage autoconf-2.67-x86-gcc2-2010-08-03.zip 430 : $(baseURL)/autoconf-2.67-x86-gcc2-2010-08-03.zip 431 : 432 : true 433 ; 434 InstallOptionalHaikuImagePackage automake-1.11.1-r1a2-x86-gcc2-2010-04-21-a.zip 435 : $(baseURL)/automake-1.11.1-r1a2-x86-gcc2-2010-04-21-a.zip 436 : 437 : true ; 438 InstallSourceArchive automake-1.11.1_haiku-2010-04-29.tar.xz 439 : $(baseSourceURL)/automake-1.11.1_haiku-2010-04-29.tar.xz 440 ; 441 InstallOptionalHaikuImagePackage libtool-2.2.10-x86-gcc2-2010-06-10.zip 442 : $(baseURL)/libtool-2.2.10-x86-gcc2-2010-06-10.zip 443 : 444 : true 445 : true ; 446 InstallSourceArchive libtool-2.2.6b_haiku-2010-04-29.tar.xz 447 : $(baseSourceURL)/libtool-2.2.6b_haiku-2010-04-29.tar.xz 448 ; 449 InstallOptionalHaikuImagePackage texinfo-4.13a-r1a2-x86-gcc2-2010-04-21-a.zip 450 : $(baseURL)/texinfo-4.13a-r1a2-x86-gcc2-2010-04-21-a.zip 451 : 452 : true ; 453 InstallSourceArchive texinfo-4.13a_haiku-2010-04-29.tar.xz 454 : $(baseSourceURL)/texinfo-4.13a_haiku-2010-04-29.tar.xz 455 ; 456} 457 458 459# DevelopmentBase 460if [ IsOptionalHaikuImagePackageAdded DevelopmentBase ] 461 && $(TARGET_ARCH) = x86 { 462 # gcc and binutils 463 if $(HAIKU_GCC_VERSION[1]) = 2 || $(isHybridBuild) { 464 InstallOptionalHaikuImagePackage 465 gcc-2.95.3-r1a2-x86-gcc2-2010-07-12.zip 466 : $(baseURL)/gcc-2.95.3-x86-gcc2-2010-07-12.zip ; 467 } 468 469 if $(HAIKU_GCC_VERSION[1]) = 2 { 470 # symlink to the appropriate system/lib[/gcc2] folder 471 AddSymlinkToHaikuHybridImage 472 develop abi x86 gcc2 tools gcc-2.95.3-haiku-100712 lib 473 : /system/lib libstdc++.r4.so : : true ; 474 } 475 476 if $(HAIKU_GCC_VERSION[1]) = 4 || $(isHybridBuild) { 477 InstallOptionalHaikuImagePackage gcc-4.3.3-r1a2-x86-gcc4-2010-04-25-1.zip 478 : $(baseURL)/gcc-4.3.3-r1a2-x86-gcc4-2010-04-25-1.zip ; 479 } 480 481 if $(HAIKU_GCC_VERSION[1]) = 4 { 482 # symlink cpp to g++'s headers 483 AddSymlinkToHaikuHybridImage develop abi x86 gcc4 headers 484 : ../tools/current/include/g++ : cpp ; 485 486 # symlink to the appropriate system/lib[/gcc4] folder 487 local libs = libstdc++.so libsupc++.so ; 488 for lib in $(libs) { 489 AddSymlinkToHaikuHybridImage 490 develop abi x86 gcc4 tools gcc-4.3.3-haiku-100425 lib 491 : /system/lib $(lib) : : true ; 492 } 493 } 494 495 # other commonly used tools 496 InstallOptionalHaikuImagePackage bison-2.4.1-r1a2-x86-gcc2-2010-04-21-a.zip 497 : $(baseURL)/bison-2.4.1-r1a2-x86-gcc2-2010-04-21-a.zip ; 498 InstallSourceArchive bison-2.4.1_haiku-2010-04-29.tar.xz 499 : $(baseSourceURL)/bison-2.4.1_haiku-2010-04-29.tar.xz ; 500 InstallOptionalHaikuImagePackage m4-1.4.14-r1a2-x86-gcc2-2010-04-21-a.zip 501 : $(baseURL)/m4-1.4.14-r1a2-x86-gcc2-2010-04-21-a.zip ; 502 InstallSourceArchive m4-1.4.14_haiku-2010-04-29.tar.xz 503 : $(baseSourceURL)/m4-1.4.14_haiku-2010-04-29.tar.xz ; 504 InstallOptionalHaikuImagePackage flex-2.5.35-r1a2-x86-gcc2-2010-04-21-a.zip 505 : $(baseURL)/flex-2.5.35-r1a2-x86-gcc2-2010-04-21-a.zip ; 506 InstallSourceArchive flex-2.5.35_haiku-2010-04-29.tar.xz 507 : $(baseSourceURL)/flex-2.5.35_haiku-2010-04-29.tar.xz ; 508 InstallOptionalHaikuImagePackage jam-2.5-r1a2-x86-gcc2-2010-04-21.zip 509 : $(baseURL)/jam-2.5-r1a2-x86-gcc2-2010-04-21.zip ; 510} 511 512 513# DevelopmentMin 514if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] && $(TARGET_ARCH) = x86 { 515 if ! ( $(HAIKU_GCC_VERSION[1]) in 2 4 ) { 516 Exit "Optional package DevelopmentMin: Unsupported GCC version:" 517 $(HAIKU_GCC_VERSION[1]) ; 518 } 519 520 local arch = $(TARGET_ARCH) ; 521 local abi = gcc$(HAIKU_GCC_VERSION[1]) ; 522 local abiDirTokens = develop abi $(arch) $(abi) ; 523 524 # glue code 525 AddFilesToHaikuHybridImage $(abiDirTokens) lib : 526 <src!system!glue!arch!$(arch)>crti.o 527 <src!system!glue!arch!$(arch)>crtn.o 528 <src!system!glue>init_term_dyn.o 529 <src!system!glue>start_dyn.o 530 <src!system!glue>haiku_version_glue.o 531 ; 532 533 # kernel 534 AddFilesToHaikuHybridImage $(abiDirTokens) lib : kernel.so : _KERNEL_ ; 535 536 # additional libraries 537 local developmentLibs = <revisioned>libroot_debug.so ; 538 AddFilesToHaikuHybridImage system lib : $(developmentLibs) : : true ; 539 540 # library symlinks 541 local lib ; 542 for lib in $(SYSTEM_LIBS) $(SYSTEM_LIBS_LIBGL_ALIASES) $(developmentLibs) { 543 AddSymlinkToHaikuHybridImage $(abiDirTokens) lib 544 : /system/lib $(lib:BS) : : true ; 545 local abiVersion = [ on $(lib) return $(HAIKU_LIB_ABI_VERSION) ] ; 546 if $(abiVersion) { 547 local abiVersionedLib = $(lib:BS).$(abiVersion) ; 548 AddSymlinkToHaikuHybridImage $(abiDirTokens) lib 549 : /system/lib $(abiVersionedLib) : : true ; 550 } 551 } 552 553 # static libraries 554 AddFilesToHaikuHybridImage $(abiDirTokens) lib : libncurses.a ; 555 AddFilesToHaikuHybridImage $(abiDirTokens) lib : liblocalestub.a ; 556 557 # the POSIX error code mapper library 558 AddFilesToHaikuHybridImage $(abiDirTokens) lib : libposix_error_mapper.a ; 559 560 # symlinks for ABI abstraction 561 AddSymlinkToHaikuImage develop abi : $(arch)/$(abi) : current ; 562 AddSymlinkToHaikuImage develop lib : /boot/develop/abi/current/lib 563 : $(arch) ; 564 AddSymlinkToHaikuImage develop tools 565 : /boot/develop/abi/current/tools/current : gnupro ; 566 AddSymlinkToHaikuImage develop headers 567 : /boot/develop/abi/current/headers/cpp ; 568 AddSymlinkToHaikuHybridImage $(abiDirTokens) library-paths 569 : /boot/common/lib : common : true ; 570 AddSymlinkToHaikuHybridImage $(abiDirTokens) library-paths 571 : /boot/home/config/lib : home : true ; 572 573 # ABI independent stuff 574 575 # scripts: cc and c++ wrapper, freetype-config, setgcc 576 local scripts = cc c++ freetype-config setgcc ; 577 SEARCH on $(scripts) = [ FDirName $(HAIKU_TOP) data bin ] ; 578 AddFilesToHaikuImage system bin : $(scripts) ; 579 580 # make and mkdepend build tool, which are part of the Haiku source tree 581 # TODO: Both should be removed from the tree, made download packages 582 # and moved to the DevelopmentBase package. 583 AddFilesToHaikuImage system bin : make mkdepend ; 584 585 # skeleton makefile and makefile-engine 586 local makefileEngineFiles = 587 <makefile-engine>makefile 588 <makefile-engine>makefile-engine 589 ; 590 SEARCH on $(makefileEngineFiles) 591 = [ FDirName $(HAIKU_TOP) data develop ] ; 592 AddFilesToHaikuImage develop etc : $(makefileEngineFiles) ; 593 594 # headers 595 AddHeaderDirectoryToHaikuImage config ; 596 AddHeaderDirectoryToHaikuImage glibc ; 597 AddHeaderDirectoryToHaikuImage os ; 598 AddHeaderDirectoryToHaikuImage posix ; 599 600 # create be -> os symlink for now 601 AddSymlinkToHaikuImage develop headers : os : be ; 602 603 # BSD and GNU compatibility headers 604 AddHeaderDirectoryToHaikuImage compatibility bsd : bsd ; 605 AddHeaderDirectoryToHaikuImage compatibility gnu : gnu ; 606 607 # third party libs headers 608 AddHeaderDirectoryToHaikuImage libs freetype2 : 3rdparty ; 609 AddHeaderDirectoryToHaikuImage libs jpeg : 3rdparty ; 610 AddHeaderDirectoryToHaikuImage libs ncurses : 3rdparty ; 611 AddHeaderDirectoryToHaikuImage libs png : 3rdparty ; 612 AddHeaderDirectoryToHaikuImage libs termcap : 3rdparty ; 613 AddHeaderDirectoryToHaikuImage libs tiff : 3rdparty ; 614 AddHeaderDirectoryToHaikuImage libs zlib : 3rdparty ; 615 616 # cpp headers 617 if $(HAIKU_GCC_VERSION[1]) = 2 { 618 # GCC 2 only -- for GCC 4 they come with the DevelopmentBase package 619 CopyDirectoryToHaikuImage $(abiDirTokens) headers 620 : [ FDirName $(HAIKU_TOP) headers cpp ] : : -x .svn ; 621 CopyDirectoryToAlternativeGCCArchive $(abiDirTokens) headers 622 : [ FDirName $(HAIKU_TOP) headers cpp ] : : -x .svn ; 623 } 624} 625 626 627# Expat 628if [ IsOptionalHaikuImagePackageAdded Expat ] { 629 if $(TARGET_ARCH) != x86 { 630 Echo "No optional package Expat available for $(TARGET_ARCH)" ; 631 } else { 632 InstallOptionalHaikuImagePackage 633 expat-2.0.1-r1a2-x86-gcc2-2010-04-22-a.zip 634 : $(baseURL)/expat-2.0.1-r1a2-x86-gcc2-2010-04-22-a.zip 635 : 636 : true 637 : true 638 ; 639 InstallSourceArchive expat-2.0.1_haiku-2010-04-29.tar.xz 640 : $(baseSourceURL)/expat-2.0.1_haiku-2010-04-29.tar.xz ; 641 } 642} 643 644 645# friss 646if [ IsOptionalHaikuImagePackageAdded friss ] { 647 if $(TARGET_ARCH) != x86 { 648 Echo "No optional package friss available for $(TARGET_ARCH)" ; 649 } else if $(HAIKU_GCC_VERSION[1]) >= 4 || $(isHybridBuild) { 650 InstallOptionalHaikuImagePackage friss-0.5pre7-x86-gcc4.zip 651 : http://pulkomandy.ath.cx/projects/friss/export/8/bin/friss-0.5pre7-x86-gcc4.zip 652 : 653 : true 654 ; 655 } else { 656 Echo "No optional package friss available for gcc2" ; 657 } 658} 659 660 661# GetText 662if [ IsOptionalHaikuImagePackageAdded GetText ] { 663 if $(TARGET_ARCH) != x86 { 664 Echo "No optional package GetText available for $(TARGET_ARCH)" ; 665 } else { 666 if $(HAIKU_GCC_VERSION[1]) >= 4 { 667 InstallOptionalHaikuImagePackage 668 gettext-0.17-x86-gcc4-2010-05-06.zip 669 : $(baseURL)/gettext-0.17-x86-gcc4-2010-05-06.zip 670 : 671 : true 672 ; 673 InstallSourceArchive gettext-0.17_haiku-2010-05-06.tar.xz 674 : $(baseSourceURL)/gettext-0.17_haiku-2010-05-06.tar.xz ; 675 } else if $(HAIKU_GCC_VERSION[1]) = 2 && $(isHybridBuild) { 676 InstallOptionalHaikuImagePackage 677 gettext-0.17-x86-gcc2h-2010-05-06.zip 678 : $(baseURL)/gettext-0.17-x86-gcc2h-2010-05-06.zip 679 : 680 : true 681 ; 682 InstallSourceArchive gettext-0.17_haiku-2010-05-06.tar.xz 683 : $(baseSourceURL)/gettext-0.17_haiku-2010-05-06.tar.xz ; 684 } else { 685 Echo "No optional package GetText available for $(TARGET_ARCH)-gcc2" ; 686 } 687 } 688} 689 690 691# Git 692if [ IsOptionalHaikuImagePackageAdded Git ] { 693 if $(TARGET_ARCH) != x86 { 694 Echo "No optional package Git available for $(TARGET_ARCH)" ; 695 } else { 696 InstallOptionalHaikuImagePackage 697 git-1.7.1-x86-gcc2-2010-05-26.zip 698 : $(baseURL)/git-1.7.1-x86-gcc2-2010-05-26.zip 699 : 700 : true 701 ; 702 } 703} 704 705 706# GPerf 707if [ IsOptionalHaikuImagePackageAdded GPerf ] { 708 if $(TARGET_ARCH) != x86 { 709 Echo "No optional package GPerf available for $(TARGET_ARCH)" ; 710 } else { 711 if $(HAIKU_GCC_VERSION[1]) >= 4 { 712 InstallOptionalHaikuImagePackage 713 gperf-3.0.4-x86-gcc4-2010-06-15.zip 714 : $(baseURL)/gperf-3.0.4-x86-gcc4-2010-06-15.zip 715 : 716 : true 717 ; 718 } else { 719 InstallOptionalHaikuImagePackage 720 gperf-3.0.4-x86-gcc2-2010-06-15.zip 721 : $(baseURL)/gperf-3.0.4-x86-gcc2-2010-06-15.zip 722 : 723 : true 724 ; 725 } 726 } 727} 728 729 730# ICU 731if [ IsOptionalHaikuImagePackageAdded ICU ] { 732 if $(TARGET_ARCH) != x86 { 733 Echo "No optional package ICU available for $(TARGET_ARCH)" ; 734 } else { 735 if $(HAIKU_GCC_VERSION[1]) = 2 { 736 # unzip gcc2 737 InstallOptionalHaikuImagePackage $(HAIKU_ICU_GCC_2_PACKAGE) 738 : $(baseURL)/$(HAIKU_ICU_GCC_2_PACKAGE) 739 : system lib ; 740 if $(isHybridBuild) { 741 # unzip gcc4 to gcc4 subdir 742 InstallOptionalHaikuImagePackage $(HAIKU_ICU_GCC_4_PACKAGE) 743 : $(baseURL)/$(HAIKU_ICU_GCC_4_PACKAGE) 744 : system lib gcc4 745 ; 746 } 747 } else { 748 # unzip gcc4 749 InstallOptionalHaikuImagePackage $(HAIKU_ICU_GCC_4_PACKAGE) 750 : $(baseURL)/$(HAIKU_ICU_GCC_4_PACKAGE) 751 : system lib ; 752 if $(isHybridBuild) { 753 # unzip gcc2 to gcc2 subdir 754 InstallOptionalHaikuImagePackage $(HAIKU_ICU_GCC_2_PACKAGE) 755 : $(baseURL)/$(HAIKU_ICU_GCC_2_PACKAGE) 756 : system lib gcc2 757 ; 758 } 759 } 760 } 761} 762 763 764# ICU-devel 765if [ IsOptionalHaikuImagePackageAdded ICU-devel ] { 766 InstallOptionalHaikuImagePackage $(HAIKU_ICU_DEVEL_PACKAGE) 767 : $(baseURL)/$(HAIKU_ICU_DEVEL_PACKAGE) 768 ; 769 770 local arch = $(TARGET_ARCH) ; 771 local abi = gcc$(HAIKU_GCC_VERSION[1]) ; 772 for abiVersionedLib in $(HAIKU_ICU_LIBS) { 773 abiVersionedLib = $(abiVersionedLib:G=) ; 774 local lib = $(abiVersionedLib:B) ; 775 AddSymlinkToHaikuHybridImage develop abi $(arch) $(abi) lib 776 : /system/lib $(abiVersionedLib) : : true ; 777 AddSymlinkToHaikuHybridImage develop abi $(arch) $(abi) lib 778 : $(abiVersionedLib) : $(lib) ; 779 } 780} 781 782 783# KeymapSwitcher 784if [ IsOptionalHaikuImagePackageAdded KeymapSwitcher ] { 785 if $(TARGET_ARCH) != x86 { 786 Echo "No optional package KeymapSwitcher available for $(TARGET_ARCH)" ; 787 } else if $(HAIKU_GCC_VERSION[1]) >= 4 { 788 InstallOptionalHaikuImagePackage 789 KeymapSwitcher-1.2.5-r1a2-x86-gcc4-2010-05-08.zip 790 : $(baseURL)/KeymapSwitcher-1.2.5-r1a2-x86-gcc4-2010-05-08.zip 791 : 792 ; 793 AddSymlinkToHaikuImage home config be Desktop\ applets 794 : /boot/common/bin/KeymapSwitcher ; 795 } else { 796 InstallOptionalHaikuImagePackage 797 KeymapSwitcher-1.2.5-r1a2-x86-gcc2-2010-05-08.zip 798 : $(baseURL)/KeymapSwitcher-1.2.5-r1a2-x86-gcc2-2010-05-08.zip 799 : 800 ; 801 AddSymlinkToHaikuImage home config be Desktop\ applets 802 : /boot/common/bin/KeymapSwitcher ; 803 } 804} 805 806 807# LibEvent 808if [ IsOptionalHaikuImagePackageAdded LibEvent ] { 809 if $(TARGET_ARCH) != x86 { 810 Echo "No optional package LibEvent available for $(TARGET_ARCH)" ; 811 } else { 812 if $(HAIKU_GCC_VERSION[1]) >= 4 { 813 InstallOptionalHaikuImagePackage 814 libevent-1.4.13-x86-gcc4-2010-05-06.zip 815 : $(baseURL)/libevent-1.4.13-x86-gcc4-2010-05-06.zip 816 : 817 : true 818 ; 819 InstallSourceArchive libevent-1.4.13_haiku-2010-05-06.tar.xz 820 : $(baseSourceURL)/libevent-1.4.13_haiku-2010-05-06.tar.xz ; 821 } else if $(HAIKU_GCC_VERSION[1]) = 2 && $(isHybridBuild) { 822 InstallOptionalHaikuImagePackage 823 libevent-1.4.13-x86-gcc2h-2010-05-06.zip 824 : $(baseURL)/libevent-1.4.13-x86-gcc2h-2010-05-06.zip 825 : 826 : true 827 ; 828 InstallSourceArchive libevent-1.4.13_haiku-2010-05-06.tar.xz 829 : $(baseSourceURL)/libevent-1.4.13_haiku-2010-05-06.tar.xz ; 830 } else { 831 Echo "No optional package LibEvent available for $(TARGET_ARCH)-gcc2" ; 832 } 833 } 834} 835 836 837# LibIconv 838if [ IsOptionalHaikuImagePackageAdded LibIconv ] { 839 if $(TARGET_ARCH) != x86 { 840 Echo "No optional package LibIconv available for $(TARGET_ARCH)" ; 841 } else { 842 InstallOptionalHaikuImagePackage 843 libiconv-1.13.1-r1a2-x86-gcc2-2010-04-21-a.zip 844 : $(baseURL)/libiconv-1.13.1-r1a2-x86-gcc2-2010-04-21-a.zip 845 : 846 : 847 : true 848 ; 849 InstallSourceArchive libiconv-1.13.1_haiku-2010-04-29.tar.xz 850 : $(baseSourceURL)/libiconv-1.13.1_haiku-2010-04-29.tar.xz ; 851 } 852} 853 854 855# LibLayout library 856if [ IsOptionalHaikuImagePackageAdded LibLayout ] { 857 if $(TARGET_ARCH) != x86 { 858 Echo "No optional package LibLayout available for $(TARGET_ARCH)" ; 859 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 860 Echo "No optional package LibLayout available for gcc4" ; 861 } else { 862 InstallOptionalHaikuImagePackage liblayout-1.4.0-gcc2-2009-03-08.zip 863 : $(baseURL)/liblayout-1.4.0-gcc2-2009-03-08.zip 864 : 865 ; 866 } 867} 868 869 870# LibXML2 871if [ IsOptionalHaikuImagePackageAdded LibXML2 ] { 872 if $(TARGET_ARCH) != x86 { 873 Echo "No optional package LibXML2 available for $(TARGET_ARCH)" ; 874 } else { 875 InstallOptionalHaikuImagePackage 876 libxml2-2.7.7-r1a2-x86-gcc2-2010-04-22-a.zip 877 : $(baseURL)/libxml2-2.7.7-r1a2-x86-gcc2-2010-04-22-a.zip 878 : 879 : 880 : true 881 ; 882 InstallSourceArchive libxml2-2.7.7_haiku-2010-04-29.tar.xz 883 : $(baseSourceURL)/libxml2-2.7.7_haiku-2010-04-29.tar.xz ; 884 } 885} 886 887 888# LibXSLT 889if [ IsOptionalHaikuImagePackageAdded LibXSLT ] { 890 if $(TARGET_ARCH) != x86 { 891 Echo "No optional package LibXSLT available for $(TARGET_ARCH)" ; 892 } else { 893 InstallOptionalHaikuImagePackage 894 libxslt-1.1.26-r1a2-x86-gcc2-2010-04-22-a.zip 895 : $(baseURL)/libxslt-1.1.26-r1a2-x86-gcc2-2010-04-22-a.zip 896 : 897 : true 898 ; 899 InstallSourceArchive libxslt-1.1.26_haiku-2010-04-29.tar.xz 900 : $(baseSourceURL)/libxslt-1.1.26_haiku-2010-04-29.tar.xz ; 901 } 902} 903 904 905# Links web browser 906if [ IsOptionalHaikuImagePackageAdded Links ] { 907 if $(TARGET_ARCH) != x86 { 908 Echo "No optional package Links available for $(TARGET_ARCH)" ; 909 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 910 Echo "No optional package Links available for gcc4" ; 911 } else { 912 InstallOptionalHaikuImagePackage Links.zip 913 : $(baseURL)/links-x86-gcc2-2008-05-03.zip 914 : 915 ; 916 AddSymlinkToHaikuImage home config be Applications 917 : /boot/home/config/bin/links ; 918 } 919} 920 921 922# MandatoryPackages 923if [ IsOptionalHaikuImagePackageAdded MandatoryPackages ] { 924 # Pseudo package for grouping packages, which are added to all images. 925} 926 927 928# Mercurial 929if [ IsOptionalHaikuImagePackageAdded Mercurial ] { 930 if $(TARGET_ARCH) != x86 { 931 Echo "No optional package Mercurial available for $(TARGET_ARCH)" ; 932 } else { 933 InstallOptionalHaikuImagePackage 934 mercurial-1.6-x86-gcc2-2010-07-01.zip 935 : $(baseURL)/mercurial-1.6-x86-gcc2-2010-07-01.zip 936 : 937 : true 938 ; 939 } 940} 941 942 943# Nano 944if [ IsOptionalHaikuImagePackageAdded Nano ] { 945 if $(TARGET_ARCH) != x86 { 946 Echo "No optional package Nano available for $(TARGET_ARCH)" ; 947 } else { 948 InstallOptionalHaikuImagePackage 949 nano-2.2.3-r1a2-x86-gcc2-2010-04-22-a.zip 950 : $(baseURL)/nano-2.2.3-r1a2-x86-gcc2-2010-04-22-a.zip 951 : 952 ; 953 InstallSourceArchive nano-2.2.3_haiku-2010-04-29.tar.xz 954 : $(baseSourceURL)/nano-2.2.3_haiku-2010-04-29.tar.xz ; 955 } 956} 957 958 959# Neon 960if [ IsOptionalHaikuImagePackageAdded Neon ] { 961 if $(TARGET_ARCH) != x86 { 962 Echo "No optional package Neon available for $(TARGET_ARCH)" ; 963 } else { 964 InstallOptionalHaikuImagePackage 965 neon-0.29.3-r1a2-x86-gcc2-2010-04-22-a.zip 966 : $(baseURL)/neon-0.29.3-r1a2-x86-gcc2-2010-04-22-a.zip 967 : 968 : true 969 : true 970 ; 971 InstallSourceArchive neon-0.29.3_haiku-2010-04-29.tar.xz 972 : $(baseSourceURL)/neon-0.29.3_haiku-2010-04-29.tar.xz ; 973 } 974} 975 976 977# NetFS network file system 978if [ IsOptionalHaikuImagePackageAdded NetFS ] { 979 # userlandfs module 980 AddFilesToHaikuImage home config add-ons userlandfs : netfs ; 981 982 # servers 983 AddFilesToHaikuImage system servers : netfs_server ; 984 AddFilesToHaikuImage system servers : authentication_server ; 985 986 # tools 987 AddFilesToHaikuImage system bin : netfs_config ; 988 AddFilesToHaikuImage system bin : netfs_server_prefs ; 989 990 #example settings for netfs_server 991 local netfsServerSettingsFiles = <driver-settings>netfs-server ; 992 SEARCH on $(netfsServerSettingsFiles) 993 = [ FDirName $(HAIKU_TOP) src add-ons kernel file_systems netfs ] ; 994 AddFilesToHaikuImage home config settings kernel drivers 995 : $(netfsServerSettingsFiles) ; 996 997 #userlandfs settings are needed for netfs_config to work (ioctls) 998 local userlandfsServerSettingsFiles = <driver-settings>userlandfs ; 999 SEARCH on $(userlandfsServerSettingsFiles) 1000 = [ FDirName $(HAIKU_TOP) src add-ons kernel file_systems userlandfs ] ; 1001 AddFilesToHaikuImage home config settings kernel drivers 1002 : $(userlandfsServerSettingsFiles) ; 1003} 1004 1005 1006# NetSurf web browser 1007if [ IsOptionalHaikuImagePackageAdded NetSurf ] { 1008 if $(TARGET_ARCH) != x86 { 1009 Echo "No optional package NetSurf available for $(TARGET_ARCH)" ; 1010 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 1011 Echo "No optional package NetSurf available for gcc4" ; 1012 } else { 1013 InstallOptionalHaikuImagePackage NetSurf-r9862b.zip 1014 : $(baseURL)/NetSurf-r9862-x86-gcc2-2010-01-27.zip 1015 : 1016 ; 1017 AddSymlinkToHaikuImage home config be Applications 1018 : /boot/apps/netsurf/NetSurf ; 1019 InstallSourceArchive netsurf-r9862.7z 1020 : http://haiku-files.org/files/sources/2010/netsurf-r9862.7z 1021 ; 1022 } 1023} 1024 1025 1026# OCaml 1027if [ IsOptionalHaikuImagePackageAdded OCaml ] { 1028 if $(TARGET_ARCH) != x86 { 1029 Echo "No optional package OCaml available for $(TARGET_ARCH)" ; 1030 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 1031 Echo "No optional package OCaml available for gcc4" ; 1032 } else { 1033 InstallOptionalHaikuImagePackage 1034 ocaml-3.11.1-r1a1-x86-gcc2-2009-09-06.zip 1035 : http://jerome.duval.free.fr/obos/ocaml-3.11.1-r1a1-x86-gcc2-2009-09-06.zip 1036 : 1037 ; 1038 InstallOptionalHaikuImagePackage 1039 camlp5-5.12-r1a1-x86-gcc2-2009-09-06.zip 1040 : http://jerome.duval.free.fr/obos/camlp5-5.12-r1a1-x86-gcc2-2009-09-06.zip 1041 : 1042 ; 1043 } 1044} 1045 1046 1047# OpenSound drivers 1048if [ IsOptionalHaikuImagePackageAdded OpenSound ] { 1049 if $(TARGET_ARCH) != x86 { 1050 Echo "No optional package OpenSound available for $(TARGET_ARCH)" ; 1051 } else { 1052 InstallOptionalHaikuImagePackage 1053 opensound-4.2-r1a2-x86-gcc2-2010-05-01.zip 1054 : $(baseURL)/opensound-4.2-r1a2-x86-gcc2-2010-05-01.zip 1055 : 1056 ; 1057 } 1058 #ExtractArchiveToHaikuImage home : data/vv.mp3.zip : 0 ; 1059} 1060 1061 1062# OpenSSH 1063if [ IsOptionalHaikuImagePackageAdded OpenSSH ] { 1064 if $(TARGET_ARCH) != x86 { 1065 Echo "No optional package OpenSSH available for $(TARGET_ARCH)" ; 1066 } else { 1067 if ! $(HAIKU_IMAGE_HOST_NAME) && ! $(HAIKU_IGNORE_USER_BUILD_CONFIG) { 1068 Exit "Optional package OpenSSH requires the HAIKU_IMAGE_HOST_NAME" 1069 "variable to be set!" ; 1070 } 1071 InstallOptionalHaikuImagePackage 1072 openssh-5.5p1-x86-gcc2-2010-05-26.zip 1073 : $(baseURL)/openssh-5.5p1-x86-gcc2-2010-05-26.zip 1074 : 1075 ; 1076 1077 AddUserToHaikuImage sshd : 1001 : 100 : /var/empty : /bin/true 1078 : "sshd user" ; 1079 } 1080} 1081 1082 1083# OpenSSL 1084if [ IsOptionalHaikuImagePackageAdded OpenSSL ] { 1085 if $(TARGET_ARCH) != x86 { 1086 Echo "No optional package OpenSSL available for $(TARGET_ARCH)" ; 1087 } else { 1088 InstallOptionalHaikuImagePackage $(HAIKU_OPENSSL_PACKAGE) 1089 : $(HAIKU_OPENSSL_URL) 1090 : 1091 : 1092 : true 1093 ; 1094 InstallSourceArchive openssl-1.0.0_haiku-2010-04-29.tar.xz 1095 : $(baseSourceURL)/openssl-1.0.0_haiku-2010-04-29.tar.xz ; 1096 } 1097} 1098 1099 1100# P7zip 1101if [ IsOptionalHaikuImagePackageAdded P7zip ] { 1102 if $(TARGET_ARCH) != x86 { 1103 Echo "No optional package P7zip available for $(TARGET_ARCH)" ; 1104 } else { 1105 if $(HAIKU_GCC_VERSION[1]) >= 4 { 1106 InstallOptionalHaikuImagePackage 1107 p7zip-9.04-r1a2-x86-gcc4-2010-05-06.zip 1108 : $(baseURL)/p7zip-9.04-r1a2-x86-gcc4-2010-05-06.zip 1109 : 1110 ; 1111 } else { 1112 InstallOptionalHaikuImagePackage 1113 p7zip-9.04-r1a2-x86-gcc2-2010-05-06.zip 1114 : $(baseURL)/p7zip-9.04-r1a2-x86-gcc2-2010-05-06.zip 1115 : 1116 ; 1117 InstallSourceArchive p7zip-9.04_haiku-2010-05-06.tar.xz 1118 : $(baseSourceURL)/p7zip-9.04_haiku-2010-05-06.tar.xz ; 1119 } 1120 AddExpanderRuleToHaikuImage "application/x-7z-compressed" : .7z 1121 : "7za l \\0045s" 1122 : "7za x -y \\0045s" 1123 ; 1124 1125 } 1126} 1127 1128 1129# PCRE regex engine 1130if [ IsOptionalHaikuImagePackageAdded PCRE ] { 1131 if $(TARGET_ARCH) != x86 { 1132 Echo "No optional package PCRE available for $(TARGET_ARCH)" ; 1133 } else { 1134 if $(HAIKU_GCC_VERSION[1]) >= 4 { 1135 InstallOptionalHaikuImagePackage pcre-7.9-x86-gcc4-2009-09-30.zip 1136 : $(baseURL)/pcre-7.9-x86-gcc4-2009-09-30.zip 1137 ; 1138 } else { 1139 InstallOptionalHaikuImagePackage 1140 libpcre-8.02-r1a2-x86-gcc2-2010-04-28-a.zip 1141 : $(baseURL)/libpcre-8.02-r1a2-x86-gcc2-2010-04-28-a.zip 1142 ; 1143 } 1144 InstallSourceArchive libpcre-8.02_haiku-2010-04-29.tar.xz 1145 : $(baseSourceURL)/libpcre-8.02_haiku-2010-04-29.tar.xz ; 1146 } 1147} 1148 1149 1150# Pe text editor 1151if [ IsOptionalHaikuImagePackageAdded Pe ] { 1152 if $(TARGET_ARCH) != x86 { 1153 Echo "No optional package Pe available for $(TARGET_ARCH)" ; 1154 } else { 1155 if $(HAIKU_GCC_VERSION[1]) >= 4 { 1156 InstallOptionalHaikuImagePackage Pe-2.4.2-x86-gcc4-2009-08-04.zip 1157 : $(baseURL)/Pe-2.4.2-x86-gcc4-2009-08-04.zip 1158 ; 1159 } else { 1160 InstallOptionalHaikuImagePackage 1161 Pe-2.4.2-r597-r1a2-x86-gcc2-2010-05-06.zip 1162 : $(baseURL)/Pe-2.4.2-r597-r1a2-x86-gcc2-2010-05-06.zip 1163 ; 1164 } 1165 1166 AddSymlinkToHaikuImage home config be Applications 1167 : /boot/apps/Pe/Pe ; 1168 AddSymlinkToHaikuImage common bin 1169 : /boot/apps/Pe/lpe ; 1170 } 1171} 1172 1173 1174# Perl 1175if [ IsOptionalHaikuImagePackageAdded Perl ] { 1176 if $(TARGET_ARCH) != x86 { 1177 Echo "No optional package Perl available for $(TARGET_ARCH)" ; 1178 } else { 1179 InstallOptionalHaikuImagePackage 1180 perl-5.10.1-r1a2-x86-gcc2-2010-04-25-a.zip 1181 : $(baseURL)/perl-5.10.1-r1a2-x86-gcc2-2010-04-25-a.zip 1182 : 1183 : true 1184 : true 1185 ; 1186 InstallSourceArchive perl-5.10.1_haiku-2010-04-29.tar.xz 1187 : $(baseSourceURL)/perl-5.10.1_haiku-2010-04-29.tar.xz ; 1188 } 1189} 1190 1191 1192# Python 1193if [ IsOptionalHaikuImagePackageAdded Python ] { 1194 if $(TARGET_ARCH) != x86 { 1195 Echo "No optional package Python available for $(TARGET_ARCH)" ; 1196 } else { 1197 InstallOptionalHaikuImagePackage 1198 python-2.6.5-x86-gcc2-2010-05-26.zip 1199 : $(baseURL)/python-2.6.5-x86-gcc2-2010-05-26.zip 1200 : 1201 : true 1202 : true 1203 ; 1204 } 1205} 1206 1207 1208# Rsync 1209if [ IsOptionalHaikuImagePackageAdded Rsync ] { 1210 if $(TARGET_ARCH) != x86 { 1211 Echo "No optional package Rsync available for $(TARGET_ARCH)" ; 1212 } else { 1213 InstallOptionalHaikuImagePackage 1214 rsync-3.0.7-r1a2-x86-gcc2-2010-04-22-a.zip 1215 : $(baseURL)/rsync-3.0.7-r1a2-x86-gcc2-2010-04-22-a.zip 1216 : 1217 ; 1218 InstallSourceArchive rsync-3.0.7_haiku-2010-04-29.tar.xz 1219 : $(baseSourceURL)/rsync-3.0.7_haiku-2010-04-29.tar.xz ; 1220 } 1221} 1222 1223 1224# Sed 1225if [ IsOptionalHaikuImagePackageAdded Sed ] { 1226 if $(TARGET_ARCH) != x86 { 1227 Echo "No optional package Sed available for $(TARGET_ARCH)" ; 1228 } else { 1229 InstallOptionalHaikuImagePackage 1230 sed-4.2.1-r1a2-x86-gcc2-2010-04-21-a.zip 1231 : $(baseURL)/sed-4.2.1-r1a2-x86-gcc2-2010-04-21-a.zip 1232 : 1233 : 1234 ; 1235 InstallSourceArchive sed-4.2.1_haiku-2010-04-29.tar.xz 1236 : $(baseSourceURL)/sed-4.2.1_haiku-2010-04-29.tar.xz ; 1237 } 1238} 1239 1240 1241# SQLite 1242if [ IsOptionalHaikuImagePackageAdded SQLite ] { 1243 if $(TARGET_ARCH) != x86 { 1244 Echo "No optional package SQLite available for $(TARGET_ARCH)" ; 1245 } else { 1246 InstallOptionalHaikuImagePackage 1247 sqlite-3.6.23-r1a2-x86-gcc2-2010-04-22-a.zip 1248 : $(baseURL)/sqlite-3.6.23-r1a2-x86-gcc2-2010-04-22-a.zip 1249 : 1250 : 1251 : true 1252 ; 1253 InstallSourceArchive sqlite-3.6.23_haiku-2010-04-29.tar.xz 1254 : $(baseSourceURL)/sqlite-3.6.23_haiku-2010-04-29.tar.xz ; 1255 } 1256} 1257 1258 1259# Subversion 1260if [ IsOptionalHaikuImagePackageAdded Subversion ] { 1261 if $(TARGET_ARCH) != x86 { 1262 Echo "No optional package Subversion available for $(TARGET_ARCH)" ; 1263 } else { 1264 InstallOptionalHaikuImagePackage 1265 subversion-1.6.9-r1a2-x86-gcc2-2010-04-28-a.zip 1266 : $(baseURL)/subversion-1.6.9-r1a2-x86-gcc2-2010-04-28-a.zip 1267 : 1268 : true 1269 : true 1270 ; 1271 InstallSourceArchive subversion-1.6.9_haiku-2010-04-29.tar.xz 1272 : $(baseSourceURL)/subversion-1.6.9_haiku-2010-04-29.tar.xz ; 1273 } 1274} 1275 1276 1277# Tar 1278if [ IsOptionalHaikuImagePackageAdded Tar ] { 1279 if $(TARGET_ARCH) != x86 { 1280 Echo "No optional package Tar available for $(TARGET_ARCH)" ; 1281 } else { 1282 InstallOptionalHaikuImagePackage 1283 tar-1.22-r1a2-x86-gcc2-2010-04-22-a.zip 1284 : $(baseURL)/tar-1.22-r1a2-x86-gcc2-2010-04-22-a.zip 1285 : 1286 ; 1287 InstallSourceArchive tar-1.22_haiku-2010-04-29.tar.xz 1288 : $(baseSourceURL)/tar-1.22_haiku-2010-04-29.tar.xz ; 1289 } 1290} 1291 1292 1293# TimGMSoundFont 1294if [ IsOptionalHaikuImagePackageAdded TimGMSoundFont ] { 1295 InstallOptionalHaikuImagePackage TimGMSoundFont-2010-06-16.zip 1296 : $(baseURL)/TimGMSoundFont-2010-06-16.zip 1297 : 1298 ; 1299} 1300 1301 1302# TrackerNewTemplates 1303if [ IsOptionalHaikuImagePackageAdded TrackerNewTemplates ] { 1304 InstallOptionalHaikuImagePackage TrackerNewTemplates-2010-04-26.zip 1305 : $(baseURL)/TrackerNewTemplates-2010-04-26.zip 1306 : home config settings Tracker "Tracker New Templates" 1307 ; 1308} 1309 1310 1311# Transmission 1312if [ IsOptionalHaikuImagePackageAdded Transmission ] { 1313 if $(TARGET_ARCH) != x86 { 1314 Echo "No optional package Transmission available for $(TARGET_ARCH)" ; 1315 } else { 1316 if $(HAIKU_GCC_VERSION[1]) >= 4 || $(isHybridBuild) { 1317 InstallOptionalHaikuImagePackage 1318 transmission-2.01-x86-gcc4-2010-07-10.zip 1319 : $(baseURL)/transmission-2.01-x86-gcc4-2010-07-10.zip 1320 : 1321 : true 1322 ; 1323 } else { 1324 Echo "No optional package Transmission available for $(TARGET_ARCH)-gcc2" ; 1325 } 1326 } 1327} 1328 1329 1330# UserlandFS 1331if [ IsOptionalHaikuImagePackageAdded UserlandFS ] { 1332 local arch = $(TARGET_ARCH) ; 1333 local abi = gcc$(HAIKU_GCC_VERSION[1]) ; 1334 1335 # kernel module 1336 AddFilesToHaikuImage system add-ons kernel file_systems : userlandfs ; 1337 1338 # server 1339 AddFilesToHaikuImage system servers : userlandfs_server ; 1340 1341 # libs 1342 local userlandfsLibs = 1343 libuserlandfs_beos_kernel.so 1344 libuserlandfs_haiku_kernel.so 1345 libuserlandfs_fuse.so 1346 ; 1347 AddFilesToHaikuHybridImage system lib : $(userlandfsLibs) : : true ; 1348 1349 # development goodies 1350 if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] { 1351 if ! ( $(HAIKU_GCC_VERSION[1]) in 2 4 ) { 1352 Exit "Optional package UserlandFS: Unsupported GCC version:" 1353 $(HAIKU_GCC_VERSION[1]) ; 1354 } 1355 1356 # library symlinks 1357 local lib ; 1358 for lib in $(userlandfsLibs) { 1359 AddSymlinkToHaikuImage develop abi $(arch) $(abi) lib 1360 : /system/lib/$(lib:BS) ; 1361 AddSymlinkToAlternativeGCCArchive develop abi $(arch) $(abi) lib 1362 : /system/lib/$(arch)/$(lib:BS) ; 1363 } 1364 1365 # FUSE headers 1366 local fuseHeaders = 1367 fuse_common_compat.h 1368 fuse_common.h 1369 fuse_compat.h 1370 fuse.h 1371 fuse_lowlevel_compat.h 1372 fuse_lowlevel.h 1373 fuse_opt.h 1374 ; 1375 fuseHeaders = $(fuseHeaders:G=userlandfs!fuse) ; 1376 SEARCH on $(fuseHeaders) 1377 = [ FDirName $(HAIKU_TOP) headers private userlandfs fuse ] ; 1378 AddFilesToHaikuImage develop headers userlandfs fuse : $(fuseHeaders) ; 1379 } 1380} 1381 1382 1383# Vim 1384if [ IsOptionalHaikuImagePackageAdded Vim ] { 1385 if $(TARGET_ARCH) != x86 { 1386 Echo "No optional package Vim available for $(TARGET_ARCH)" ; 1387 } else if $(HAIKU_GCC_VERSION[1]) >= 4 { 1388 InstallOptionalHaikuImagePackage vim-7.2-r1a2-x86-gcc4-2010-05-07.zip 1389 : $(baseURL)/vim-7.2-r1a2-x86-gcc4-2010-05-07.zip 1390 : 1391 ; 1392 AddSymlinkToHaikuImage home config be Applications 1393 : /boot/common/bin/gvim ; 1394 # TODO: move this symlink to the archive 1395 AddSymlinkToHaikuImage common bin : vim : vi ; 1396 } else { 1397 InstallOptionalHaikuImagePackage vim-7.2-r1a2-x86-gcc2-2010-05-07.zip 1398 : $(baseURL)/vim-7.2-r1a2-x86-gcc2-2010-05-07.zip 1399 : 1400 ; 1401 AddSymlinkToHaikuImage home config be Applications 1402 : /boot/common/bin/gvim ; 1403 # TODO: move this symlink to the archive 1404 AddSymlinkToHaikuImage common bin : vim : vi ; 1405 } 1406} 1407 1408 1409# Vision 1410if [ IsOptionalHaikuImagePackageAdded Vision ] { 1411 if $(TARGET_ARCH) != x86 { 1412 Echo "No optional package Vision available for $(TARGET_ARCH)" ; 1413 } else if $(HAIKU_GCC_VERSION[1]) >= 4 { 1414 InstallOptionalHaikuImagePackage Vision-0.9.7-H-x86-gcc4-2010-05-22.zip 1415 : $(baseURL)/Vision-0.9.7-H-x86-gcc4-2010-05-22.zip 1416 : 1417 ; 1418 AddSymlinkToHaikuImage home config be Applications 1419 : /boot/apps/Vision-0.9.7-H-090423/Vision ; 1420 } else { 1421 InstallOptionalHaikuImagePackage Vision-0.9.7-H-x86-gcc2-2010-05-22.zip 1422 : $(baseURL)/Vision-0.9.7-H-x86-gcc2-2010-05-22.zip 1423 : 1424 ; 1425 AddSymlinkToHaikuImage home config be Applications 1426 : /boot/apps/Vision-0.9.7-H-090423/Vision ; 1427 } 1428} 1429 1430 1431# VLC media player 1432if [ IsOptionalHaikuImagePackageAdded VLC ] { 1433 if $(TARGET_ARCH) != x86 { 1434 Echo "No optional package VLC available for $(TARGET_ARCH)" ; 1435 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 1436 Echo "No optional package VLC available for gcc4" ; 1437 } else { 1438 InstallOptionalHaikuImagePackage VLC-0.8.6d.zip 1439 : $(baseURL)/vlc-0.8.6d-gcc2-2009-04-18.zip 1440 : apps 1441 ; 1442 AddSymlinkToHaikuImage home config be Applications 1443 : "/boot/apps/vlc-0.8.6d/VLC media player" ; 1444 AddSymlinkToHaikuImage common bin 1445 : "/boot/apps/vlc-0.8.6d/VLC media player" : vlc ; 1446 } 1447} 1448 1449 1450# WebPositive 1451if [ IsOptionalHaikuImagePackageAdded WebPositive ] { 1452 if $(TARGET_ARCH) != x86 { 1453 Echo "No optional package WebPositive available for $(TARGET_ARCH)" ; 1454 } else if $(HAIKU_GCC_VERSION[1]) < 4 && ! $(isHybridBuild) { 1455 Echo "No optional package WebPositive available for gcc2" ; 1456 } else { 1457 InstallOptionalHaikuImagePackage 1458 WebPositive-gcc4-x86-r542-2010-08-01.zip 1459 : $(baseURL)/WebPositive-gcc4-x86-r542-2010-08-01.zip 1460 : 1461 ; 1462 AddSymlinkToHaikuImage home config be Applications 1463 : /boot/apps/WebPositive/WebPositive ; 1464 } 1465} 1466 1467 1468# Welcome 1469if [ IsOptionalHaikuImagePackageAdded Welcome ] { 1470 CopyDirectoryToHaikuImage system documentation 1471 : [ FDirName $(HAIKU_TOP) docs welcome ] 1472 : welcome : -x .svn ; 1473 CopyDirectoryToHaikuImage system documentation 1474 : [ FDirName $(HAIKU_TOP) docs userguide ] 1475 : userguide : -x .svn ; 1476 AddSymlinkToHaikuImage home Desktop 1477 : /boot/system/documentation/welcome/welcome_en.html : Welcome ; 1478 AddSymlinkToHaikuImage home Desktop 1479 : /boot/system/documentation/userguide/en/contents.html : User\ Guide ; 1480} 1481 1482 1483# WifiFirmwareScriptData 1484# This optional package is for people who build their own images & have wifi 1485# hardware that requires install-wifi-firmwares.sh & have no active network 1486# connection. This is not to be added to default images. 1487if [ IsOptionalHaikuImagePackageAdded WifiFirmwareScriptData ] { 1488 if $(TARGET_ARCH) != x86 { 1489 Echo "No optional package WifiFirmwareScriptData available for" 1490 $(TARGET_ARCH) ; 1491 } else { 1492 # broadcom43xx 1493 # firmware cutter 1494 local broadcomFWCutterArchive = b43-fwcutter-012.tar.bz2 ; 1495 local broadcomFWCutterURL = 1496 http://bu3sch.de/b43/fwcutter/$(broadcomFWCutterArchive) ; 1497 local broadcomFWCutterFile = [ DownloadFile $(broadcomFWCutterArchive) 1498 : $(broadcomFWCutterURL) ] ; 1499 AddFilesToHaikuImage system data firmware broadcom43xx b43-fwcutter 1500 : $(broadcomFWCutterFile) ; 1501 1502 # headers needed to compile firmware cutter 1503 local glibcDir = [ FDirName 1504 $(HAIKU_TOP) src system libroot posix glibc ] ; 1505 local byteswapHeader = [ FDirName $(glibcDir) string byteswap.h ] ; 1506 AddFilesToHaikuImage system data firmware broadcom43xx b43-fwcutter 1507 : $(byteswapHeader) ; 1508 local bitByteswapHeader = [ FDirName 1509 $(glibcDir) include arch x86 bits byteswap.h ] ; 1510 AddFilesToHaikuImage system data firmware broadcom43xx b43-fwcutter bits 1511 : $(bitByteswapHeader) ; 1512 1513 # file containing firmware 1514 local broadcom43xxFile ; 1515 broadcom43xxFile = [ DownloadFile wl_apsta-3.130.20.0.o 1516 : http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o ] ; 1517 AddFilesToHaikuImage system data firmware broadcom43xx 1518 : $(broadcom43xxFile) ; 1519 1520 # marvell88w8335 1521 local marvelArchive = malo-firmware-1.4.tgz ; 1522 local marvelURL = http://www.nazgul.ch/malo/$(marvelArchive) ; 1523 local marvelFile = [ DownloadFile $(marvelArchive) : $(marvelURL) ] ; 1524 AddFilesToHaikuImage system data firmware marvell88w8335 1525 : $(marvelFile) ; 1526 } 1527} 1528 1529 1530# WonderBrush 1531if [ IsOptionalHaikuImagePackageAdded WonderBrush ] { 1532 if $(TARGET_ARCH) != x86 { 1533 Echo "No optional package WonderBrush available for $(TARGET_ARCH)" ; 1534 } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 1535 Echo "No optional package WonderBrush available for gcc4" ; 1536 } else { 1537 InstallOptionalHaikuImagePackage WonderBrush-2.1.2.zip 1538 : $(baseURL)/WonderBrush-2.1.2-x86-gcc2-2008-11-08.zip 1539 : apps 1540 ; 1541 AddSymlinkToHaikuImage home config be Applications 1542 : /boot/apps/WonderBrush/WonderBrush ; 1543 } 1544} 1545 1546 1547# XZ-Utils 1548if [ IsOptionalHaikuImagePackageAdded XZ-Utils ] { 1549 if $(TARGET_ARCH) != x86 { 1550 Echo "No optional package XZ-Utils available for $(TARGET_ARCH)" ; 1551 } else { 1552 InstallOptionalHaikuImagePackage 1553 xz-utils-4.999.9-r1a2-x86-gcc4-2010-04-25-a.zip 1554 : $(baseURL)/xz-utils-4.999.9-r1a2-x86-gcc4-2010-04-25-a.zip 1555 : 1556 : 1557 : true 1558 ; 1559 InstallSourceArchive xz-utils-4.999.9_haiku-2010-04-29.tar.xz 1560 : $(baseSourceURL)/xz-utils-4.999.9_haiku-2010-04-29.tar.xz ; 1561 AddExpanderRuleToHaikuImage "application/x-xz" : .tar.xz 1562 : "tar -Jtvf \\0045s" 1563 : "tar -Jxvf \\0045s" 1564 ; 1565 AddExpanderRuleToHaikuImage "application/x-xz" : .txz 1566 : "tar -Jtvf \\0045s" 1567 : "tar -Jxvf \\0045s" 1568 ; 1569 AddExpanderRuleToHaikuImage "application/x-xz" : .xz 1570 : "echo \\0045s | sed 's/.xz\\\$//g'" 1571 : "xz -df \\0045s" 1572 ; 1573 } 1574} 1575 1576 1577# Yasm 1578if [ IsOptionalHaikuImagePackageAdded Yasm ] { 1579 if $(TARGET_ARCH) != x86 { 1580 Echo "No optional package Yasm available for $(TARGET_ARCH)" ; 1581 } else { 1582 InstallOptionalHaikuImagePackage 1583 yasm-0.8.0-r1a2-x86-gcc2-2010-04-21.zip 1584 : $(baseURL)/yasm-0.8.0-r1a2-x86-gcc2-2010-04-21.zip 1585 : 1586 ; 1587 InstallSourceArchive yasm-0.8.0_haiku-2010-04-29.tar.xz 1588 : $(baseSourceURL)/yasm-0.8.0_haiku-2010-04-29.tar.xz ; 1589 } 1590} 1591