<pre style='margin:0'>
Landon Fuller (landonf) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/63d36d5a9e97e47bda3e995934142dae3b95792d">https://github.com/macports/macports-ports/commit/63d36d5a9e97e47bda3e995934142dae3b95792d</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 63d36d5  librsvg: fix build with rust 1.38.0
</span>63d36d5 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 63d36d5a9e97e47bda3e995934142dae3b95792d
</span>Author: Landon Fuller <landonf@macports.org>
AuthorDate: Fri Oct 11 15:56:50 2019 -0600

<span style='display:block; white-space:pre;color:#404040;'>    librsvg: fix build with rust 1.38.0
</span>---
 graphics/librsvg/Portfile                     |  3 +-
 graphics/librsvg/files/patch-rust-1.38.0.diff | 68 +++++++++++++++++++++++++++
 2 files changed, 70 insertions(+), 1 deletion(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/librsvg/Portfile b/graphics/librsvg/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 06f3418..a4abc34 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/librsvg/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/librsvg/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -77,7 +77,8 @@ if {${os.platform} eq "darwin" && ${os.major} < 15} {
</span> 
     # when CARGO_BUILD_TARGET is set, directory structure changes
     patchfiles-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    patch-configure-rust_target_subdir.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-configure-rust_target_subdir.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-rust-1.38.0.diff
</span> 
     if {![variant_isset viewer]} {
         patchfiles-append   patch-disable-viewer.diff
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/librsvg/files/patch-rust-1.38.0.diff b/graphics/librsvg/files/patch-rust-1.38.0.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..0dced25
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/librsvg/files/patch-rust-1.38.0.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,68 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Backport from upstream commit https://github.com/servo/rust-cssparser/commit/3c98d22c5de3b696bf1fde2b6c90069812312aa6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Not necessary once librsvg is updated to 2.46.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- vendor/cssparser/src/parser.rs 2017-12-11 12:41:06.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ vendor/cssparser/src/parser.rs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -555,28 +555,34 @@ impl<'i: 't, 't> Parser<'i, 't> {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         let token_start_position = self.input.tokenizer.position();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        let token;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        match self.input.cached_token {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            Some(ref cached_token)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            if cached_token.start_position == token_start_position => {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                self.input.tokenizer.reset(&cached_token.end_state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                match cached_token.token {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    Token::Function(ref name) => self.input.tokenizer.see_function(name),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    _ => {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                token = &cached_token.token
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            _ => {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                let new_token = self.input.tokenizer.next()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    .map_err(|()| self.new_basic_error(BasicParseErrorKind::EndOfInput))?;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                self.input.cached_token = Some(CachedToken {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    token: new_token,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    start_position: token_start_position,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    end_state: self.input.tokenizer.state(),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                });
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                token = self.input.cached_token_ref()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        let using_cached_token = self
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            .input
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            .cached_token
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            .as_ref()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            .map_or(false, |cached_token| {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                cached_token.start_position == token_start_position
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            });
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        let token = if using_cached_token {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            let cached_token = self.input.cached_token.as_ref().unwrap();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            self.input.tokenizer.reset(&cached_token.end_state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            match cached_token.token {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                Token::Function(ref name) => self.input.tokenizer.see_function(name),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                _ => {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            &cached_token.token
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            let new_token = self
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                .input
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                .tokenizer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                .next()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                .map_err(|()| self.new_basic_error(BasicParseErrorKind::EndOfInput))?;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            self.input.cached_token = Some(CachedToken {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                token: new_token,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                start_position: token_start_position,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                end_state: self.input.tokenizer.state(),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            });
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            self.input.cached_token_ref()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if let Some(block_type) = BlockType::opening(token) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             self.at_start_of = Some(block_type);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- vendor/cssparser/.cargo-checksum.json.orig     2019-10-11 15:36:47.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ vendor/cssparser/.cargo-checksum.json  2019-10-11 15:37:17.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1 +1 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-{"files":{".travis.yml":"e8f586288c39dbaebefdd391f68376e58f3a4c568a8dc3cd97c4a362194716dd","Cargo.toml":"99d0445140451d806afb253209d7fb144fe0879f52b2ba69da621237f8dd546b","LICENSE":"fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85","README.md":"c5781e673335f37ed3d7acb119f8ed33efdf6eb75a7094b7da2abe0c3230adb8","build.rs":"ce686e87cccb6aa85a8cd34688d809398c5a624f179fd9a172d1049892da3f4c","build/match_byte.rs":"31905ae3dba69fa82c1f13069df4cd056bb340d59ee5d177679425f105f203c [...]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\ No newline at end of file
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{"files":{".travis.yml":"e8f586288c39dbaebefdd391f68376e58f3a4c568a8dc3cd97c4a362194716dd","Cargo.toml":"99d0445140451d806afb253209d7fb144fe0879f52b2ba69da621237f8dd546b","LICENSE":"fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85","README.md":"c5781e673335f37ed3d7acb119f8ed33efdf6eb75a7094b7da2abe0c3230adb8","build.rs":"ce686e87cccb6aa85a8cd34688d809398c5a624f179fd9a172d1049892da3f4c","build/match_byte.rs":"31905ae3dba69fa82c1f13069df4cd056bb340d59ee5d177679425f105f203c [...]
</span></pre><pre style='margin:0'>

</pre>