<pre style='margin:0'>
Renee Otten (reneeotten) pushed a commit to branch master
in repository upt-macports.

</pre>
<p><a href="https://github.com/macports/upt-macports/commit/39d5324bbd4d9fe40da1a8fbaeeee5db9352e46f">https://github.com/macports/upt-macports/commit/39d5324bbd4d9fe40da1a8fbaeeee5db9352e46f</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 39d5324  Set homepage in template when needed
</span>39d5324 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 39d5324bbd4d9fe40da1a8fbaeeee5db9352e46f
</span>Author: Renee Otten <reneeotten@macports.org>
AuthorDate: Fri Dec 20 09:02:38 2019 -0500

<span style='display:block; white-space:pre;color:#404040;'>    Set homepage in template when needed
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    - Perl: set if different than the perl5-1.0 PortGroup default
</span><span style='display:block; white-space:pre;color:#404040;'>    - Ruby: set to RubyGems project page if no homepage is provided (it
</span><span style='display:block; white-space:pre;color:#404040;'>        turns out the default in the ruby-1.0 PG is not set correctly)
</span><span style='display:block; white-space:pre;color:#404040;'>    - Python: set to PyPI project page if no homepage is provided
</span>---
 upt_macports/templates/perl.Portfile      |  4 ++++
 upt_macports/templates/python.Portfile    |  2 +-
 upt_macports/templates/ruby.Portfile      |  5 +++++
 upt_macports/tests/test_perl_package.py   | 20 ++++++++++++++++++++
 upt_macports/tests/test_python_package.py | 18 ++++++++++++++++++
 upt_macports/tests/test_ruby_package.py   | 18 ++++++++++++++++++
 upt_macports/upt_macports.py              | 29 +++++++++++++++++++++++++++++
 7 files changed, 95 insertions(+), 1 deletion(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/upt_macports/templates/perl.Portfile b/upt_macports/templates/perl.Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 5c2d42e..5a6c810 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/upt_macports/templates/perl.Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/upt_macports/templates/perl.Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10,6 +10,10 @@ revision            0
</span> {% endblock %}
 
 {% block dist_info %}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+{%- if pkg.homepage -%}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            {{ pkg.homepage }}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+{% endif %}
</span> {% if pkg.archive_type not in ['gz', 'unknown'] -%} {{ "use_%-15s yes"|format(pkg.archive_type) }}
 
 {% endif -%}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/upt_macports/templates/python.Portfile b/upt_macports/templates/python.Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 713b97c..e4c9bab 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/upt_macports/templates/python.Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/upt_macports/templates/python.Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13,7 +13,7 @@ revision            0
</span> {% endblock %}
 
 {% block dist_info %}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-homepage            {{ pkg.upt_pkg.homepage }}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            {{ pkg.homepage }}
</span> {% if pkg.archive_type not in ['gz', 'unknown'] -%} {{ "use_%-15s yes"|format(pkg.archive_type) }}
 
 {% else %}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/upt_macports/templates/ruby.Portfile b/upt_macports/templates/ruby.Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 9e09b8f..54461f7 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/upt_macports/templates/ruby.Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/upt_macports/templates/ruby.Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9,6 +9,11 @@ ruby.setup          {{ pkg._pkgname() }} {{ pkg.upt_pkg.version }} gem {} rubyge
</span> revision            0
 {% endblock %}
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+{% block dist_info %}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            {{ pkg.homepage }}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+{% endblock %}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> {% block dependencies %}
 
 if {${subport} ne ${name}} {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/upt_macports/tests/test_perl_package.py b/upt_macports/tests/test_perl_package.py
</span><span style='display:block; white-space:pre;color:#808080;'>index 13fcdf3..97093b9 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/upt_macports/tests/test_perl_package.py
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/upt_macports/tests/test_perl_package.py
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -52,6 +52,26 @@ class TestMacPortsPerlPackage(unittest.TestCase):
</span>         self.assertEqual(self.package.jinja2_reqformat(req),
                          'p${perl5.major}-require')
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    def test_homepage(self):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        upt_homepages = [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            '',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            'unknown',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            'https://github.com/Foo-Bar',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            'https://metacpan.org/pod/Foo-Bar'
</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;'>+        excpected_homepages = [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            None,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            None,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            'https://github.com/Foo-Bar',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            None
</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;'>+        for (upt_homepage, expected_homepage) in zip(upt_homepages,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                                     excpected_homepages):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            self.package.upt_pkg.homepage = upt_homepage
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            self.assertEqual(self.package.homepage, expected_homepage)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> 
 if __name__ == '__main__':
     unittest.main()
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/upt_macports/tests/test_python_package.py b/upt_macports/tests/test_python_package.py
</span><span style='display:block; white-space:pre;color:#808080;'>index 2e14704..80cefe6 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/upt_macports/tests/test_python_package.py
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/upt_macports/tests/test_python_package.py
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -48,6 +48,24 @@ class TestMacPortsPythonPackage(unittest.TestCase):
</span>         self.assertEqual(self.package.jinja2_reqformat(req),
                          'py${python.version}-require')
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    def test_homepage(self):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        upt_homepages = [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            '',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            'unknown',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            'https://github.com/test-pkg'
</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;'>+        excpected_homepages = [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            'https://pypi.org/project/test-pkg',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            'https://pypi.org/project/test-pkg',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            'https://github.com/test-pkg'
</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;'>+        for (upt_homepage, expected_homepage) in zip(upt_homepages,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                                     excpected_homepages):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            self.package.upt_pkg.homepage = upt_homepage
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            self.assertEqual(self.package.homepage, expected_homepage)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> 
 if __name__ == '__main__':
     unittest.main()
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/upt_macports/tests/test_ruby_package.py b/upt_macports/tests/test_ruby_package.py
</span><span style='display:block; white-space:pre;color:#808080;'>index 1ee05aa..5f2e363 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/upt_macports/tests/test_ruby_package.py
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/upt_macports/tests/test_ruby_package.py
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -29,6 +29,24 @@ class TestMacPortsRubyPackage(unittest.TestCase):
</span>         self.assertEqual(self.package.jinja2_reqformat(req),
                          'rb${ruby.suffix}-require')
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    def test_homepage(self):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        upt_homepages = [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            '',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            'unknown',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            'https://github.com/test-pkg',
</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;'>+        excpected_homepages = [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            'https://rubygems.org/gems/test-pkg',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            'https://rubygems.org/gems/test-pkg',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            'https://github.com/test-pkg'
</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;'>+        for (upt_homepage, expected_homepage) in zip(upt_homepages,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                                     excpected_homepages):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            self.package.upt_pkg.homepage = upt_homepage
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            self.assertEqual(self.package.homepage, expected_homepage)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> 
 if __name__ == '__main__':
     unittest.main()
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/upt_macports/upt_macports.py b/upt_macports/upt_macports.py
</span><span style='display:block; white-space:pre;color:#808080;'>index 7ba4ce9..0044ab4 100755
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/upt_macports/upt_macports.py
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/upt_macports/upt_macports.py
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -120,6 +120,10 @@ class MacPortsPackage(object):
</span>             self.logger.error('Could not determine the type of the source archive') # noqa
             return 'unknown'
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    @property
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    def homepage(self):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return self.upt_pkg.homepage
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>     def _pkgname(self):
         return self._normalized_macports_name(self.upt_pkg.name)
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -147,6 +151,14 @@ class MacPortsPythonPackage(MacPortsPackage):
</span>     def jinja2_reqformat(self, req):
         return f'py${{python.version}}-{req.name.lower()}'
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    @property
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    def homepage(self):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        homepage = self.upt_pkg.homepage
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if homepage.startswith('http'):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return homepage
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return f'https://pypi.org/project/{self.upt_pkg.name}'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> 
 class MacPortsPerlPackage(MacPortsPackage):
     template = 'perl.Portfile'
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -189,6 +201,15 @@ class MacPortsPerlPackage(MacPortsPackage):
</span>             self.logger.info('Using fallback location for dist file')
             return f' ../../authors/id/{fallback_dist}/'
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    @property
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    def homepage(self):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        homepage = self.upt_pkg.homepage
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        portgroup_default = 'metacpan.org/pod'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if homepage.startswith('http') and portgroup_default not in homepage:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return homepage
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return None
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> 
 class MacPortsRubyPackage(MacPortsPackage):
     template = 'ruby.Portfile'
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -207,6 +228,14 @@ class MacPortsRubyPackage(MacPortsPackage):
</span>     def jinja2_reqformat(self, req):
         return f'rb${{ruby.suffix}}-{req.name.lower()}'
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    @property
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    def homepage(self):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        homepage = self.upt_pkg.homepage
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if homepage.startswith('http'):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return homepage
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return f'https://rubygems.org/gems/{self.upt_pkg.name}'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> 
 class MacPortsBackend(upt.Backend):
     def __init__(self):
</pre><pre style='margin:0'>

</pre>