350 lines
11 KiB
Plaintext
350 lines
11 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.
|
|
|
|
# Available Optional Packages:
|
|
# BeOSCompatibility - creates links within the system to support old apps
|
|
# Bluetooth - experimental Haiku components for Bluetooth
|
|
# Development - more complete dev environment (including autotools)
|
|
# DevelopmentBase - basic development environment (gcc, headers, libs,...)
|
|
# DevelopmentJava - JamVM, a Java Virtual machine, GNU Classpath, ECJ
|
|
# DevelopmentMin - development headers, libs, tools, from sources only
|
|
# DevelopmentPowerPC - Cross compiling environment for PowerPC
|
|
# FFMpeg - audio/video library
|
|
# FFMpeg-devel - FFMpeg development files
|
|
# Git - the distributed version control system
|
|
# NetFS - the native networked file system components
|
|
# UserlandFS - aids native file system development (like FUSE)
|
|
# WebPositive - native, WebKit-based web browser
|
|
# Welcome - introductory documentation to Haiku
|
|
# WifiFirmwareScriptData - data files needed by install-wifi-firmwares.sh
|
|
|
|
|
|
# dependencies between optional packages
|
|
OptionalPackageDependencies Development : DevelopmentBase ;
|
|
OptionalPackageDependencies DevelopmentBase : DevelopmentMin ;
|
|
OptionalPackageDependencies DevelopmentPowerPC : DevelopmentMin ;
|
|
OptionalPackageDependencies NetFS : UserlandFS ;
|
|
|
|
|
|
local baseURL = http://haiku-files.org/files/optional-packages ;
|
|
local hpkgBaseURL = http://haiku-files.org/files/hpkg ;
|
|
local baseSourceURL = http://haiku-files.org/files/sources ;
|
|
|
|
|
|
# BeBook
|
|
if [ IsOptionalHaikuImagePackageAdded BeBook ] {
|
|
AddHaikuImagePackages be_book ;
|
|
AddSymlinkToHaikuImage home Desktop
|
|
: /boot/system/documentation/BeBook/index.html
|
|
: BeBook ;
|
|
}
|
|
|
|
|
|
# BeOSCompatibility
|
|
if [ IsOptionalHaikuImagePackageAdded BeOSCompatibility ] {
|
|
if $(TARGET_ARCH) != x86 {
|
|
Echo "No optional package BeOSCompatibility available for"
|
|
"$(TARGET_ARCH)" ;
|
|
} else if $(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) >= 4 {
|
|
Echo "No optional package BeOSCompatibility available for gcc4" ;
|
|
} else {
|
|
Echo "Warning: Adding BeOS compatibility symlinks. This will go away."
|
|
"Please fix your apps!" ;
|
|
AddSymlinkToHaikuImage beos : ../system/apps ;
|
|
AddSymlinkToHaikuImage beos : ../system/bin ;
|
|
AddSymlinkToHaikuImage beos
|
|
: ../system/documentation ;
|
|
AddSymlinkToHaikuImage beos : ../system/settings/etc ;
|
|
AddSymlinkToHaikuImage beos : ../system/preferences ;
|
|
AddSymlinkToHaikuImage beos : ../system ;
|
|
AddDirectoryToHaikuImage var ;
|
|
AddSymlinkToHaikuImage var : /boot/system/var/log ;
|
|
AddSymlinkToHaikuImage var : /boot/system/cache/tmp ;
|
|
}
|
|
}
|
|
|
|
|
|
# Bluetooth stack
|
|
if [ IsOptionalHaikuImagePackageAdded Bluetooth ] {
|
|
# TODO: Make this an actual package!
|
|
# local bluetoothDrivers = h2generic ;
|
|
# AddDriversToHaikuImage bluetooth : $(bluetoothDrivers) ;
|
|
# AddFilesToHaikuImage system servers : bluetooth_server ;
|
|
# AddFilesToHaikuImage system lib : libbluetooth.so ;
|
|
# AddFilesToHaikuImage
|
|
# system add-ons kernel network protocols : l2cap ;
|
|
# AddFilesToHaikuImage system add-ons kernel bluetooth
|
|
# : btCoreData hci ;
|
|
# AddFilesToHaikuImage system preferences : Bluetooth ;
|
|
# AddFilesToHaikuImage system bin : bt_dev_info bt_discovery ;
|
|
# AddSymlinkToHaikuImage home config settings deskbar menu Preferences
|
|
# : /boot/system/preferences/Bluetooth ;
|
|
# if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ]
|
|
# && $(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) in 2 4 {
|
|
# local arch = $(TARGET_ARCH) ;
|
|
# local abi = gcc$(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) ;
|
|
# AddSymlinkToHaikuImage system develop lib
|
|
# : /system/lib libbluetooth.so ;
|
|
# }
|
|
}
|
|
|
|
|
|
# Development
|
|
if [ IsOptionalHaikuImagePackageAdded Development ] {
|
|
# auto tools and perl
|
|
AddHaikuImagePackages autoconf automake libtool perl texinfo ;
|
|
|
|
# some other build tools
|
|
AddHaikuImagePackages cmake pkgconfig scons ;
|
|
|
|
# devel packages for mandatory packages
|
|
local architectureObject ;
|
|
for architectureObject in [ MultiArchSubDirSetup ] {
|
|
on $(architectureObject) {
|
|
AddHaikuImagePackages curl_devel ffmpeg_devel freetype_devel
|
|
glu_devel jpeg_devel libpng_devel zlib_devel ;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
# DevelopmentBase
|
|
if [ IsOptionalHaikuImagePackageAdded DevelopmentBase ] {
|
|
# gcc and binutils (for all target architectures)
|
|
local architectureObject ;
|
|
for architectureObject in [ MultiArchSubDirSetup ] {
|
|
on $(architectureObject) {
|
|
AddHaikuImagePackages binutils gcc ;
|
|
}
|
|
}
|
|
|
|
# other commonly used tools
|
|
AddHaikuImagePackages bison cdrtools flex jam m4 make mkdepend yasm ;
|
|
}
|
|
|
|
|
|
# DevelopmentJava
|
|
if [ IsOptionalHaikuImagePackageAdded DevelopmentJava ] {
|
|
# TODO: Build actual packages!
|
|
# InstallOptionalHaikuImagePackage
|
|
# $(baseURL)/gnu-classpath-0.98-r1a3-x86-gcc4-2011-06-08.zip ;
|
|
# InstallOptionalHaikuImagePackage
|
|
# $(baseURL)/jamvm-1.5.4-r1a3-x86-gcc4-2011-06-08.zip ;
|
|
# AddSymlinkToHaikuImage common bin
|
|
# : /boot/common/bin/jamvm : java ;
|
|
# InstallOptionalHaikuImagePackage
|
|
# $(baseURL)/ecj-3.6.2-haiku-2011-06-08.zip ;
|
|
}
|
|
|
|
|
|
# DevelopmentMin
|
|
if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ]
|
|
&& ( $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 ) {
|
|
AddPackageFilesToHaikuImage system
|
|
:
|
|
haiku_devel.hpkg
|
|
haiku_$(TARGET_PACKAGING_ARCHS[2-])_devel.hpkg
|
|
makefile_engine.hpkg
|
|
:
|
|
nameFromMetaInfo
|
|
;
|
|
}
|
|
|
|
|
|
# DevelopmentPowerPC
|
|
if [ IsOptionalHaikuImagePackageAdded DevelopmentPowerPC ] {
|
|
# TODO: Build actual packages!
|
|
# InstallOptionalHaikuImagePackage
|
|
# $(baseURL)/gcc-ppc-4.6.2-x86-gcc4-2012-03-17.zip ;
|
|
# InstallOptionalHaikuImagePackage
|
|
# $(baseURL)/haiku-devlibs-ppc-gcc4-2012-03-18.zip ;
|
|
}
|
|
|
|
|
|
# FFMpeg
|
|
if [ IsOptionalHaikuImagePackageAdded FFMpeg ] {
|
|
local packages = ffmpeg speex libtheora libvorbis libogg libvpx ;
|
|
AddHaikuImagePackages $(packages) ;
|
|
}
|
|
|
|
|
|
# FFMpeg-devel
|
|
if [ IsOptionalHaikuImagePackageAdded FFMpeg-devel ] {
|
|
local packages = ffmpeg speex libtheora libvorbis libogg libvpx ;
|
|
AddHaikuImagePackages $(packages)_devel ;
|
|
}
|
|
|
|
|
|
# Git
|
|
if [ IsOptionalHaikuImagePackageAdded Git ] {
|
|
AddHaikuImagePackages git git_arch git_cvs git_daemon git_email git_svn ;
|
|
}
|
|
|
|
|
|
# NetFS network file system
|
|
if [ IsOptionalHaikuImagePackageAdded NetFS ] {
|
|
# TODO: Make this an actual package!
|
|
# # userlandfs module
|
|
# AddFilesToHaikuImage home config add-ons userlandfs
|
|
# : netfs ;
|
|
#
|
|
# # servers
|
|
# AddFilesToHaikuImage system servers : netfs_server ;
|
|
# AddFilesToHaikuImage system servers
|
|
# : authentication_server ;
|
|
#
|
|
# # tools
|
|
# AddFilesToHaikuImage system bin : netfs_config ;
|
|
# AddFilesToHaikuImage system bin : netfs_server_prefs ;
|
|
#
|
|
# #example settings for netfs_server
|
|
# local netfsServerSettingsFiles = <driver-settings>netfs-server ;
|
|
# SEARCH on $(netfsServerSettingsFiles)
|
|
# = [ FDirName $(HAIKU_TOP) src add-ons kernel file_systems netfs ] ;
|
|
# AddFilesToHaikuImage home config settings kernel drivers
|
|
# : $(netfsServerSettingsFiles) ;
|
|
#
|
|
# #userlandfs settings are needed for netfs_config to work (ioctls)
|
|
# local userlandfsServerSettingsFiles = <driver-settings>userlandfs ;
|
|
# SEARCH on $(userlandfsServerSettingsFiles)
|
|
# = [ FDirName $(HAIKU_TOP) src add-ons kernel file_systems userlandfs ] ;
|
|
# AddFilesToHaikuImage home config settings kernel drivers
|
|
# : $(userlandfsServerSettingsFiles) ;
|
|
}
|
|
|
|
|
|
# UserlandFS
|
|
if [ IsOptionalHaikuImagePackageAdded UserlandFS ] {
|
|
# TODO: Make this an actual package!
|
|
# local arch = $(TARGET_ARCH) ;
|
|
# local abi = gcc$(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) ;
|
|
#
|
|
# # kernel module
|
|
# AddFilesToHaikuImage system add-ons kernel file_systems
|
|
# : userlandfs ;
|
|
#
|
|
# # server
|
|
# AddFilesToHaikuImage system servers : userlandfs_server ;
|
|
#
|
|
# # libs
|
|
# local userlandfsLibs =
|
|
# libuserlandfs_beos_kernel.so
|
|
# libuserlandfs_haiku_kernel.so
|
|
# libuserlandfs_fuse.so
|
|
# ;
|
|
# AddFilesToHaikuImage system lib : $(userlandfsLibs) ;
|
|
#
|
|
# # development goodies
|
|
# if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] {
|
|
# if ! ( $(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) in 2 4 ) {
|
|
# Exit "Optional package UserlandFS: Unsupported GCC version:"
|
|
# $(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) ;
|
|
# }
|
|
#
|
|
# # library symlinks
|
|
# local lib ;
|
|
# for lib in $(userlandfsLibs) {
|
|
# AddSymlinkToHaikuImage develop abi $(arch) $(abi) lib
|
|
# : /system/lib/$(lib:BS) ;
|
|
# }
|
|
#
|
|
# # FUSE headers
|
|
# local fuseHeaders =
|
|
# fuse_common_compat.h
|
|
# fuse_common.h
|
|
# fuse_compat.h
|
|
# fuse.h
|
|
# fuse_lowlevel_compat.h
|
|
# fuse_lowlevel.h
|
|
# fuse_opt.h
|
|
# ;
|
|
# fuseHeaders = $(fuseHeaders:G=userlandfs!fuse) ;
|
|
# SEARCH on $(fuseHeaders)
|
|
# = [ FDirName $(HAIKU_TOP) headers private userlandfs fuse ] ;
|
|
# AddFilesToHaikuImage develop headers userlandfs fuse : $(fuseHeaders) ;
|
|
# }
|
|
}
|
|
|
|
|
|
# WebPositive
|
|
if [ IsOptionalHaikuImagePackageAdded WebPositive ] {
|
|
local architectureObject ;
|
|
for architectureObject in [ MultiArchSubDirSetup ] {
|
|
on $(architectureObject) {
|
|
if [ FIsBuildFeatureEnabled webpositive ] {
|
|
AddPackageFilesToHaikuImage system : webpositive.hpkg
|
|
: nameFromMetaInfo ;
|
|
InstallOptionalHaikuImagePackage
|
|
$(baseURL)/WebPositiveBookmarks-2013-11-10.zip
|
|
: home config settings WebPositive ;
|
|
break ;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
# Welcome
|
|
if [ IsOptionalHaikuImagePackageAdded Welcome ] {
|
|
AddPackageFilesToHaikuImage system : haiku_userguide.hpkg
|
|
: nameFromMetaInfo ;
|
|
AddPackageFilesToHaikuImage system : haiku_welcome.hpkg : nameFromMetaInfo ;
|
|
|
|
AddSymlinkToHaikuImage home Desktop : /boot/system/bin/welcome
|
|
: Welcome ;
|
|
AddSymlinkToHaikuImage home Desktop : /boot/system/bin/userguide
|
|
: User\ Guide ;
|
|
}
|
|
|
|
|
|
# WifiFirmwareScriptData
|
|
# This optional package is for people who build their own images & have wifi
|
|
# hardware that requires install-wifi-firmwares.sh & have no active network
|
|
# connection. This is not to be added to default images.
|
|
if [ IsOptionalHaikuImagePackageAdded WifiFirmwareScriptData ] {
|
|
# TODO: Make this an actual package!
|
|
# if $(TARGET_ARCH) != x86 {
|
|
# Echo "No optional package WifiFirmwareScriptData available for"
|
|
# $(TARGET_ARCH) ;
|
|
# } else {
|
|
# # broadcom43xx
|
|
# # firmware cutter
|
|
# local broadcomFWCutterArchive = b43-fwcutter-012.tar.bz2 ;
|
|
# local broadcomFWCutterURL =
|
|
# http://www.haiku-files.org/files/wifi-firmwares/b43/fwcutter/$(broadcomFWCutterArchive) ;
|
|
# local broadcomFWCutterFile = [ DownloadFile $(broadcomFWCutterArchive)
|
|
# : $(broadcomFWCutterURL) ] ;
|
|
# AddFilesToHaikuImage
|
|
# system data firmware broadcom43xx b43-fwcutter
|
|
# : $(broadcomFWCutterFile) ;
|
|
#
|
|
# # headers needed to compile firmware cutter
|
|
# local glibcDir = [ FDirName
|
|
# $(HAIKU_TOP) src system libroot posix glibc ] ;
|
|
# local byteswapHeader = [ FDirName $(glibcDir) string byteswap.h ] ;
|
|
# AddFilesToHaikuImage
|
|
# system data firmware broadcom43xx b43-fwcutter
|
|
# : $(byteswapHeader) ;
|
|
# local bitByteswapHeader = [ FDirName
|
|
# $(glibcDir) include arch x86 bits byteswap.h ] ;
|
|
# AddFilesToHaikuImage
|
|
# system data firmware broadcom43xx b43-fwcutter bits
|
|
# : $(bitByteswapHeader) ;
|
|
#
|
|
# # file containing firmware
|
|
# local broadcom43xxFile ;
|
|
# broadcom43xxFile = [ DownloadFile wl_apsta-3.130.20.0.o
|
|
# : http://www.haiku-files.org/files/wifi-firmwares/b43/wl_apsta-3.130.20.0.o ] ;
|
|
# AddFilesToHaikuImage system data firmware broadcom43xx
|
|
# : $(broadcom43xxFile) ;
|
|
#
|
|
# # marvell88w8335
|
|
# local marvellArchive = malo-firmware-1.4.tgz ;
|
|
# local marvellURL = http://www.haiku-files.org/files/wifi-firmwares/marvell/$(marvellArchive) ;
|
|
# local marvellFile = [ DownloadFile $(marvellArchive) : $(marvellURL) ] ;
|
|
# AddFilesToHaikuImage system data firmware marvell88w8335
|
|
# : $(marvellFile) ;
|
|
# }
|
|
}
|