From c20e7a686272e849990908b4247c761cc4c5281a Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Mon, 20 Aug 2018 20:56:17 -0400 Subject: [PATCH] build: Add a haiku_source package. This contains the contents of Haiku's sources, which is necessary to include in "with source" builds for proper (L)GPL compliance, mostly because we have GPL code in the tree. --- build/jam/HaikuPackages | 1 + build/jam/OptionalPackages | 11 +++++++++++ build/jam/packages/HaikuSource | 14 ++++++++++++++ build/jam/repositories/Haiku | 1 + src/data/package_infos/any/haiku_source | 21 +++++++++++++++++++++ 5 files changed, 48 insertions(+) create mode 100644 build/jam/packages/HaikuSource create mode 100644 src/data/package_infos/any/haiku_source diff --git a/build/jam/HaikuPackages b/build/jam/HaikuPackages index 4b040d83f3..a93503c2c0 100644 --- a/build/jam/HaikuPackages +++ b/build/jam/HaikuPackages @@ -3,6 +3,7 @@ local packages = [ FFilterByBuildFeatures HaikuDevel HaikuLoader + HaikuSource HaikuUserguide HaikuWelcome MakefileEngine diff --git a/build/jam/OptionalPackages b/build/jam/OptionalPackages index 237cb5eeeb..17c0e9ecd5 100644 --- a/build/jam/OptionalPackages +++ b/build/jam/OptionalPackages @@ -19,6 +19,17 @@ OptionalPackageDependencies DevelopmentPowerPC : DevelopmentMin ; OptionalPackageDependencies NetFS : UserlandFS ; +# Haiku sources +if $(HAIKU_INCLUDE_SOURCES) = 1 { + AddPackageFilesToHaikuImage system + : + haiku_source.hpkg + : + nameFromMetaInfo + ; +} + + # BeBook if [ IsOptionalHaikuImagePackageAdded BeBook ] { AddHaikuImagePackages be_book ; diff --git a/build/jam/packages/HaikuSource b/build/jam/packages/HaikuSource new file mode 100644 index 0000000000..0a3ed0d517 --- /dev/null +++ b/build/jam/packages/HaikuSource @@ -0,0 +1,14 @@ +local haikuSourcePackage = haiku_source.hpkg ; +HaikuPackage $(haikuSourcePackage) ; + +CopyDirectoryToPackage sources haiku : [ FDirName $(HAIKU_TOP) src ] + : src ; +CopyDirectoryToPackage sources haiku : [ FDirName $(HAIKU_TOP) headers ] + : headers ; +CopyDirectoryToPackage sources haiku : [ FDirName $(HAIKU_TOP) build ] + : build ; +SEARCH on configure = [ FDirName $(HAIKU_TOP) ] ; +SEARCH on Jamfile = [ FDirName $(HAIKU_TOP) ] ; +AddFilesToPackage sources haiku : configure Jamfile Jamrules ; + +BuildHaikuPackage $(haikuSourcePackage) : haiku_source ; diff --git a/build/jam/repositories/Haiku b/build/jam/repositories/Haiku index 60a39a6473..e547584898 100644 --- a/build/jam/repositories/Haiku +++ b/build/jam/repositories/Haiku @@ -19,6 +19,7 @@ local packages = [ FFilterByBuildFeatures if $(HAIKU_IS_BOOTSTRAP) != 1 { packages += [ FFilterByBuildFeatures + haiku_source haiku_userguide_ca haiku_userguide_de haiku_userguide_en diff --git a/src/data/package_infos/any/haiku_source b/src/data/package_infos/any/haiku_source new file mode 100644 index 0000000000..fc739ff0b6 --- /dev/null +++ b/src/data/package_infos/any/haiku_source @@ -0,0 +1,21 @@ +name haiku_source +version %HAIKU_VERSION% +architecture any +summary "Haiku's source code" +description "This package contains the core source code of Haiku." + +packager "The Haiku build system" +vendor "Haiku Project" + +copyrights "2001-2018 Haiku, Inc. et al" +licenses { + MIT + "GNU LGPL v2.1" +} + +provides { + haiku_source=%HAIKU_VERSION% +} + +requires { +}