[Flatpak SDK] Add libserf
https://bugs.webkit.org/show_bug.cgi?id=213682

Patch by Philippe Normand <pnormand@igalia.com> on 2020-06-30
Reviewed by Carlos Alberto Lopez Perez.

Subversion depends on SERF, which requires SCons for its build (the SERF CMake support is
incomplete)...

* buildstream/elements/sdk-build-depends/scons.bst: Added.
* buildstream/elements/sdk/libserf.bst: Added.
* buildstream/elements/sdk/subversion.bst:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@263740 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Tools/ChangeLog b/Tools/ChangeLog
index 1de8ca8..6b075bc 100644
--- a/Tools/ChangeLog
+++ b/Tools/ChangeLog
@@ -1,3 +1,17 @@
+2020-06-30  Philippe Normand  <pnormand@igalia.com>
+
+        [Flatpak SDK] Add libserf
+        https://bugs.webkit.org/show_bug.cgi?id=213682
+
+        Reviewed by Carlos Alberto Lopez Perez.
+
+        Subversion depends on SERF, which requires SCons for its build (the SERF CMake support is
+        incomplete)...
+
+        * buildstream/elements/sdk-build-depends/scons.bst: Added.
+        * buildstream/elements/sdk/libserf.bst: Added.
+        * buildstream/elements/sdk/subversion.bst:
+
 2020-06-29  Brady Eidson  <beidson@apple.com>
 
         JavaScript cannot be injected into iframes
diff --git a/Tools/buildstream/elements/sdk-build-depends/scons.bst b/Tools/buildstream/elements/sdk-build-depends/scons.bst
new file mode 100644
index 0000000..f41d124
--- /dev/null
+++ b/Tools/buildstream/elements/sdk-build-depends/scons.bst
@@ -0,0 +1,29 @@
+kind: manual
+sources:
+- kind: git_tag
+  ref: 3.0.4
+  url: github_com:SCons/scons.git
+
+build-depends:
+- freedesktop-sdk.bst:components/python3.bst
+
+depends:
+- freedesktop-sdk.bst:bootstrap-import.bst
+- freedesktop-sdk.bst:components/python3.bst
+
+config:
+  build-commands:
+    - |
+      python3 bootstrap.py build/scons
+
+  install-commands:
+    - |
+      cd build/scons
+      python3 setup.py install --prefix "%{prefix}" --root "%{install-root}"
+      sed -i 's,env python,env python3,' %{install-root}/usr/bin/scons
+
+public:
+  bst:
+    integration-commands:
+    - |
+      scons --help > /dev/null
diff --git a/Tools/buildstream/elements/sdk/libserf.bst b/Tools/buildstream/elements/sdk/libserf.bst
new file mode 100644
index 0000000..7578171
--- /dev/null
+++ b/Tools/buildstream/elements/sdk/libserf.bst
@@ -0,0 +1,30 @@
+kind: manual
+sources:
+- kind: git_tag
+  track: trunk
+  url: github_com:apache/serf.git
+  ref: 1cb2ab783fb7182a7d5db64d428be30b6d779a90
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-cmake.bst
+- sdk-build-depends/scons.bst
+
+depends:
+- freedesktop-sdk.bst:bootstrap-import.bst
+- test-infra/apr.bst
+- test-infra/apr-util.bst
+- freedesktop-sdk.bst:components/pkg-config.bst
+
+config:
+  build-commands:
+    - |
+      scons PREFIX=%{prefix} LIBDIR=/usr/lib/%{gcc_triplet}
+
+  install-commands:
+    - |
+      scons install --install-sandbox=%{install-root}
+
+public:
+  bst:
+    integration-commands:
+    - |
+      pkg-config --modversion serf-2
diff --git a/Tools/buildstream/elements/sdk/subversion.bst b/Tools/buildstream/elements/sdk/subversion.bst
index 293e327..68b6e7cf 100644
--- a/Tools/buildstream/elements/sdk/subversion.bst
+++ b/Tools/buildstream/elements/sdk/subversion.bst
@@ -12,6 +12,7 @@
 - freedesktop-sdk.bst:components/perl.bst
 - test-infra/apr.bst
 - test-infra/apr-util.bst
+- sdk/libserf.bst
 
 sources:
 - kind: tar