# 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 ; if $(HAIKU_ADD_ALTERNATIVE_GCC_LIBS) && $(HAIKU_ALTERNATIVE_GCC_OUTPUT_DIR) { isHybridBuild = 1 ; } # Available Optional Packages: # ABI-compliance-checker - tool for checking ABI compatibility between libs # APR - support libraries used for example by Subversion # APR-util - Apache portable runtime utility library # BasicCommandLineTools - basic commandline tools # Beam - powerful native e-mail client # BeBook - the classic BeOS API documentation # BeHappy - special documentation (i.e. BeBook) browser # BeOSCompatibility - creates links within the system to support old apps # BePDF - native PDF reader # BeZillaBrowser - fork of Mozilla's 1.8 branch. # Bluetooth - experimental Haiku components for Bluetooth # CDRecord - the command line CD writing tools # Clockwerk - native audio/video compositing # CLucene - indexed file search # Curl - a client that groks URLs # CMake - cross platform make # CVS - the version control system # Development - more complete dev environment (including autotools) # DevelopmentBase - basic development environment (gcc, headers, libs,...) # DevelopmentMin - development headers, libs, tools, from sources only # Expat - XML parsing libraries # Firefox - the webbrowser NOTE: will be removed soon. # Git - the distributed version control system # ICU-devel - the headers for ICU (for development) # KeymapSwitcher - Desktop utility # LibIconv - text encoding conversion library # LibLayout - GCC2 package needed by some BeOS apps to compile # LibXML2 - the XML support libary # Links - the web browser # Mercurial - the distributed version control system # Nano - the command line text editor # Neon - support libraries used for example by SVN # NetFS - the native networked file system components # NetSurf - the web browser # OCaml - the Objective Caml language # OpenSound - additional audio driver package # OpenSSH - the secure shell # OpenSSL - secure sockets library # P7zip - file archiving utility # PCRE - the (Perl-compatible) regex engine # Pe - the powerful native Programmer's Editor # Perl - the scripting language # Python - the scripting language # Rsync - remote directory synchronization # SQLite - the database implementation # Subversion - the version control system # Tar - archiving utility # UserlandFS - aids native file system development (like FUSE) # Vim - the command line text editor # Vision - powerful native IRC client # VLC - the multi media player with native interface # Welcome - introductory documentation to Haiku # WifiFirmwareScriptData - data files needed by install-wifi-firmwares.sh # WonderBrush - native graphics application # Yasm - the assembler utility local baseURL = http://haiku-files.org/files/optional-packages ; # ABI-compliance-checker if [ IsOptionalHaikuImagePackageAdded ABI-compliance-checker ] { if $(HAIKU_GCC_VERSION[1]) < 4 && ! $(isHybridBuild) { Echo "No optional package ABI-compliance-checker for gcc2" ; } else { InstallOptionalHaikuImagePackage ABI-compliance-checker-1.12-noarch-gcc4-2010-02-01.zip : $(baseURL)/ABI-compliance-checker-1.12-noarch-gcc4-2010-02-01.zip ; } } # APR if [ IsOptionalHaikuImagePackageAdded APR ] { if $(TARGET_ARCH) != x86 { Echo "No optional package APR available for $(TARGET_ARCH)" ; } else { InstallOptionalHaikuImagePackage apr-1.3.9-x86-gcc2-2009-10-18.zip : $(baseURL)/apr-1.3.9-x86-gcc2-2009-10-18.zip : : true ; } } # APR-util if [ IsOptionalHaikuImagePackageAdded APR-util ] { if $(TARGET_ARCH) != x86 { Echo "No optional package APR-util available for $(TARGET_ARCH)" ; } else { InstallOptionalHaikuImagePackage apr-util-1.3.9-r1a1-x86-gcc2-2009-08-29.zip : $(baseURL)/apr-util-1.3.9-r1a1-x86-gcc2-2009-08-29.zip : : true ; } } # BasicCommandLineTools if [ IsOptionalHaikuImagePackageAdded BasicCommandLineTools ] { if $(TARGET_ARCH) != x86 { Echo "No optional package BasicCommandLineTools available for $(TARGET_ARCH)" ; } else { # sed InstallOptionalHaikuImagePackage sed-4.2.1-r1a1-x86-gcc2-2009-08-30.zip : $(baseURL)/sed-4.2.1-r1a1-x86-gcc2-2009-08-30.zip : : true ; } } # 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) { Echo "No optional package Beam available for gcc4" ; } else { InstallOptionalHaikuImagePackage Beam-1.2alpha.zip : $(baseURL)/Beam-1.2alpha-x86-gcc2-2009-09-29.zip : apps ; AddSymlinkToHaikuImage home config be Applications : /boot/apps/beam-1.2alpha-haiku/Beam ; } } # BeBook if [ IsOptionalHaikuImagePackageAdded BeBook ] { InstallOptionalHaikuImagePackage bebook_20081026.zip : $(baseURL)/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) { Echo "No optional package BeHappy available for gcc4" ; } else { InstallOptionalHaikuImagePackage BeHappy-1.0.6-x86-gcc2-2008-10-16.zip : $(baseURL)/BeHappy-1.0.6-x86-gcc2-2008-10-16.zip : ; AddSymlinkToHaikuImage home config be Applications : /boot/apps/BeHappy/BeHappy ; } } # BeOSCompatibility if [ IsOptionalHaikuImagePackageAdded BeOSCompatibility ] { if $(TARGET_ARCH) != x86 { Echo "No optional package BeOSCompatibility available for $(TARGET_ARCH)" ; } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { 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 : ../common/etc ; AddSymlinkToHaikuImage beos : ../system/preferences ; AddSymlinkToHaikuImage beos : ../system ; AddDirectoryToHaikuImage var ; AddSymlinkToHaikuImage var : /boot/common/var/log ; AddSymlinkToHaikuImage var : /boot/common/cache/tmp ; } } # 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) { Echo "No optional package BePDF available for gcc4" ; } else { InstallOptionalHaikuImagePackage BePDF-1.1.1b2-r1a1-x86-gcc2-2009-09-03.zip : $(baseURL)/BePDF-1.1.1b2-r1a1-x86-gcc2-2009-09-03.zip : apps ; AddSymlinkToHaikuImage home config be Applications : /boot/apps/BePDF/BePDF ; } } # BeZillaBrowser if [ IsOptionalHaikuImagePackageAdded BeZillaBrowser ] { if $(TARGET_ARCH) != x86 { Echo "No optional package BeZillaBrowser available for $(TARGET_ARCH)" ; } else if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage BeZillaBrowser-2.0.0.22pre-x86-gcc4-2010-01-27.zip : $(baseURL)/BeZillaBrowser-2.0.0.22pre-x86-gcc4-2010-01-27.zip : ; AddSymlinkToHaikuImage home config be Applications : /boot/apps/BeZillaBrowser/BeZillaBrowser ; } else { InstallOptionalHaikuImagePackage BeZillaBrowser-2.0.0.22pre-x86-gcc2-2010-01-27.zip : $(baseURL)/BeZillaBrowser-2.0.0.22pre-x86-gcc2-2010-01-27.zip : ; AddSymlinkToHaikuImage home config be Applications : /boot/apps/BeZillaBrowser/BeZillaBrowser ; } } # 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 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 be Preferences : /boot/system/preferences/Bluetooth ; if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] && $(HAIKU_GCC_VERSION[1]) in 2 4 { local arch = $(TARGET_ARCH) ; local abi = gcc$(HAIKU_GCC_VERSION[1]) ; AddSymlinkToHaikuHybridImage develop abi $(arch) $(abi) lib : /system/lib libbluetooth.so : : true ; } } # Bzip if [ IsOptionalHaikuImagePackageAdded Bzip ] { if $(TARGET_ARCH) != x86 { Echo "No optional package Bzip available for $(TARGET_ARCH)" ; } else { InstallOptionalHaikuImagePackage bzip2-1.0.5-x86-gcc2-2009-12-27.zip : $(baseURL)/bzip2-1.0.5-x86-gcc2-2009-12-27.zip : : true ; } } # CDRecord if [ IsOptionalHaikuImagePackageAdded CDRecord ] { if $(TARGET_ARCH) != x86 { Echo "No optional package CDRecord available for $(TARGET_ARCH)" ; } else { InstallOptionalHaikuImagePackage cdrecord-2.01.01a63-r1a1-x86-gcc2-2009-08-28.zip : $(baseURL)/cdrecord-2.01.01a63-r1a1-x86-gcc2-2009-08-28.zip : ; } } # Clockwerk if [ IsOptionalHaikuImagePackageAdded Clockwerk ] { if $(TARGET_ARCH) != x86 { Echo "No optional package Clockwerk available for $(TARGET_ARCH)" ; } else if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage Clockwerk-0.0.1-x86-gcc4-2009-08-06.zip : $(baseURL)/Clockwerk-0.0.1-x86-gcc4-2009-08-06.zip : ; AddSymlinkToHaikuImage home config be Applications : /boot/apps/Clockwerk/Clockwerk ; } else { InstallOptionalHaikuImagePackage Clockwerk-0.0.1-x86-gcc2-2009-08-06.zip : $(baseURL)/Clockwerk-0.0.1-x86-gcc2-2009-08-06.zip : ; AddSymlinkToHaikuImage home config be Applications : /boot/apps/Clockwerk/Clockwerk ; } } # CLucene if [ IsOptionalHaikuImagePackageAdded CLucene ] { if $(TARGET_ARCH) != x86 { Echo "No optional package CLucene available for $(TARGET_ARCH)" ; } else if $(HAIKU_GCC_VERSION[1]) < 4 && ! $(isHybridBuild) { Echo "No optional package CLucene available for GCC2" ; } else { InstallOptionalHaikuImagePackage clucene-0.9.21svn-x86-gcc4-haiku-2009-08-11.zip : $(baseURL)/clucene-0.9.21-x86-gcc4-haiku-2009-08-11.zip : : true ; } } # CMake if [ IsOptionalHaikuImagePackageAdded CMake ] { if $(TARGET_ARCH) != x86 { Echo "No optional package CMake available for $(TARGET_ARCH)" ; } else { InstallOptionalHaikuImagePackage cmake-2.8.0-x86-gcc2-2009-11-15.zip : $(baseURL)/cmake-2.8.0-x86-gcc2-2009-11-15.zip : : true ; } } # Curl if [ IsOptionalHaikuImagePackageAdded Curl ] { if $(TARGET_ARCH) != x86 { Echo "No optional package Curl available for $(TARGET_ARCH)" ; } else { InstallOptionalHaikuImagePackage curl-7.19.6-r1a1-x86-gcc2-2009-08-30.zip : $(baseURL)/curl-7.19.6-r1a1-x86-gcc2-2009-08-30.zip : : true ; } } # CVS if [ IsOptionalHaikuImagePackageAdded CVS ] { if $(TARGET_ARCH) != x86 { Echo "No optional package CVS available for $(TARGET_ARCH)" ; } else { InstallOptionalHaikuImagePackage cvs-1.12.13-r1a1-x86-gcc2-2009-08-30.zip : $(baseURL)/cvs-1.12.13-r1a1-x86-gcc2-2009-08-30.zip : : true ; } } # Development if [ IsOptionalHaikuImagePackageAdded Development ] && $(TARGET_ARCH) = x86 { # autotools InstallOptionalHaikuImagePackage autoconf-2.65-x86-gcc2-2009-11-28.zip : $(baseURL)/autoconf-2.65-x86-gcc2-2009-11-28.zip : : true ; InstallOptionalHaikuImagePackage automake-1.11.1-x86-gcc2-2009-12-23.zip : $(baseURL)/automake-1.11.1-x86-gcc2-2009-12-23.zip : : true ; InstallOptionalHaikuImagePackage libtool-2.2.6b-x86-gcc2-2009-11-18.zip : $(baseURL)/libtool-2.2.6b-x86-gcc2-2009-11-18.zip : : true ; InstallOptionalHaikuImagePackage texinfo-4.13a-r1a1-x86-gcc2-2009-08-30.zip : $(baseURL)/texinfo-4.13a-r1a1-x86-gcc2-2009-08-30.zip : : true ; } # DevelopmentBase if [ IsOptionalHaikuImagePackageAdded DevelopmentBase ] && $(TARGET_ARCH) = x86 { # gcc and binutils if $(HAIKU_GCC_VERSION[1]) = 2 || $(isHybridBuild) { InstallOptionalHaikuImagePackage gcc-2.95.3-r1a1-x86-gcc2-2009-08-26.zip : $(baseURL)/gcc-2.95.3-r1a1-x86-gcc2-2009-08-26.zip ; } if $(HAIKU_GCC_VERSION[1]) = 4 || $(isHybridBuild) { InstallOptionalHaikuImagePackage gcc-4.3.3-r1a1-x86-gcc4-2009-06-29.zip : $(baseURL)/gcc-4.3.3-r1a1-x86-gcc4-2009-06-29.zip ; # symlink cpp to g++'s headers AddSymlinkToHaikuImage develop abi x86 gcc4 headers : ../tools/current/include/g++ : cpp ; } # other commonly used tools InstallOptionalHaikuImagePackage bison-2.4.1-r1a1-x86-gcc2-2009-08-31.zip : $(baseURL)/bison-2.4.1-r1a1-x86-gcc2-2009-08-31.zip ; InstallOptionalHaikuImagePackage m4-1.4.14-x86-gcc2-2010-02-27.zip : $(baseURL)/m4-1.4.14-x86-gcc2-2010-02-27.zip ; InstallOptionalHaikuImagePackage flex-2.5.35-r1a1-x86-gcc2-2009-08-31.zip : $(baseURL)/flex-2.5.35-r1a1-x86-gcc2-2009-08-31.zip ; InstallOptionalHaikuImagePackage jam-2.5-r1a1-x86-gcc2-2009-08-31.zip : $(baseURL)/jam-2.5-r1a1-x86-gcc2-2009-08-31.zip ; } # DevelopmentMin if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] && $(TARGET_ARCH) = x86 { if ! ( $(HAIKU_GCC_VERSION[1]) in 2 4 ) { Exit "Optional package DevelopmentMin: Unsupported GCC version:" $(HAIKU_GCC_VERSION[1]) ; } local arch = $(TARGET_ARCH) ; local abi = gcc$(HAIKU_GCC_VERSION[1]) ; local abiDirTokens = develop abi $(arch) $(abi) ; # glue code AddFilesToHaikuHybridImage $(abiDirTokens) lib : crti.o crtn.o init_term_dyn.o start_dyn.o haiku_version_glue.o ; # kernel AddFilesToHaikuHybridImage $(abiDirTokens) lib : kernel.so : _KERNEL_ ; # additional libraries local developmentLibs = libroot_debug.so ; AddFilesToHaikuHybridImage system lib : $(developmentLibs) : : true ; # library symlinks local lib ; for lib in $(SYSTEM_LIBS) $(SYSTEM_LIBS_LIBGL_ALIASES) $(developmentLibs) { AddSymlinkToHaikuHybridImage $(abiDirTokens) lib : /system/lib $(lib:BS) : : true ; local abiVersion = [ on $(lib) return $(HAIKU_LIB_ABI_VERSION) ] ; if $(abiVersion) { local abiVersionedLib = $(lib:BS).$(abiVersion) ; AddSymlinkToHaikuHybridImage $(abiDirTokens) lib : /system/lib $(abiVersionedLib) : : true ; } } # static libraries AddFilesToHaikuHybridImage $(abiDirTokens) lib : libncurses.a ; # the POSIX error code mapper library AddFilesToHaikuHybridImage $(abiDirTokens) lib : libposix_error_mapper.a ; # symlinks for ABI abstraction AddSymlinkToHaikuImage develop abi : $(arch)/$(abi) : current ; AddSymlinkToHaikuImage develop lib : /boot/develop/abi/current/lib : $(arch) ; AddSymlinkToHaikuImage develop tools : /boot/develop/abi/current/tools/current : gnupro ; AddSymlinkToHaikuImage develop headers : /boot/develop/abi/current/headers/cpp ; AddSymlinkToHaikuHybridImage $(abiDirTokens) library-paths : /boot/common/lib : common : true ; AddSymlinkToHaikuHybridImage $(abiDirTokens) library-paths : /boot/home/config/lib : home : true ; # ABI independent stuff # scripts: cc and c++ wrapper, freetype-config, setgcc local scripts = cc c++ freetype-config setgcc ; SEARCH on $(scripts) = [ FDirName $(HAIKU_TOP) data bin ] ; AddFilesToHaikuImage system bin : $(scripts) ; # make and mkdepend build tool, which are part of the Haiku source tree # TODO: Both should be removed from the tree, made download packages # and moved to the DevelopmentBase package. AddFilesToHaikuImage system bin : make 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 config ; AddHeaderDirectoryToHaikuImage glibc ; AddHeaderDirectoryToHaikuImage os ; AddHeaderDirectoryToHaikuImage posix ; # create be -> os symlink for now AddSymlinkToHaikuImage develop headers : os : be ; # BSD and GNU compatibility headers AddHeaderDirectoryToHaikuImage compatibility bsd : bsd ; AddHeaderDirectoryToHaikuImage compatibility gnu : gnu ; # third party libs headers AddHeaderDirectoryToHaikuImage libs freetype2 : 3rdparty ; AddHeaderDirectoryToHaikuImage libs jpeg : 3rdparty ; AddHeaderDirectoryToHaikuImage libs ncurses : 3rdparty ; AddHeaderDirectoryToHaikuImage libs png : 3rdparty ; AddHeaderDirectoryToHaikuImage libs termcap : 3rdparty ; AddHeaderDirectoryToHaikuImage libs zlib : 3rdparty ; # cpp headers if $(HAIKU_GCC_VERSION[1]) = 2 { # GCC 2 only -- for GCC 4 they come with the DevelopmentBase package CopyDirectoryToHaikuImage $(abiDirTokens) headers : [ FDirName $(HAIKU_TOP) headers cpp ] : : -x .svn ; CopyDirectoryToAlternativeGCCArchive $(abiDirTokens) headers : [ FDirName $(HAIKU_TOP) headers cpp ] : : -x .svn ; } } # Expat if [ IsOptionalHaikuImagePackageAdded Expat ] { if $(TARGET_ARCH) != x86 { Echo "No optional package Expat available for $(TARGET_ARCH)" ; } else { InstallOptionalHaikuImagePackage expat-2.0.1-r1a1-x86-gcc2-2009-08-30.zip : $(baseURL)/expat-2.0.1-r1a1-x86-gcc2-2009-08-30.zip : : true ; } } # Firefox web browser if [ IsOptionalHaikuImagePackageAdded Firefox ] { Echo "Warning: The optional package Firefox is being replaced with" "BeZillaBrowser" ; } # Git if [ IsOptionalHaikuImagePackageAdded Git ] { if $(TARGET_ARCH) != x86 { Echo "No optional package Git available for $(TARGET_ARCH)" ; } else { InstallOptionalHaikuImagePackage git-1.6.4.2-r1a1-x86-gcc2-2009-08-30.zip : $(baseURL)/git-1.6.4.2-r1a1-x86-gcc2-2009-08-30.zip : : true ; } } # ICU-devel if [ IsOptionalHaikuImagePackageAdded ICU-devel ] { InstallOptionalHaikuImagePackage icu-devel-4.2-2010-01-26.zip : $(baseURL)/icu-devel-4.2-2010-01-26.zip ; local arch = $(TARGET_ARCH) ; local abi = gcc$(HAIKU_GCC_VERSION[1]) ; local libs = common data i18n ; for lib in $(libs) { lib = libicu-$(lib).so ; local abiVersion = [ on $(lib) return $(HAIKU_LIB_ABI_VERSION) ] ; if $(abiVersion) { local abiVersionedLib = $(lib).$(abiVersion) ; AddSymlinkToHaikuHybridImage develop abi $(arch) $(abi) lib : /system/lib $(abiVersionedLib) : : true ; } AddSymlinkToHaikuHybridImage develop abi $(arch) $(abi) lib : /system/lib $(lib) : : true ; } } # KeymapSwitcher if [ IsOptionalHaikuImagePackageAdded KeymapSwitcher ] { if $(TARGET_ARCH) != x86 { Echo "No optional package KeymapSwitcher available for $(TARGET_ARCH)" ; } else if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage KeymapSwitcher-1.2.3-x86-gcc4-2009-05-31.zip : $(baseURL)/KeymapSwitcher-1.2.3-x86-gcc4-2009-05-31.zip : ; AddSymlinkToHaikuImage home config be Desktop\ applets : /boot/common/bin/KeymapSwitcher ; } else { InstallOptionalHaikuImagePackage KeymapSwitcher-1.2.4-r1a1-x86-gcc2-2009-09-06.zip : $(baseURL)/KeymapSwitcher-1.2.4-r1a1-x86-gcc2-2009-09-06.zip : ; AddSymlinkToHaikuImage home config be Desktop\ applets : /boot/common/bin/KeymapSwitcher ; } } # LibIconv if [ IsOptionalHaikuImagePackageAdded LibIconv ] { if $(TARGET_ARCH) != x86 { Echo "No optional package LibIconv available for $(TARGET_ARCH)" ; } else { InstallOptionalHaikuImagePackage libiconv-1.13.1-r1a1-x86-gcc2-2009-09-08.zip : $(baseURL)/libiconv-1.13.1-r1a1-x86-gcc2-2009-09-08.zip : ; } } # 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 && ! $(isHybridBuild) { Echo "No optional package LibLayout available for gcc4" ; } else { InstallOptionalHaikuImagePackage liblayout-1.4.0-gcc2-2009-03-08.zip : $(baseURL)/liblayout-1.4.0-gcc2-2009-03-08.zip : ; } } # LibXML2 if [ IsOptionalHaikuImagePackageAdded LibXML2 ] { if $(TARGET_ARCH) != x86 { Echo "No optional package LibXML2 available for $(TARGET_ARCH)" ; } else { InstallOptionalHaikuImagePackage libxml2-2.7.6-x86-gcc2-2009-10-19.zip : $(baseURL)/libxml2-2.7.6-x86-gcc2-2009-10-19.zip : : true ; } } # 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) { Echo "No optional package Links available for gcc4" ; } else { InstallOptionalHaikuImagePackage Links.zip : $(baseURL)/links-x86-gcc2-2008-05-03.zip : ; AddSymlinkToHaikuImage home config be Applications : /boot/home/config/bin/links ; } } # Mercurial if [ IsOptionalHaikuImagePackageAdded Mercurial ] { if $(TARGET_ARCH) != x86 { Echo "No optional package Mercurial available for $(TARGET_ARCH)" ; } else { InstallOptionalHaikuImagePackage mercurial-1.3.1-r1a1-x86-gcc2-2009-08-30.zip : $(baseURL)/mercurial-1.3.1-r1a1-x86-gcc2-2009-08-30.zip : : true ; } } # Nano if [ IsOptionalHaikuImagePackageAdded Nano ] { if $(TARGET_ARCH) != x86 { Echo "No optional package Nano available for $(TARGET_ARCH)" ; } else { InstallOptionalHaikuImagePackage nano-2.0.9-r1a1-x86-gcc2-2009-08-30.zip : $(baseURL)/nano-2.0.9-r1a1-x86-gcc2-2009-08-30.zip : ; } } # Neon if [ IsOptionalHaikuImagePackageAdded Neon ] { if $(TARGET_ARCH) != x86 { Echo "No optional package Neon available for $(TARGET_ARCH)" ; } else { InstallOptionalHaikuImagePackage neon-0.29.3-x86-gcc2-2010-02-28.zip : $(baseURL)/neon-0.29.3-x86-gcc2-2010-02-28.zip : : true ; } } # NetFS network file system if [ IsOptionalHaikuImagePackageAdded NetFS ] { # 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 = 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 = userlandfs ; SEARCH on $(userlandfsServerSettingsFiles) = [ FDirName $(HAIKU_TOP) src add-ons kernel file_systems userlandfs ] ; AddFilesToHaikuImage home config settings kernel drivers : $(userlandfsServerSettingsFiles) ; } # 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) { Echo "No optional package NetSurf available for gcc4" ; } else { InstallOptionalHaikuImagePackage NetSurf-r9862b.zip : $(baseURL)/NetSurf-r9862-x86-gcc2-2010-01-27.zip : ; AddSymlinkToHaikuImage home config be Applications : /boot/apps/netsurf/NetSurf ; } } # OCaml if [ IsOptionalHaikuImagePackageAdded OCaml ] { if $(TARGET_ARCH) != x86 { Echo "No optional package OCaml available for $(TARGET_ARCH)" ; } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { Echo "No optional package OCaml available for gcc4" ; } else { InstallOptionalHaikuImagePackage ocaml-3.11.1-r1a1-x86-gcc2-2009-09-06.zip : http://jerome.duval.free.fr/obos/ocaml-3.11.1-r1a1-x86-gcc2-2009-09-06.zip : ; InstallOptionalHaikuImagePackage camlp5-5.12-r1a1-x86-gcc2-2009-09-06.zip : http://jerome.duval.free.fr/obos/camlp5-5.12-r1a1-x86-gcc2-2009-09-06.zip : ; } } # OpenSound drivers if [ IsOptionalHaikuImagePackageAdded OpenSound ] { if $(TARGET_ARCH) != x86 { Echo "No optional package OpenSound available for $(TARGET_ARCH)" ; } else { InstallOptionalHaikuImagePackage OpenSound.zip : $(baseURL)/OpenSound-x86-gcc2-2008-06-21.zip : ; } #ExtractArchiveToHaikuImage 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) && ! $(HAIKU_IGNORE_USER_BUILD_CONFIG) { Exit "Optional package OpenSSH requires the HAIKU_IMAGE_HOST_NAME" "variable to be set!" ; } InstallOptionalHaikuImagePackage openssh-5.3p1-r1a1-x86-gcc2-2009-10-11.zip : $(baseURL)/openssh-5.3p1-r1a1-x86-gcc2-2009-10-11.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 { InstallOptionalHaikuImagePackage p7zip-9.04-x86-gcc4-2009-10-25.zip : $(baseURL)/p7zip-9.04-x86-gcc4-2009-10-25.zip : ; } else { InstallOptionalHaikuImagePackage p7zip-9.04-x86-gcc2-2009-10-25.zip : $(baseURL)/p7zip-9.04-x86-gcc2-2009-10-25.zip : ; } AddExpanderRuleToHaikuImage "application/x-7z-compressed" : .7z : "7za l \\0045s" : "7za x -y \\0045s" ; } } # PCRE regex engine if [ IsOptionalHaikuImagePackageAdded PCRE ] { if $(TARGET_ARCH) != x86 { Echo "No optional package PCRE available for $(TARGET_ARCH)" ; } else { if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage pcre-7.9-x86-gcc4-2009-09-30.zip : $(baseURL)/pcre-7.9-x86-gcc4-2009-09-30.zip ; } else { InstallOptionalHaikuImagePackage pcre-7.9-x86-gcc2-2009-09-30.zip : $(baseURL)/pcre-7.9-x86-gcc2-2009-09-30.zip ; } } } # 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 { InstallOptionalHaikuImagePackage Pe-2.4.2-x86-gcc4-2009-08-04.zip : $(baseURL)/Pe-2.4.2-x86-gcc4-2009-08-04.zip ; } else { InstallOptionalHaikuImagePackage Pe-2.4.2-r593-r1a1-x86-gcc2-2009-09-08.zip : $(baseURL)/Pe-2.4.2-r593-r1a1-x86-gcc2-2009-09-08.zip ; } 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 { InstallOptionalHaikuImagePackage perl-5.10.1-r1a1-x86-gcc2-2009-09-08.zip : $(baseURL)/perl-5.10.1-r1a1-x86-gcc2-2009-09-08.zip : : true ; } } # Python if [ IsOptionalHaikuImagePackageAdded Python ] { if $(TARGET_ARCH) != x86 { Echo "No optional package Python available for $(TARGET_ARCH)" ; } else { InstallOptionalHaikuImagePackage python-2.6.4-x86-gcc2-2009-11-26.zip : $(baseURL)/python-2.6.4-x86-gcc2-2009-11-26.zip : : true ; } } # Rsync if [ IsOptionalHaikuImagePackageAdded Rsync ] { if $(TARGET_ARCH) != x86 { Echo "No optional package Rsync available for $(TARGET_ARCH)" ; } else { InstallOptionalHaikuImagePackage rsync-3.0.7-x86-gcc2-2010-01-05.zip : $(baseURL)/rsync-3.0.7-x86-gcc2-2010-01-05.zip : ; } } # SQLite if [ IsOptionalHaikuImagePackageAdded SQLite ] { if $(TARGET_ARCH) != x86 { Echo "No optional package SQLite available for $(TARGET_ARCH)" ; } else { InstallOptionalHaikuImagePackage sqlite-3.6.17-r1a1-x86-gcc2-2009-08-30.zip : $(baseURL)/sqlite-3.6.17-r1a1-x86-gcc2-2009-08-30.zip : : true ; } } # Subversion if [ IsOptionalHaikuImagePackageAdded Subversion ] { if $(TARGET_ARCH) != x86 { Echo "No optional package Subversion available for $(TARGET_ARCH)" ; } else { InstallOptionalHaikuImagePackage subversion-1.6.9-x86-gcc2-2010-03-01.zip : $(baseURL)/subversion-1.6.9-x86-gcc2-2010-03-01.zip : : true ; } } # Tar if [ IsOptionalHaikuImagePackageAdded Tar ] { if $(TARGET_ARCH) != x86 { Echo "No optional package Tar available for $(TARGET_ARCH)" ; } else { InstallOptionalHaikuImagePackage tar-1.22-x86-gcc4-2010-02-25.zip : $(baseURL)/tar-1.22-x86-gcc4-2010-02-25.zip : ; } } # UserlandFS if [ IsOptionalHaikuImagePackageAdded UserlandFS ] { local arch = $(TARGET_ARCH) ; local abi = gcc$(HAIKU_GCC_VERSION[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 ; AddFilesToHaikuHybridImage system lib : $(userlandfsLibs) : : true ; # development goodies if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] { if ! ( $(HAIKU_GCC_VERSION[1]) in 2 4 ) { Exit "Optional package UserlandFS: Unsupported GCC version:" $(HAIKU_GCC_VERSION[1]) ; } # library symlinks local lib ; for lib in $(userlandfsLibs) { AddSymlinkToHaikuImage develop abi $(arch) $(abi) lib : /system/lib/$(lib:BS) ; AddSymlinkToAlternativeGCCArchive develop abi $(arch) $(abi) lib : /system/lib/$(arch)/$(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) ; } } # Vim if [ IsOptionalHaikuImagePackageAdded Vim ] { if $(TARGET_ARCH) != x86 { Echo "No optional package Vim available for $(TARGET_ARCH)" ; } else if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage vim-7.2-x86-gcc4-2009-05-31.zip : $(baseURL)/vim-7.2-x86-gcc4-2009-05-31.zip : ; AddSymlinkToHaikuImage home config be Applications : /boot/common/bin/gvim ; } else { InstallOptionalHaikuImagePackage vim-7.2-r1a1-x86-gcc2-2009-09-06.zip : $(baseURL)/vim-7.2-r1a1-x86-gcc2-2009-09-06.zip : ; AddSymlinkToHaikuImage home config be Applications : /boot/common/bin/gvim ; } } # 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-090423-1.zip : $(baseURL)/Vision-0.9.7-H-x86-gcc4-2009-04-23.zip : apps ; AddSymlinkToHaikuImage home config be Applications : /boot/apps/Vision-0.9.7-H-090423/Vision ; } else { InstallOptionalHaikuImagePackage Vision-0.9.7-H-090423.zip : $(baseURL)/Vision-0.9.7-H-x86-gcc2-2009-04-23.zip : apps ; AddSymlinkToHaikuImage home config be Applications : /boot/apps/Vision-0.9.7-H-090423/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) { Echo "No optional package VLC available for gcc4" ; } else { InstallOptionalHaikuImagePackage VLC-0.8.6d.zip : $(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 ; CopyDirectoryToHaikuImage system documentation : [ FDirName $(HAIKU_TOP) docs images ] : images : -x .svn ; AddFilesToHaikuImage system documentation : [ FDirName $(HAIKU_TOP) docs Haiku-doc.css ] : Haiku-doc.css ; AddSymlinkToHaikuImage home Desktop : /boot/system/documentation/welcome/welcome_en.html : Welcome ; AddSymlinkToHaikuImage home Desktop : /boot/system/documentation/userguide/en/contents.html : 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 ] { 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://bu3sch.de/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://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o ] ; AddFilesToHaikuImage system data firmware broadcom43xx : $(broadcom43xxFile) ; # ipw2100 local FirmwareTopDirectory = [ FDirName $(HAIKU_TOP) data system data firmware ] ; local ipw2100FWArchive = [ FDirName $(FirmwareTopDirectory) ipw2100 ipw2100-fw-1.3.tgz ] ; AddFilesToHaikuImage system data firmware ipw2100 : $(ipw2100FWArchive) ; # iprowifi2200 local FirmwareTopDirectory = [ FDirName $(HAIKU_TOP) data system data firmware ] ; local iprowifi2200FWArchive = [ FDirName $(FirmwareTopDirectory) iprowifi2200 ipw2200-fw-3.1.tgz ] ; AddFilesToHaikuImage system data firmware iprowifi2200 : $(iprowifi2200FWArchive) ; # marvell88w8335 local marvelArchive = malo-firmware-1.4.tgz ; local marvelURL = http://www.nazgul.ch/malo/$(marvelArchive) ; local marvelFile = [ DownloadFile $(marvelArchive) : $(marvelURL) ] ; AddFilesToHaikuImage system data firmware marvell88w8335 : $(marvelFile) ; } } # 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) { Echo "No optional package WonderBrush available for gcc4" ; } else { InstallOptionalHaikuImagePackage WonderBrush-2.1.2.zip : $(baseURL)/WonderBrush-2.1.2-x86-gcc2-2008-11-08.zip : apps ; AddSymlinkToHaikuImage home config be Applications : /boot/apps/WonderBrush/WonderBrush ; } } # XZ-Utils if [ IsOptionalHaikuImagePackageAdded XZ-Utils ] { if $(TARGET_ARCH) != x86 { Echo "No optional package XZ-Utils available for $(TARGET_ARCH)" ; } else { InstallOptionalHaikuImagePackage xz-utils-4.999.9-x86-gcc4-2010-02-25.zip : $(baseURL)/xz-utils-4.999.9-x86-gcc4-2010-02-25.zip : ; AddExpanderRuleToHaikuImage "application/x-xz" : .tar.xz : "tar -Jtvf \\0045s" : "tar -Jxvf \\0045s" ; AddExpanderRuleToHaikuImage "application/x-xz" : .txz : "tar -Jtvf \\0045s" : "tar -Jxvf \\0045s" ; AddExpanderRuleToHaikuImage "application/x-xz" : .xz : "echo \\0045s | sed 's/.xz\\\$//g'" : "xz -df \\0045s" ; } } # Yasm if [ IsOptionalHaikuImagePackageAdded Yasm ] { if $(TARGET_ARCH) != x86 { Echo "No optional package Yasm available for $(TARGET_ARCH)" ; } else { InstallOptionalHaikuImagePackage yasm-0.8.0-r1a1-x86-gcc2-2009-08-30.zip : $(baseURL)/yasm-0.8.0-r1a1-x86-gcc2-2009-08-30.zip : ; } }