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