<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>