# 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 # BeOSCompatibility # BePDF # Bluetooth # CVS # Development # Firefox # KeymapSwitcher # LibLayout # Links # NetSurf # OpenSound # OpenSSH # OpenSSL # P7zip # Pe # Perl # Subversion # Tar # UserlandFS # Vision # VLC # Welcome # WonderBrush # Yasm # 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 : system documentation ; AddSymlinkToHaikuImage home Desktop : /boot/system/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 ; } } # BeOSCompatibility if [ IsOptionalHaikuImagePackageAdded BeOSCompatibility ] { 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/etc ; AddSymlinkToHaikuImage beos : ../system/preferences ; AddSymlinkToHaikuImage beos : ../system ; } # 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.1b1.x86 : http://haiku-files.org/files/optional-packages/BePDF-1.1.1b1.x86.zip : apps ; AddSymlinkToHaikuImage home config be Applications : /boot/apps/BePDF/BePDF ; } } # Bluetooth stack if [ IsOptionalHaikuImagePackageAdded Bluetooth ] { local bluetoothDrivers = h2generic ; AddDriversToHaikuImage bluetooth : $(bluetoothDrivers) ; AddFilesToHaikuImage system servers : bluetooth_server ; AddFilesToHaikuImage system lib : libbluetooth.so ; AddFilesToHaikuImage system add-ons kernel network devices : bluetooth ; AddFilesToHaikuImage system add-ons kernel network protocols : l2cap ; AddFilesToHaikuImage system add-ons kernel bluetooth : btCoreData ; AddFilesToHaikuImage system preferences : Bluetooth ; AddFilesToHaikuImage system bin : bt_dev_info bt_discovery ; AddSymlinkToHaikuImage home config be Preferences : /boot/system/preferences/Bluetooth ; 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 : crti.o crtn.o init_term_dyn.o start_dyn.o ; # kernel AddFilesToHaikuImage develop lib x86 : kernel.so : _KERNEL_ ; # library symlinks local lib ; for lib in $(SYSTEM_LIBS) libglut.so { AddSymlinkToHaikuImage develop lib x86 : /system/lib/$(lib:BS) ; } # static libraries AddFilesToHaikuImage develop lib x86 : libncurses.a ; # the POSIX error code mapper library AddFilesToHaikuImage develop lib x86 : libposix_error_mapper.a ; # cc and c++ wrapper scripts AddFilesToHaikuImage system bin : cc c++ ; # mkdepend build tool, which is part of the Haiku source tree # (same as make, but make is already included independent of the # Development package) AddFilesToHaikuImage system bin : mkdepend ; # skeleton makefile and makefile-engine local makefileEngineFiles = makefile makefile-engine ; SEARCH on $(makefileEngineFiles) = [ FDirName $(HAIKU_TOP) data develop ] ; AddFilesToHaikuImage develop etc : $(makefileEngineFiles) ; # headers AddHeaderDirectoryToHaikuImage gnu : 3rdparty ; AddHeaderDirectoryToHaikuImage os ; AddHeaderDirectoryToHaikuImage posix ; # add _G_config.h to posix/ SEARCH on
_G_config.h = [ FDirName $(HAIKU_TOP) headers glibc ] ; AddFilesToHaikuImage develop headers posix :
_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 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 : ; AddHeaderDirectoryToHaikuImage cpp ; } if $(HAIKU_GCC_VERSION[1]) = 4 { # gcc and binutils local baseURL = http://haiku.mlotz.ch ; InstallOptionalHaikuImagePackage gcc-4.3.3-haiku-090313 : $(baseURL)/gcc-4.3.3-haiku-090313.zip : ; # symlink cpp to g++'s headers AddSymlinkToHaikuImage develop headers : /boot/develop/tools/gnupro/include/g++ : cpp ; } # other tools local baseURL = http://haiku-files.org/files/optional-packages ; 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 : ; } # 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 { InstallOptionalHaikuImagePackage BeZillaBrowser-2.0.0.21pre-haiku-gcc4-x86-09-03-01 : http://haiku-files.org/files/optional-packages/BeZillaBrowser-2.0.0.21pre-haiku-gcc4-x86-09-03-01.zip : apps ; AddSymlinkToHaikuImage home config be Applications : /boot/apps/BeZillaBrowser/BeZillaBrowser ; } else { InstallOptionalHaikuImagePackage BeZillaBrowser-gcc2-20090218 : http://bezilla.beuser.de/builds/BeZillaBrowser-gcc2-20090218.zip : apps ; AddSymlinkToHaikuImage home config be Applications : /boot/apps/BeZillaBrowser/BeZillaBrowser ; } } # KeymapSwitcher if [ IsOptionalHaikuImagePackageAdded KeymapSwitcher ] { if $(TARGET_ARCH) != x86 { Echo "No optional package KeymapSwitcher available for $(TARGET_ARCH)" ; } else if $(HAIKU_GCC_VERSION[1]) >= 4 && $(isHybridBuild) = 0 { Echo "No optional package KeymapSwitcher available for gcc4" ; } else { local baseURL = http://downloads.sourceforge.net/dotmatrix4beos ; InstallOptionalHaikuImagePackage KeymapSwitcher-gcc2-20090409 : $(baseURL)/HaikuKeymapSwitcher-package-1.0.2.zip : ; AddSymlinkToHaikuImage home config be Desktop\ Applets : /boot/common/bin/KeymapSwitcher ; } } # LibLayout library if [ IsOptionalHaikuImagePackageAdded LibLayout ] { if $(TARGET_ARCH) != x86 { Echo "No optional package LibLayout available for $(TARGET_ARCH)" ; } else if $(HAIKU_GCC_VERSION[1]) >= 4 { Echo "No optional package LibLayout available for gcc4" ; } else { local baseURL = http://haiku-files.org/files/optional-packages ; InstallOptionalHaikuImagePackage liblayout-1.4.0-gcc2-2009-03-08 : $(baseURL)/liblayout-1.4.0-gcc2-2009-03-08.zip : ; } } # 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 { InstallOptionalHaikuImagePackage $(HAIKU_OPENSSL_PACKAGE) : $(HAIKU_OPENSSL_URL) : ; } } # 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 { local baseURL = http://haiku-files.org/files/optional-packages ; if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage pe-2.4.1-x86-rc3-gcc4-2009-03-27 : $(baseURL)/pe-2.4.1-x86-rc3-gcc4-2009-03-27.zip : apps ; } else { InstallOptionalHaikuImagePackage pe-2.4.2-x86-gcc2-2009-04-14 : $(baseURL)/pe-2.4.2-x86-gcc2-2009-04-14.zip : apps ; } AddSymlinkToHaikuImage home config be Applications : /boot/apps/Pe/Pe ; AddSymlinkToHaikuImage common 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 ; } } # Tar if [ IsOptionalHaikuImagePackageAdded Tar ] { if $(TARGET_ARCH) != x86 { Echo "No optional package Tar available for $(TARGET_ARCH)" ; } else { local baseURL = http://haiku-files.org/files/optional-packages ; InstallOptionalHaikuImagePackage tar-1.21-gcc2-2009-02-08 : $(baseURL)/tar-1.21-gcc2-2009-02-08.zip : ; } } # UserlandFS if [ IsOptionalHaikuImagePackageAdded UserlandFS ] { # 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 Development ] { # library symlinks local lib ; for lib in $(userlandfsLibs) { AddSymlinkToHaikuImage develop lib x86 : /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) ; } } # 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-090326-gcc4 : http://vision.sf.net/Vision-0.9.7-H-090326-gcc4.zip : apps ; AddSymlinkToHaikuImage home config be Applications : /boot/apps/Vision-0.9.7-H-090326/Vision ; } else { InstallOptionalHaikuImagePackage Vision-0.9.7-H-090326 : http://vision.sf.net/Vision-0.9.7-H-090326.zip : apps ; AddSymlinkToHaikuImage home config be Applications : /boot/apps/Vision-0.9.7-H-090326/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 { local baseURL = http://haiku-files.org/files/optional-packages ; InstallOptionalHaikuImagePackage VLC-0.8.6d : $(baseURL)/vlc-0.8.6d-gcc2-2009-04-18.zip : apps ; AddSymlinkToHaikuImage home config be Applications : "/boot/apps/vlc-0.8.6d/VLC media player" ; AddSymlinkToHaikuImage common bin : "/boot/apps/vlc-0.8.6d/VLC media player" : vlc ; } } # Welcome if [ IsOptionalHaikuImagePackageAdded Welcome ] { CopyDirectoryToHaikuImage system documentation : [ FDirName $(HAIKU_TOP) docs welcome ] : welcome : -x .svn ; CopyDirectoryToHaikuImage system documentation : [ FDirName $(HAIKU_TOP) docs userguide ] : userguide : -x .svn ; AddFilesToHaikuImage system documentation : [ FDirName $(HAIKU_TOP) docs Haiku-doc.css ] : Haiku-doc.css ; AddSymlinkToHaikuImage home Desktop : /boot/system/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 : ; } }