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