Break translators out of haiku.hpkg into a separate haiku_datatranslators.hpkg.

Translators and media-plugins are the main source of dependencies in haiku.hpkg,
and thus the main source of packages being pulled into chroots, especially
HaikuPorter chroots. (FFmpeg pulls in a rather large array of sub-
dependencies, itself.) So, here we break all the translators into their
own sub-package.

For now, haiku.hpkg is declared to depend on haiku_datatranslators,
so that users will not suddenly update and have no translators.
In the future, this will be dropped.

Note that this is only done for the primary arch at present.
Secondary architecture translators remain in the main secondary package
for now.

Change-Id: Id0b352f34f7110b79ec7787792bf3ae0edab4054
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4477
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
This commit is contained in:
Augustin Cavalier 2021-09-17 16:54:57 -04:00 committed by waddlesplash
parent 7b1db53111
commit 63b76faeea
9 changed files with 79 additions and 66 deletions

View File

@ -2,6 +2,7 @@
# subdirectory.
local packages = [ FFilterByBuildFeatures
HaikuDevel
HaikuDataTranslators
HaikuExtras
HaikuLoader
HaikuSource

View File

@ -99,6 +99,7 @@ rule PreprocessPackageOrRepositoryInfo target : source : architecture
# placeholder substitutions have been performed.
local defines = HAIKU_PACKAGING_ARCH=$(architecture)
HAIKU_PACKAGING_ARCH_$(architecture)
HAIKU_$(HAIKU_BUILD_TYPE:U)_BUILD ;
local sedReplacements = %HAIKU_PACKAGING_ARCH%,$(architecture) ;
if $(secondaryArchitecture) {

View File

@ -17,6 +17,7 @@ include [ FDirName $(HAIKU_BUILD_RULES_DIR) HaikuPackages ] ;
AddPackageFilesToHaikuImage system packages :
haiku_loader.hpkg
haiku.hpkg
haiku_datatranslators.hpkg
haiku_$(TARGET_PACKAGING_ARCHS[2-]).hpkg
:
nameFromMetaInfo

View File

@ -214,7 +214,6 @@ AddBootModuleSymlinksToPackage
# add-ons
AddFilesToPackage add-ons accelerants : $(SYSTEM_ADD_ONS_ACCELERANTS) ;
AddFilesToPackage add-ons Translators : $(SYSTEM_ADD_ONS_TRANSLATORS) ;
AddFilesToPackage add-ons locale catalogs : $(SYSTEM_ADD_ONS_LOCALE_CATALOGS) ;
AddFilesToPackage add-ons mail_daemon inbound_protocols : POP3
@ -225,7 +224,6 @@ AddFilesToPackage add-ons mail_daemon inbound_filters
AddFilesToPackage add-ons mail_daemon outbound_filters : Fortune ;
AddFilesToPackage add-ons media : $(SYSTEM_ADD_ONS_MEDIA) ;
AddFilesToPackage add-ons media plugins : $(SYSTEM_ADD_ONS_MEDIA_PLUGINS) ;
AddFilesToPackage add-ons Network\ Settings
: IPv4Interface IPv6Interface DNSClientService Hostname FTPService SSHService

View File

@ -0,0 +1,9 @@
local architecture = $(HAIKU_PACKAGING_ARCHS[1]) ;
local dataTranslatorsPackage = haiku_datatranslators.hpkg ;
HaikuPackage $(dataTranslatorsPackage) ;
AddFilesToPackage add-ons Translators : $(SYSTEM_ADD_ONS_TRANSLATORS) ;
AddFilesToPackage add-ons media plugins : $(SYSTEM_ADD_ONS_MEDIA_PLUGINS) ;
BuildHaikuPackage $(dataTranslatorsPackage) : haiku_datatranslators ;

View File

@ -10,6 +10,7 @@ SEARCH on $(repoInfo) = $(HAIKU_TOP)/src/data/repository_infos ;
local secondaryArchs = $(TARGET_PACKAGING_ARCHS[2-]) ;
local packages = [ FFilterByBuildFeatures
haiku
haiku_datatranslators
haiku_devel
haiku_loader

View File

@ -51,6 +51,8 @@ provides {
}
requires {
haiku_datatranslators
noto >= 2.7
#ifdef HAIKU_REGULAR_BUILD
noto_sans_cjk_jp
@ -105,46 +107,11 @@ requires {
#endif
#ifdef HAIKU_REGULAR_BUILD
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_ffmpeg_ENABLED
lib:libavcodec >= 58
lib:libavfilter >= 7
lib:libavformat >= 58
lib:libavutil >= 56
lib:libswresample >= 3
#endif
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_expat_ENABLED
lib:libexpat
#endif
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_gutenprint_ENABLED
lib:libgutenprint >= 8
#endif
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_libicns_ENABLED
lib:libicns
#endif
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_openexr_ENABLED
lib:libilmimf_2_4
lib:libilmimfutil_2_4
#endif
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_jasper_ENABLED
lib:libjasper
#endif
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_jpeg_ENABLED
lib:libjpeg
#endif
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_libpng_ENABLED
lib:libpng16
#endif
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_libavif_ENABLED
lib:libavif >= 12
#endif
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_tiff_ENABLED
lib:libtiff >= 5.6
#endif
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_libwebp_ENABLED
lib:libwebp
#endif
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_libraw_ENABLED
lib:libraw >= 19
#endif
#endif
}

View File

@ -0,0 +1,62 @@
name haiku_datatranslators
version %HAIKU_VERSION%
architecture %HAIKU_PACKAGING_ARCH%
summary "Haiku data translators"
description "Standard data translators and media format plugins"
packager "The Haiku build system"
vendor "Haiku Project"
copyrights "2001-2021 Haiku, Inc."
licenses MIT
provides {
haiku_datatranslators=%HAIKU_VERSION%
}
requires {
haiku
#ifdef HAIKU_REGULAR_BUILD
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_ffmpeg_ENABLED
lib:libavcodec >= 58
lib:libavfilter >= 7
lib:libavformat >= 58
lib:libavutil >= 56
lib:libswresample >= 3
#endif
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_libicns_ENABLED
lib:libicns
#endif
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_openexr_ENABLED
#ifdef HAIKU_PACKAGING_ARCH_x86_gcc2
lib:libilmimf
lib:libilmimfutil
#else
lib:libilmimf_2_4
lib:libilmimfutil_2_4
#endif
#endif
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_jasper_ENABLED
lib:libjasper
#endif
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_jpeg_ENABLED
lib:libjpeg
#endif
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_libpng_ENABLED
lib:libpng16
#endif
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_libavif_ENABLED
lib:libavif >= 12
#endif
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_tiff_ENABLED
lib:libtiff >= 5.6
#endif
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_libwebp_ENABLED
lib:libwebp
#endif
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_libraw_ENABLED
lib:libraw >= 19
#endif
#endif
}

View File

@ -48,6 +48,8 @@ provides {
}
requires {
haiku_datatranslators
noto >= 2.7
#ifdef HAIKU_REGULAR_BUILD
noto_sans_cjk_jp
@ -91,45 +93,16 @@ requires {
#endif
#ifdef HAIKU_REGULAR_BUILD
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_ffmpeg_ENABLED
lib:libavcodec >= 58
lib:libavfilter >= 7
lib:libavformat >= 58
lib:libavutil >= 56
lib:libswresample >= 3
#endif
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_expat_ENABLED
lib:libexpat
#endif
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_gutenprint_ENABLED
lib:libgutenprint >= 8
#endif
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_libicns_ENABLED
lib:libicns
#endif
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_openexr_ENABLED
lib:libilmimf
lib:libilmimfutil
#endif
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_jasper_ENABLED
lib:libjasper
#endif
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_jpeg_ENABLED
lib:libjpeg
#endif
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_libpng_ENABLED
lib:libpng16
#endif
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_openssl_ENABLED
lib:libssl
lib:libcrypto
#endif
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_tiff_ENABLED
lib:libtiff >= 5.6
#endif
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_libwebp_ENABLED
lib:libwebp
#endif
#ifdef HAIKU_BUILD_FEATURE_%HAIKU_PACKAGING_ARCH%_zstd_ENABLED
lib:libzstd >= 1
#endif