commit:     c7befb2acb16f58e52e9914826ef4a6c7ca35cad
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 16 21:47:41 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Sep 16 22:29:12 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c7befb2a

dev-cpp/libcmis: Add new 0.5.2_pre20180118 snapshot

Package-Manager: Portage-2.3.49, Repoman-2.3.10

 dev-cpp/libcmis/Manifest                           |  1 +
 .../libcmis/files/libcmis-0.5.2-boost-1.68.patch   | 25 ++++++++
 .../files/libcmis-0.5.2-oauth2-encode.patch        | 69 ++++++++++++++++++++++
 ...999.ebuild => libcmis-0.5.2_pre20180118.ebuild} | 27 +++++----
 dev-cpp/libcmis/libcmis-9999.ebuild                | 22 +++----
 5 files changed, 118 insertions(+), 26 deletions(-)

diff --git a/dev-cpp/libcmis/Manifest b/dev-cpp/libcmis/Manifest
index b7fef5d145e..2e15c177422 100644
--- a/dev-cpp/libcmis/Manifest
+++ b/dev-cpp/libcmis/Manifest
@@ -1 +1,2 @@
 DIST libcmis-0.5.2_pre20160820.tar.gz 285100 BLAKE2B 
980200d1a56240d8d069aba2ad349ec02e90d345bad4956f6cbbea3606f9f90951523804293b349ad0419dd2db6db294a45a97872469105c1ba392c888fab332
 SHA512 
4b6d0fc4d80444fea2c5eb16621b92a10b41c58128cc8a355caca50f12648ed5113bd977cc5dbe8971e3dbc11f9d7ae8d45c9d2aa19f37c83659141af135bd1a
+DIST libcmis-0.5.2_pre20180118.tar.gz 291080 BLAKE2B 
1cb5664dcb0bef7f5a04c422b21ac54a9b70d38dec74d688327732630e4a134a88c7262d763a39d1730eda1cd45f5d3c3d47a56099959d01bf5e23972181a793
 SHA512 
630cf7e5c31266e2b55ca093aa942fc373eb24bbb5b9aedd687f67f1b3c6b627a3bdb58878859449bcb340626f3e1bdafa2b9cbb5e61e8e4336c45b804fca7a9

diff --git a/dev-cpp/libcmis/files/libcmis-0.5.2-boost-1.68.patch 
b/dev-cpp/libcmis/files/libcmis-0.5.2-boost-1.68.patch
new file mode 100644
index 00000000000..767464242f7
--- /dev/null
+++ b/dev-cpp/libcmis/files/libcmis-0.5.2-boost-1.68.patch
@@ -0,0 +1,25 @@
+From 3ef3569c4ae1c5319aff0664d52cbd8a8d42c909 Mon Sep 17 00:00:00 2001
+From: rezso <re...@rezso.net>
+Date: Tue, 4 Sep 2018 01:18:10 +0200
+Subject: tdf#119344 fix libcmis build with boost 1.68
+
+Change-Id: I80d6ea8ecd001dc02b941c1eb8974c9244316045
+Reviewed-on: https://gerrit.libreoffice.org/59958
+Tested-by: Jenkins
+Reviewed-by: Michael Stahl <michael.st...@cib.de>
+
+--- a/src/libcmis/xml-utils.cxx
++++ b/src/libcmis/xml-utils.cxx
+@@ -31,7 +31,12 @@
+ #include <sstream>
+ #include <stdlib.h>
+ 
++#include <boost/version.hpp>
++#if (BOOST_VERSION >= 106800)
++#include <boost/uuid/detail/sha1.hpp>
++#else
+ #include <boost/uuid/sha1.hpp>
++#endif
+ #include <curl/curl.h>
+ 
+ #include "xml-utils.hxx"

diff --git a/dev-cpp/libcmis/files/libcmis-0.5.2-oauth2-encode.patch 
b/dev-cpp/libcmis/files/libcmis-0.5.2-oauth2-encode.patch
new file mode 100644
index 00000000000..c6a99074c50
--- /dev/null
+++ b/dev-cpp/libcmis/files/libcmis-0.5.2-oauth2-encode.patch
@@ -0,0 +1,69 @@
+From 33f7485dedea90e0f80c6348fa8ac5f27c5052e0 Mon Sep 17 00:00:00 2001
+From: Stephan Bergmann <sberg...@redhat.com>
+Date: Tue, 4 Sep 2018 16:45:00 +0200
+Subject: Properly encode OAuth2 credentials
+
+Change-Id: Ic3edeae035262309e91fb01e3aca5c2f905bc3e5
+Reviewed-on: https://gerrit.libreoffice.org/59986
+Tested-by: Jenkins
+Reviewed-by: Stephan Bergmann <sberg...@redhat.com>
+
+--- a/src/libcmis/oauth2-providers.cxx
++++ b/src/libcmis/oauth2-providers.cxx
+@@ -26,6 +26,8 @@
+  * instead of those above.
+  */
+ 
++#include <cassert>
++
+ #include <libxml/HTMLparser.h>
+ #include <libxml/xmlreader.h>
+ 
+@@ -45,6 +47,29 @@
+ #define HTML_PARSE_RECOVER 0
+ #endif
+ 
++namespace {
++
++// See <https://url.spec.whatwg.org/#concept-urlencoded-byte-serializer>:
++void addXWwwFormUrlencoded(std::string * buffer, std::string const & data) {
++    assert(buffer);
++    for (string::const_iterator i = data.begin(); i != data.end(); ++i) {
++        unsigned char c = static_cast<unsigned char>(*i);
++        if (c == ' ' || c == '*' || c == '-' || c == '.' || (c >= '0' && c <= 
'9')
++            || (c >= 'A' && c <= 'Z') || c == '_' || (c >= 'a' && c <= 'z'))
++        {
++            *buffer += static_cast<char>(c);
++        } else {
++            static const char hex[16] = {
++                '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 
'C', 'D', 'E', 'F'};
++            *buffer += '%';
++            *buffer += hex[c >> 4];
++            *buffer += hex[c & 0xF];
++        }
++    }
++}
++
++}
++
+ string OAuth2Providers::OAuth2Gdrive( HttpSession* session, const string& 
authUrl,
+                                       const string& username, const string& 
password )
+ {
+@@ -97,7 +120,7 @@
+         return string( );
+ 
+     loginEmailPost += "Email=";
+-    loginEmailPost += string( username );
++    addXWwwFormUrlencoded(&loginEmailPost, username);
+ 
+     istringstream loginEmailIs( loginEmailPost );
+     string loginEmailRes;
+@@ -119,7 +142,7 @@
+         return string( );
+ 
+     loginPasswdPost += "Passwd=";
+-    loginPasswdPost += string( password );
++    addXWwwFormUrlencoded(&loginPasswdPost, password);
+ 
+     istringstream loginPasswdIs( loginPasswdPost );
+     string loginPasswdRes;

diff --git a/dev-cpp/libcmis/libcmis-9999.ebuild 
b/dev-cpp/libcmis/libcmis-0.5.2_pre20180118.ebuild
similarity index 75%
copy from dev-cpp/libcmis/libcmis-9999.ebuild
copy to dev-cpp/libcmis/libcmis-0.5.2_pre20180118.ebuild
index 78e5b1990a3..9c4546b7f5f 100644
--- a/dev-cpp/libcmis/libcmis-9999.ebuild
+++ b/dev-cpp/libcmis/libcmis-0.5.2_pre20180118.ebuild
@@ -5,17 +5,14 @@ EAPI=6
 
 if [[ ${PV} = 9999 ]]; then
        EGIT_REPO_URI="https://github.com/tdf/libcmis.git";
-       SCM_ECLASS="git-r3"
+       inherit git-r3
 elif [[ ${PV} = *_pre* ]]; then
-       SCM_ECLASS="vcs-snapshot"
-       snapshot=d2054a12e3f52fff8e96341e8c48f0dcd75e2e2a
-       SRC_URI="https://github.com/tdf/${PN}/archive/${snapshot}.tar.gz -> 
${P}.tar.gz"
-       unset snapshot
+       COMMIT=738528d790b2b1d52d9b72d673842969a852815d
+       SRC_URI="https://github.com/tdf/${PN}/archive/${COMMIT}.tar.gz -> 
${P}.tar.gz"
 else
        SRC_URI="https://github.com/tdf/${PN}/archive/v${PV}.tar.gz -> 
${P}.tar.gz"
 fi
-inherit alternatives autotools flag-o-matic ${SCM_ECLASS}
-unset SCM_ECLASS
+inherit alternatives autotools flag-o-matic
 
 DESCRIPTION="C++ client library for the CMIS interface"
 HOMEPAGE="https://github.com/tdf/libcmis";
@@ -25,16 +22,16 @@ SLOT="0.5"
 
 # Don't move KEYWORDS on the previous line or ekeyword won't work # 399061
 [[ ${PV} == 9999 ]] || \
-KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
 
 IUSE="man static-libs test"
 
-COMMON_DEPEND="
+RDEPEND="
        dev-libs/boost:=
        dev-libs/libxml2
        net-misc/curl
 "
-DEPEND="${COMMON_DEPEND}
+DEPEND="${RDEPEND}
        virtual/pkgconfig
        man? (
                app-text/docbook2X
@@ -45,12 +42,16 @@ DEPEND="${COMMON_DEPEND}
                dev-util/cppunit
        )
 "
-RDEPEND="${COMMON_DEPEND}
-       !<dev-cpp/libcmis-0.5.0
-"
 
 RESTRICT="test"
 
+PATCHES=(
+       "${FILESDIR}/${PN}-0.5.2-boost-1.68.patch"
+       "${FILESDIR}/${PN}-0.5.2-oauth2-encode.patch"
+)
+
+[[ ${PV} = *_pre* ]] && S="${WORKDIR}/${PN}-${COMMIT}"
+
 src_prepare() {
        default
        [[ ${PV} = *_pre* || ${PV} = 9999 ]] && eautoreconf

diff --git a/dev-cpp/libcmis/libcmis-9999.ebuild 
b/dev-cpp/libcmis/libcmis-9999.ebuild
index 78e5b1990a3..922b7a7756a 100644
--- a/dev-cpp/libcmis/libcmis-9999.ebuild
+++ b/dev-cpp/libcmis/libcmis-9999.ebuild
@@ -5,17 +5,14 @@ EAPI=6
 
 if [[ ${PV} = 9999 ]]; then
        EGIT_REPO_URI="https://github.com/tdf/libcmis.git";
-       SCM_ECLASS="git-r3"
+       inherit git-r3
 elif [[ ${PV} = *_pre* ]]; then
-       SCM_ECLASS="vcs-snapshot"
-       snapshot=d2054a12e3f52fff8e96341e8c48f0dcd75e2e2a
-       SRC_URI="https://github.com/tdf/${PN}/archive/${snapshot}.tar.gz -> 
${P}.tar.gz"
-       unset snapshot
+       COMMIT=738528d790b2b1d52d9b72d673842969a852815d
+       SRC_URI="https://github.com/tdf/${PN}/archive/${COMMIT}.tar.gz -> 
${P}.tar.gz"
 else
        SRC_URI="https://github.com/tdf/${PN}/archive/v${PV}.tar.gz -> 
${P}.tar.gz"
 fi
-inherit alternatives autotools flag-o-matic ${SCM_ECLASS}
-unset SCM_ECLASS
+inherit alternatives autotools flag-o-matic
 
 DESCRIPTION="C++ client library for the CMIS interface"
 HOMEPAGE="https://github.com/tdf/libcmis";
@@ -25,16 +22,16 @@ SLOT="0.5"
 
 # Don't move KEYWORDS on the previous line or ekeyword won't work # 399061
 [[ ${PV} == 9999 ]] || \
-KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
 
 IUSE="man static-libs test"
 
-COMMON_DEPEND="
+RDEPEND="
        dev-libs/boost:=
        dev-libs/libxml2
        net-misc/curl
 "
-DEPEND="${COMMON_DEPEND}
+DEPEND="${RDEPEND}
        virtual/pkgconfig
        man? (
                app-text/docbook2X
@@ -45,12 +42,11 @@ DEPEND="${COMMON_DEPEND}
                dev-util/cppunit
        )
 "
-RDEPEND="${COMMON_DEPEND}
-       !<dev-cpp/libcmis-0.5.0
-"
 
 RESTRICT="test"
 
+[[ ${PV} = *_pre* ]] && S="${WORKDIR}/${PN}-${COMMIT}"
+
 src_prepare() {
        default
        [[ ${PV} = *_pre* || ${PV} = 9999 ]] && eautoreconf

Reply via email to