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