diff --git a/build/jam/HaikuPackages b/build/jam/HaikuPackages index 89a1a8d77a..836c2933dd 100644 --- a/build/jam/HaikuPackages +++ b/build/jam/HaikuPackages @@ -16,6 +16,7 @@ if $(HAIKU_BOOTSTRAP_BUILD) { local archDependentPackages = HaikuCrossDevel + WebPositive ; local secondaryArchPackages = diff --git a/build/jam/OptionalPackages b/build/jam/OptionalPackages index 4e94ff1514..1c93fef498 100644 --- a/build/jam/OptionalPackages +++ b/build/jam/OptionalPackages @@ -16,7 +16,6 @@ # NetFS - the native networked file system components # UserlandFS - aids native file system development (like FUSE) # WebPositive - native, WebKit-based web browser -# WebPositiveBookmarks - bookmarks for WebPositive # Welcome - introductory documentation to Haiku # WifiFirmwareScriptData - data files needed by install-wifi-firmwares.sh @@ -26,7 +25,6 @@ OptionalPackageDependencies Development : DevelopmentBase ; OptionalPackageDependencies DevelopmentBase : DevelopmentMin ; OptionalPackageDependencies DevelopmentPowerPC : DevelopmentMin ; OptionalPackageDependencies NetFS : UserlandFS ; -OptionalPackageDependencies WebPositive : WebPositiveBookmarks ; local baseURL = http://haiku-files.org/files/optional-packages ; @@ -256,30 +254,18 @@ if [ IsOptionalHaikuImagePackageAdded UserlandFS ] { # WebPositive if [ IsOptionalHaikuImagePackageAdded WebPositive ] { -# TODO: Make this an actual package! -# if $(TARGET_ARCH) != x86 && $(TARGET_ARCH) != x86_64 { -# Echo "No optional package WebPositive available for $(TARGET_ARCH)" ; -# } else if $(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) < 4 { -# Echo "No optional package WebPositive available for gcc2" ; -# } else if $(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) >= 4 { -# # TODO: Either we build a separate package for WebPositive or we -# # incorporate it in haiku.hpkg. -# AddFilesToHaikuHybridImage apps : WebPositive ; -# AddSymlinkToHaikuHybridImage -# home config settings deskbar menu Applications -# : /boot/common/apps/WebPositive ; -# } -# -# AddHaikuImagePackages curl libxml2 sqlite webkit ; - # TODO: Should be properly declared requires in the webpositive package. -} - - -# WebPositiveBookmarks -if [ IsOptionalHaikuImagePackageAdded WebPositiveBookmarks ] { - InstallOptionalHaikuImagePackage - $(baseURL)/WebPositiveBookmarks-2012-02-18.zip - : home config settings WebPositive ; + local architectureObject ; + for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + if [ FIsBuildFeatureEnabled webpositive ] { + AddPackageFilesToHaikuImage system : webpositive.hpkg ; + InstallOptionalHaikuImagePackage + $(baseURL)/WebPositiveBookmarks-2012-02-18.zip + : home config settings WebPositive ; + break ; + } + } + } } diff --git a/build/jam/packages/WebPositive b/build/jam/packages/WebPositive new file mode 100644 index 0000000000..a6068b2297 --- /dev/null +++ b/build/jam/packages/WebPositive @@ -0,0 +1,11 @@ +if [ FIsBuildFeatureEnabled webpositive ] { + local architecture = $(TARGET_PACKAGING_ARCH) ; + local webpositivePackage = webpositive.hpkg ; + HaikuPackage $(webpositivePackage) ; + + AddFilesToPackage apps : WebPositive ; + AddSymlinkToPackage data deskbar menu Applications + : ../../../../apps/WebPositive : WebPositive ; + + BuildHaikuPackage $(webpositivePackage) : webpositive ; +} diff --git a/src/apps/webpositive/Jamfile b/src/apps/webpositive/Jamfile index 6fc7dd5718..849ca11d48 100644 --- a/src/apps/webpositive/Jamfile +++ b/src/apps/webpositive/Jamfile @@ -1,7 +1,5 @@ SubDir HAIKU_TOP src apps webpositive ; -SubDirSysHdrs $(HAIKU_WEBKIT_HEADERS) ; - SubDirC++Flags $(defines) -Wno-error=sequence-point ; SubDirCcFlags $(defines) -Wno-error=sequence-point ; @@ -12,11 +10,6 @@ local sourceDirs = tabview ; -local sourceDir ; -for sourceDir in $(sourceDirs) { - SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src apps webpositive $(sourceDir) ] ; -} - local sources = # autocompletion AutoCompleter.cpp @@ -46,28 +39,52 @@ local sources = URLInputGroup.cpp ; -Includes [ FGristFiles $(sources) ] : $(HAIKU_WEBKIT_HEADERS_DEPENDENCY) ; - # Dependency needed to trigger downloading/unzipping the package before - # compiling the files. +# We build WebPositive only for one architecture -- the first architecture for +# which it is possible. +local architectureObject ; +for architectureObject in [ MultiArchSubDirSetup ] { + on $(architectureObject) { + if ! [ FIsBuildFeatureEnabled webkit ] { + continue ; + } -# private OS headers -UseLibraryHeaders icon ; -UsePrivateHeaders shared tracker ; -SubDirHdrs $(HAIKU_TOP) src kits tracker ; + UseBuildFeatureHeaders webkit ; + local sourceDir ; + for sourceDir in $(sourceDirs) { + SEARCH_SOURCE + += [ FDirName $(HAIKU_TOP) src apps webpositive $(sourceDir) ] ; + } -Application WebPositive : - $(sources) - : - $(HAIKU_WEBKIT_LIBS) - $(TARGET_LIBSTDC++) localestub - be libshared.a network tracker translation - : - WebPositive.rdef -; + Includes [ FGristFiles $(sources) ] + : [ BuildFeatureAttribute webkit : headers ] ; + # Dependency needed to trigger downloading/unzipping the package + # before compiling the files. -DoCatalogs WebPositive : - x-vnd.Haiku-WebPositive - : - $(sources) -; + # private OS headers + UseLibraryHeaders icon ; + UsePrivateHeaders shared tracker ; + SubDirHdrs $(HAIKU_TOP) src kits tracker ; + + Application WebPositive : + $(sources) + : + [ BuildFeatureAttribute webkit : libraries ] + $(TARGET_LIBSTDC++) localestub + [ MultiArchDefaultGristFiles libshared.a ] + be network tracker translation + : + WebPositive.rdef + ; + + DoCatalogs WebPositive : + x-vnd.Haiku-WebPositive + : + $(sources) + ; + + EnableBuildFeatures webpositive ; + + break ; + } +} diff --git a/src/data/package_infos/generic/webpositive b/src/data/package_infos/generic/webpositive new file mode 100644 index 0000000000..70b487a5e3 --- /dev/null +++ b/src/data/package_infos/generic/webpositive @@ -0,0 +1,20 @@ +name webpositive%HAIKU_SECONDARY_PACKAGING_ARCH_SUFFIX% +version R1~alpha4_pm-1 +architecture HAIKU_PACKAGING_ARCH +summary "A WebKit based web browser for Haiku" + +description "A WebKit based web browser for Haiku." + +packager "The Haiku build system" +vendor "Haiku Project" + +copyrights "2001-2013 Haiku, Inc. et al" +licenses "MIT" + +provides { + webpositive%HAIKU_SECONDARY_PACKAGING_ARCH_SUFFIX% = R1~alpha4_pm-1 +} + +requires { + haikuwebkit%HAIKU_SECONDARY_PACKAGING_ARCH_SUFFIX% +}