Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Feb 2014 12:13:41 +0100
From:      Lapo Luchini <lapo@lapo.it>
To:        FreeBSD-gnats-submit@freebsd.org
Cc:        Lapo Luchini <lapo@lapo.it>, madpilot@FreeBSD.org
Subject:   ports/186762: [MAINTAINER] devel/monotone: unbreak with latest boost
Message-ID:  <201402141120.s1EBK0h0063718@freefall.freebsd.org>
Resent-Message-ID: <201402141120.s1EBK0h0063718@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         186762
>Category:       ports
>Synopsis:       [MAINTAINER] devel/monotone: unbreak with latest boost
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Fri Feb 14 11:20:00 UTC 2014
>Closed-Date:
>Last-Modified:
>Originator:     Lapo Luchini
>Release:        FreeBSD 10.0-RELEASE amd64
>Organization:
>Environment:
System: FreeBSD lapo.andxor.it 10.0-RELEASE FreeBSD 10.0-RELEASE #0 r260789: Thu Jan 16 22:34:59 UTC
>Description:
Upgrading boost to 1.55 broke compilation of monotone (existing binaries are ok, they only use boost headers at compile time), this patch fixes it.

This version can also be obtained via RedPorts:
svn co https://svn.redports.org/lapo/devel/monotone@23110

Generated with FreeBSD Port Tools 0.99_11 (mode: change, diff: ports)
>How-To-Repeat:
>Fix:

--- monotone-1.0_3.patch begins here ---
diff -ruN /usr/ports/devel/monotone/files/patch-boost.diff ./files/patch-boost.diff
--- /usr/ports/devel/monotone/files/patch-boost.diff	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-boost.diff	2014-02-14 11:49:36.701814237 +0100
@@ -0,0 +1,94 @@
+# Add support for Boost 1.53+.
+# Upstream commit: dfe4b51c8db852b7281a125aac6f3ddee34906f6
+============================================================
+--- src/database.cc	87efeeff2d3263ba98af684a4022f1897434ed2d
++++ src/database.cc	39ab2644b936e09a536b99ebd28b93f6e0d7c162
+@@ -92,7 +92,7 @@ using boost::shared_ptr;
+ using std::accumulate;
+ 
+ using boost::shared_ptr;
+-using boost::shared_dynamic_cast;
++using boost::dynamic_pointer_cast;
+ using boost::lexical_cast;
+ using boost::get;
+ using boost::tuple;
+@@ -3430,7 +3430,7 @@ database::encrypt_rsa(key_id const & pub
+ 
+   shared_ptr<X509_PublicKey> x509_key(Botan::X509::load_key(pub_block));
+   shared_ptr<RSA_PublicKey> pub_key
+-    = shared_dynamic_cast<RSA_PublicKey>(x509_key);
++    = dynamic_pointer_cast<RSA_PublicKey>(x509_key);
+   if (!pub_key)
+     throw recoverable_failure(origin::system,
+                               "Failed to get RSA encrypting key");
+@@ -3481,7 +3481,7 @@ database::check_signature(key_id const &
+       L(FL("building verifier for %d-byte pub key") % pub_block.size());
+       shared_ptr<X509_PublicKey> x509_key(Botan::X509::load_key(pub_block));
+       shared_ptr<RSA_PublicKey> pub_key
+-        = boost::shared_dynamic_cast<RSA_PublicKey>(x509_key);
++        = boost::dynamic_pointer_cast<RSA_PublicKey>(x509_key);
+ 
+       E(pub_key, id.inner().made_from,
+         F("failed to get RSA verifying key for %s") % id);
+============================================================
+--- src/key_store.cc	b7859345f7c665914d16357409bdff24a48b7996
++++ src/key_store.cc	1ca13b7ee527bc2872d9fc325cf5ef327ca053c2
+@@ -43,7 +43,7 @@ using boost::shared_ptr;
+ 
+ using boost::scoped_ptr;
+ using boost::shared_ptr;
+-using boost::shared_dynamic_cast;
++using boost::dynamic_pointer_cast;
+ 
+ using Botan::RSA_PrivateKey;
+ using Botan::RSA_PublicKey;
+@@ -641,7 +641,7 @@ key_store_state::decrypt_private_key(key
+   I(pkcs8_key);
+ 
+   shared_ptr<RSA_PrivateKey> priv_key;
+-  priv_key = shared_dynamic_cast<RSA_PrivateKey>(pkcs8_key);
++  priv_key = dynamic_pointer_cast<RSA_PrivateKey>(pkcs8_key);
+   E(priv_key, origin::no_fault,
+     F("failed to extract RSA private key from PKCS#8 keypair"));
+ 
+@@ -879,7 +879,8 @@ key_store::make_signature(database & db,
+         L(FL("make_signature: building %d-byte pub key") % pub_block.size());
+         shared_ptr<X509_PublicKey> x509_key =
+           shared_ptr<X509_PublicKey>(Botan::X509::load_key(pub_block));
+-        shared_ptr<RSA_PublicKey> pub_key = shared_dynamic_cast<RSA_PublicKey>(x509_key);
++        shared_ptr<RSA_PublicKey> pub_key =
++          dynamic_pointer_cast<RSA_PublicKey>(x509_key);
+ 
+         if (!pub_key)
+           throw recoverable_failure(origin::system,
+@@ -1092,7 +1093,7 @@ key_store_state::migrate_old_key_pair
+         continue;
+       }
+ 
+-  priv_key = shared_dynamic_cast<RSA_PrivateKey>(pkcs8_key);
++  priv_key = dynamic_pointer_cast<RSA_PrivateKey>(pkcs8_key);
+   I(priv_key);
+ 
+   // now we can write out the new key
+============================================================
+--- src/ssh_agent.cc	4a0dcab873559e934e41c5f220b5434d35600d9b
++++ src/ssh_agent.cc	6313ee3cdfca4112ba3957dc4a5f318472289dfa
+@@ -32,7 +32,7 @@ using boost::shared_ptr;
+ using std::vector;
+ 
+ using boost::shared_ptr;
+-using boost::shared_dynamic_cast;
++using boost::dynamic_pointer_cast;
+ 
+ using Botan::RSA_PublicKey;
+ using Botan::RSA_PrivateKey;
+@@ -391,7 +391,8 @@ ssh_agent::has_key(const keypair & key)
+   L(FL("has_key: building %d-byte pub key") % pub_block.size());
+   shared_ptr<X509_PublicKey> x509_key =
+     shared_ptr<X509_PublicKey>(Botan::X509::load_key(pub_block));
+-  shared_ptr<RSA_PublicKey> pub_key = shared_dynamic_cast<RSA_PublicKey>(x509_key);
++  shared_ptr<RSA_PublicKey> pub_key = 
++    dynamic_pointer_cast<RSA_PublicKey>(x509_key);
+ 
+   if (!pub_key)
+     throw recoverable_failure(origin::system,
--- monotone-1.0_3.patch ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201402141120.s1EBK0h0063718>