haiku/build/jam/OptionalPackages
Michael Lotz 1c433de84c * Always install the "other tools" as part of the development optional package.
These all work on pure GCC4 images as well because they do not use any of our
  C++ APIs.
* Remove the GCC4 package from hybrid installs though, as it's not usable
  without proper setup. Also the trick with rewriting the symlink obviously
  doesn't work because symlinks are done way earlier than unzipping the optional
  packages when building the image.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29158 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-02-08 12:40:16 +00:00

540 lines
15 KiB
Plaintext

# This file defines the optional packages that can be added to the Haiku image.
# It is directly included from HaikuImage -- all variables defined there can
# be used
# Detect a hybrid GCC2/GCC4 image and disable the checks for unavailable GCC4
# packages. (It does not matter if a package was built with either compiler,
# the system should have the respective other system libs.)
local isHybridBuild = 0 ;
if $(HAIKU_ADD_ALTERNATIVE_GCC_LIBS) && $(HAIKU_ALTERNATIVE_GCC_OUTPUT_DIR) {
isHybridBuild = 1 ;
}
# Available Optional Packages:
# APR
# APR-util
# Beam
# BeBook
# BeHappy
# BePDF
# Bluetooth
# CVS
# Development
# Firefox
# Links
# NetSurf
# OpenSound
# OpenSSH
# OpenSSL
# P7zip
# Pe
# Perl
# Subversion
# Vision
# VLC
# Welcome
# WonderBrush
# Yasm
# package dependencies
OptionalPackageDependencies APR-util : APR ;
OptionalPackageDependencies BeHappy : BeBook NetSurf ;
OptionalPackageDependencies Development : Perl ;
OptionalPackageDependencies NetSurf : OpenSSL ;
OptionalPackageDependencies OpenSSH : OpenSSL ;
OptionalPackageDependencies Subversion : OpenSSL ;
# APR
if [ IsOptionalHaikuImagePackageAdded APR ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package APR available for $(TARGET_ARCH)" ;
} else {
local baseURL = http://haiku-files.org/files/optional-packages ;
InstallOptionalHaikuImagePackage apr-0.9.17-gcc2-2008-05-20
: $(baseURL)/apr-0.9.17-gcc2-2008-05-20.zip
:
;
}
}
# APR-util
if [ IsOptionalHaikuImagePackageAdded APR-util ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package APR-util available for $(TARGET_ARCH)" ;
} else {
local baseURL = http://haiku-files.org/files/optional-packages ;
InstallOptionalHaikuImagePackage apr-util-0.9.15-gcc2-2008-05-15
: $(baseURL)/apr-util-0.9.15-gcc2-2008-05-15.zip
:
;
}
}
# Beam
if [ IsOptionalHaikuImagePackageAdded Beam ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package Beam available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
Echo "No optional package Beam available for gcc4" ;
} else {
InstallOptionalHaikuImagePackage Beam
# : http://dl.hirschkaefer.de/beam/beam-1-1-2-bone-with-libs.zip
: http://dl.hirschkaefer.de/beam/beam-1-1-2-r5-with-libs.zip
: apps
;
AddSymlinkToHaikuImage home config be Applications
# : /boot/apps/beam-1-1-2-bone-with-libs/Beam ;
: /boot/apps/beam-1-1-2-r5-with-libs/Beam ;
}
}
# BeBook
if [ IsOptionalHaikuImagePackageAdded BeBook ] {
InstallOptionalHaikuImagePackage bebook_20081026
: http://haiku-files.org/files/optional-packages/bebook_20081026.zip
: beos documentation
;
AddSymlinkToHaikuImage home Desktop
: /boot/beos/documentation/bebook/index.html : BeBook ;
}
# BeHappy
if [ IsOptionalHaikuImagePackageAdded BeHappy ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package BeHappy available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
Echo "No optional package BeHappy available for gcc4" ;
} else {
InstallOptionalHaikuImagePackage BeHappy
: http://revolf.free.fr/beos/behappy-bone.zip
:
;
AddSymlinkToHaikuImage home config be Applications
: /boot/apps/BeHappy/BeHappy ;
}
}
# BePDF
if [ IsOptionalHaikuImagePackageAdded BePDF ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package BePDF available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
Echo "No optional package BePDF available for gcc4" ;
} else {
InstallOptionalHaikuImagePackage BePDF-1.1.0b1.x86
: http://haiku-files.org/files/optional-packages/BePDF-1.1.0b1.x86.zip
: apps
;
AddSymlinkToHaikuImage home config be Applications
: /boot/apps/BePDF/BePDF ;
}
}
# Bluetooth stack
if [ IsOptionalHaikuImagePackageAdded Bluetooth ] {
local bluetoothDrivers = h2generic ;
AddDriversToHaikuImage bluetooth : $(bluetoothDrivers) ;
AddFilesToHaikuImage beos system servers : bluetooth_server ;
AddFilesToHaikuImage beos system lib : libbluetooth.so ;
AddFilesToHaikuImage beos bin : bt_dev_info bt_discovery ;
if [ IsOptionalHaikuImagePackageAdded Development ] {
AddSymlinkToHaikuImage develop lib x86 : /system/lib/libbluetooth.so ;
}
}
# CVS
if [ IsOptionalHaikuImagePackageAdded CVS ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package CVS available for $(TARGET_ARCH)" ;
} else {
local baseURL = http://haiku-files.org/files/optional-packages ;
InstallOptionalHaikuImagePackage cvs-1.12.13-gcc2-2008-12-04
: $(baseURL)/cvs-1.12.13-gcc2-2008-12-04.zip
:
;
}
}
# Development
if [ IsOptionalHaikuImagePackageAdded Development ] && $(TARGET_ARCH) = x86 {
# glue code
AddFilesToHaikuImage develop lib x86
: <src!system!glue!arch!x86>crti.o <src!system!glue!arch!x86>crtn.o
<src!system!glue>init_term_dyn.o <src!system!glue>start_dyn.o ;
# kernel
AddFilesToHaikuImage develop lib x86 : kernel.so : _KERNEL_ ;
# library symlinks
local lib ;
for lib in $(BEOS_SYSTEM_LIBS) libglut.so {
AddSymlinkToHaikuImage develop lib x86 : /system/lib/$(lib:BS) ;
}
# static libraries
AddFilesToHaikuImage develop lib x86 : libncurses.a ;
# cc and c++ wrapper scripts
AddFilesToHaikuImage beos bin : cc c++ ;
# headers
AddHeaderDirectoryToHaikuImage gnu : 3rdparty ;
AddHeaderDirectoryToHaikuImage os ;
AddHeaderDirectoryToHaikuImage posix ;
# add _G_config.h to posix/
SEARCH on <header>_G_config.h = [ FDirName $(HAIKU_TOP) headers glibc ] ;
AddFilesToHaikuImage develop headers posix : <header>_G_config.h ;
# create be -> os symlink for now
AddSymlinkToHaikuImage develop headers : os : be ;
# BSD compatibility headers
AddHeaderDirectoryToHaikuImage compatibility bsd : bsd ;
# third party libs headers
AddHeaderDirectoryToHaikuImage libs freetype2 : 3rdparty ;
AddHeaderDirectoryToHaikuImage libs iconv : 3rdparty ;
AddHeaderDirectoryToHaikuImage libs ncurses : 3rdparty ;
AddHeaderDirectoryToHaikuImage libs png : 3rdparty ;
AddHeaderDirectoryToHaikuImage libs zlib : 3rdparty ;
if $(HAIKU_GCC_VERSION[1]) > 2 {
# gcc 4
# symlink cpp to g++'s headers
AddSymlinkToHaikuImage develop headers
: /boot/develop/tools/gnupro/include/g++ : cpp ;
} else {
# gcc 2.95.3
AddHeaderDirectoryToHaikuImage cpp ;
}
if $(HAIKU_GCC_VERSION[1]) = 2 || $(isHybridBuild) = 1 {
# gcc and binutils
local baseURL = http://haiku-files.org/files/optional-packages ;
InstallOptionalHaikuImagePackage gcc-2.95.3-haiku-081024
: $(baseURL)/gcc-2.95.3-haiku-081024.zip
:
;
}
# other tools
InstallOptionalHaikuImagePackage autoconf-2.63-gcc2-2008-11-05
: $(baseURL)/autoconf-2.63-gcc2-2008-11-05.zip
:
;
InstallOptionalHaikuImagePackage automake-1.10.1-gcc2-2008-11-06
: $(baseURL)/automake-1.10.1-gcc2-2008-11-06.zip
:
;
InstallOptionalHaikuImagePackage bison-2.4-gcc2-2008-11-09
: $(baseURL)/bison-2.4-gcc2-2008-11-09.zip
:
;
InstallOptionalHaikuImagePackage flex-2.5.35-gcc2-2008-11-09
: $(baseURL)/flex-2.5.35-gcc2-2008-11-09.zip
:
;
InstallOptionalHaikuImagePackage jam-haiku-gcc2-2008-03-27-2
: $(baseURL)/jam-haiku-gcc2-2008-03-27-2.zip
:
;
InstallOptionalHaikuImagePackage libtool-2.2.6a-gcc2-2008-11-09
: $(baseURL)/libtool-2.2.6a-gcc2-2008-11-09.zip
:
;
InstallOptionalHaikuImagePackage m4-1.4.12-gcc2-2008-11-04
: $(baseURL)/m4-1.4.12-gcc2-2008-11-04.zip
:
;
InstallOptionalHaikuImagePackage texinfo-4.13a-gcc2-2008-11-09
: $(baseURL)/texinfo-4.13a-gcc2-2008-11-09.zip
:
;
if $(HAIKU_GCC_VERSION[1]) = 4 {
# gcc and binutils
local baseURL = http://haiku.mlotz.ch ;
InstallOptionalHaikuImagePackage gcc-4.3.3-haiku-090129
: $(baseURL)/gcc-4.3.3-haiku-090129.zip
:
;
}
}
# Firefox web browser
if [ IsOptionalHaikuImagePackageAdded Firefox ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package Firefox available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
Echo "No optional package Firefox available for gcc4" ;
} else {
InstallOptionalHaikuImagePackage Firefox-2.0.0.17
: http://www.yellowbites.com/downloads/Firefox-2.0.0.17.zip
: apps
;
AddSymlinkToHaikuImage home config be Applications
: /boot/apps/Firefox/Firefox ;
}
}
# Links web browser
if [ IsOptionalHaikuImagePackageAdded Links ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package Links available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
Echo "No optional package Links available for gcc4" ;
} else {
InstallOptionalHaikuImagePackage Links
: http://revolf.free.fr/beos/links-beos-bin.zip
:
;
AddSymlinkToHaikuImage home config be Applications
: /boot/home/config/bin/links ;
}
}
# NetSurf web browser
if [ IsOptionalHaikuImagePackageAdded NetSurf ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package NetSurf available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
Echo "No optional package NetSurf available for gcc4" ;
} else {
InstallOptionalHaikuImagePackage NetSurf
: http://revolf.free.fr/beos/netsurf-bone.zip
:
;
AddSymlinkToHaikuImage home config be Applications
: /boot/apps/netsurf/NetSurf ;
}
}
# OpenSound drivers
if [ IsOptionalHaikuImagePackageAdded OpenSound ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package OpenSound available for $(TARGET_ARCH)" ;
} else {
InstallOptionalHaikuImagePackage OpenSound
: http://www.yellowbites.com/downloads/OpenSound_Haiku20080621.zip
:
;
}
#UnzipArchiveToHaikuImage home : data/vv.mp3.zip : 0 ;
}
# OpenSSH
if [ IsOptionalHaikuImagePackageAdded OpenSSH ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package OpenSSH available for $(TARGET_ARCH)" ;
} else {
if ! $(HAIKU_IMAGE_HOST_NAME) {
Exit "Optional package OpenSSH requires the HAIKU_IMAGE_HOST_NAME"
"variable to be set!" ;
}
local baseURL = http://haiku-files.org/files/optional-packages ;
InstallOptionalHaikuImagePackage openssh-5.0p1-gcc2-2008-05-04-1
: $(baseURL)/openssh-5.0p1-gcc2-2008-05-04-1.zip
:
;
AddUserToHaikuImage sshd : 1001 : 100 : /var/empty : /bin/true
: "sshd user" ;
}
}
# OpenSSL
if [ IsOptionalHaikuImagePackageAdded OpenSSL ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package OpenSSL available for $(TARGET_ARCH)" ;
} else {
local baseURL = http://haiku-files.org/files/optional-packages ;
InstallOptionalHaikuImagePackage openssl-0.9.8j-gcc2-2009-01-28
: $(baseURL)/openssl-0.9.8j-gcc2-2009-01-28.zip
:
;
}
}
# P7zip
if [ IsOptionalHaikuImagePackageAdded P7zip ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package P7zip available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
Echo "No optional package P7zip available for gcc4" ;
} else {
InstallOptionalHaikuImagePackage p7zip-4.61-gcc2-2008-12-03
: http://haiku-files.org/files/optional-packages/p7zip-4.61-gcc2-2008-12-03.zip
:
;
actions BuildHaikuImageExpanderRules
{
echo "\"application/x-7z-compressed\"\t.7z\t\"7za l \0045s\"\t\"7za x -y \0045s\"" > $(1)
}
Always expander.rules ;
MakeLocate expander.rules : $(HAIKU_COMMON_PLATFORM_OBJECT_DIR) ;
BuildHaikuImageExpanderRules expander.rules ;
AddFilesToHaikuImage home config etc : expander.rules ;
}
}
# Pe text editor
if [ IsOptionalHaikuImagePackageAdded Pe ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package Pe available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
Echo "No optional package Pe available for gcc4" ;
} else {
InstallOptionalHaikuImagePackage pe-2.4.1-x86-rc3
: http://www.yellowbites.com/downloads/pe-2.4.1-x86.zip
: apps
;
AddSymlinkToHaikuImage home config be Applications
: /boot/apps/Pe/Pe ;
AddSymlinkToHaikuImage home config bin
: /boot/apps/Pe/lpe ;
}
}
# Perl
if [ IsOptionalHaikuImagePackageAdded Perl ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package Perl available for $(TARGET_ARCH)" ;
} else {
local baseURL = http://haiku-files.org/files/optional-packages ;
InstallOptionalHaikuImagePackage perl-5.10.0-gcc2-2008-10-29
: $(baseURL)/perl-5.10.0-gcc2-2008-10-29.zip
:
;
}
}
# Subversion
if [ IsOptionalHaikuImagePackageAdded Subversion ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package Subversion available for $(TARGET_ARCH)" ;
} else {
InstallOptionalHaikuImagePackage Subversion
: http://haiku.mlotz.ch/subversion-1.4.6-haiku-20080628.zip
: home
;
}
}
# Vision
if [ IsOptionalHaikuImagePackageAdded Vision ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package Vision available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
InstallOptionalHaikuImagePackage Vision-0.9.7-H-25012009-gcc4
: http://vision.sf.net/Vision-0.9.7-H-25012009-gcc4.zip
: apps
;
AddSymlinkToHaikuImage home config be Applications
: /boot/apps/Vision-0.9.7-H-25012009/Vision ;
} else {
InstallOptionalHaikuImagePackage Vision-0.9.7-H-25012009
: http://vision.sf.net/Vision-0.9.7-H-25012009.zip
: apps
;
AddSymlinkToHaikuImage home config be Applications
: /boot/apps/Vision-0.9.7-H-25012009/Vision ;
}
}
# VLC media player
if [ IsOptionalHaikuImagePackageAdded VLC ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package VLC available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
Echo "No optional package VLC available for gcc4" ;
} else {
InstallOptionalHaikuImagePackage VLC-0.8.6c
: http://www.yellowbites.com/downloads/vlc-0.8.6c.zip
: apps
;
AddSymlinkToHaikuImage home config be Applications
: "/boot/apps/vlc-0.8.6c/VLC media player" ;
AddSymlinkToHaikuImage common bin
: "/boot/apps/vlc-0.8.6c/VLC media player" : vlc ;
}
}
# Welcome
if [ IsOptionalHaikuImagePackageAdded Welcome ] {
CopyDirectoryToHaikuImage beos documentation
: [ FDirName $(HAIKU_TOP) docs welcome ]
: welcome : -x .svn ;
CopyDirectoryToHaikuImage beos documentation
: [ FDirName $(HAIKU_TOP) docs userguide ]
: userguide : -x .svn ;
AddSymlinkToHaikuImage home Desktop
: /boot/beos/documentation/welcome/welcome.html : Welcome ;
}
# WonderBrush
if [ IsOptionalHaikuImagePackageAdded WonderBrush ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package WonderBrush available for $(TARGET_ARCH)" ;
} else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 {
Echo "No optional package WonderBrush available for gcc4" ;
} else {
local baseURL = http://www.yellowbites.com/downloads ;
InstallOptionalHaikuImagePackage WonderBrush-2.1.2-Haiku
: $(baseURL)/WonderBrush-2.1.2-gcc2-x86-Haiku.zip
: apps
;
AddSymlinkToHaikuImage home config be Applications
: /boot/apps/WonderBrush/WonderBrush ;
}
}
# Yasm
if [ IsOptionalHaikuImagePackageAdded Yasm ] {
if $(TARGET_ARCH) != x86 {
Echo "No optional package Yasm available for $(TARGET_ARCH)" ;
} else {
local baseURL = http://haiku-files.org/files/optional-packages ;
InstallOptionalHaikuImagePackage yasm-0.7.2-gcc2-2008-11-25
: $(baseURL)/yasm-0.7.2-gcc2-2008-11-25.zip
:
;
}
}