Bug 241966 - devel/py-generate: Fix MASTER_SITES, Remove BROKEN
Summary: devel/py-generate: Fix MASTER_SITES, Remove BROKEN
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Kubilay Kocak
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-11-14 15:28 UTC by D'Arcy J.M. Cain
Modified: 2020-01-12 05:35 UTC (History)
2 users (show)

See Also:
koobs: merge-quarterly+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description D'Arcy J.M. Cain 2019-11-14 15:28:09 UTC
This upgrades the code to the latest version and makes it un-broken.

Index: Makefile
===================================================================
--- Makefile    (revision 517554)
+++ Makefile    (working copy)
@@ -2,10 +2,10 @@
 # $FreeBSD$
 
 PORTNAME=      generate
-PORTVERSION=   2.6
+PORTVERSION=   2.8
 PORTREVISION=  1
 CATEGORIES=    devel python
-MASTER_SITES=  ftp://ftp.druid.net/pub/distrib/
+MASTER_SITES=  http://druid.net/darcy/
 PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
 DISTNAME=      generate-${PORTVERSION}
 
@@ -12,8 +12,6 @@
 MAINTAINER=    darcy@druid.net
 COMMENT=       Python module to implement generate
 
-BROKEN=                unfetchable
-
 USES=          gmake python tar:tgz
 USE_PYTHON=    distutils autoplist
 
Index: distinfo
===================================================================
--- distinfo    (revision 517554)
+++ distinfo    (working copy)
@@ -1,2 +1,3 @@
-SHA256 (generate-2.6.tgz) = 609e166f66b4bb3028fb9e5486ffddff98fc7bf4f354659516c2b86a800948bd
-SIZE (generate-2.6.tgz) = 29045
+TIMESTAMP = 1573744345
+SHA256 (generate-2.8.tgz) = 35b56d1f11fb834c0cbeca3c41c1dceee8b18d40933e0c680519daf24e9c2dd9
+SIZE (generate-2.8.tgz) = 31590
Comment 1 Kubilay Kocak freebsd_committer freebsd_triage 2020-01-12 03:32:51 UTC
Thank you for the report and D'Arcy

For future issues updating ports you maintain, please:

- Include any patches as an attachment
- Set maintainer-approval attachment flag (to +), to signify maintainer approval. Attachment -> Details -> maintainer-approval [+], or set the flag during the  attachment upload step
Comment 2 Kubilay Kocak freebsd_committer freebsd_triage 2020-01-12 04:05:39 UTC
Review items:

- Remove PORTREVISION when updating PORTVERSION/DISTVERSION
- DISTNAME not required (defaults to PORTNAME-DISTVERSION)
- setup.py:version specifies the version is 2.2 (should be 2.8 per PORTVERSION).
- Does not require gmake to build: package provides a setup.py utilising setuptools Extension class to build. 
- Built extension is not stripped: Warning: 'lib/python2.7/site-packages/generate.so' is not stripped consider trying INSTALL_TARGET=install-strip or using ${STRIP_CMD} (use $STRIP_CMD} in a post-install: target)
- URL [1] declared in setup.py is Forbidden
- LICENSE is not defined in port, or setup.py. Some license(s) should be declared so they can be reflected acurately in the port. Could not find license details on homepage URL or in sources, except the following:

  - expr.c: from NetBSD (Public Domain)
  - generate.c: This program may be freely distributed as long as ... (also in other files)
  - getline.c # This code may be used on any computer system for ...

- USES=python does not specify a :<version-spec> of supported versions, which allows builds on any (every) Python version. generate fails to import on Python 3: ImportError: /usr/local/lib/python3.7/site-packages/generate.so: Undefined symbol "PyString_FromString" [2][3][4]

  - Add Trove Classifiers to setup.py to declare what versions are supported
  - Set setup.py:python_requires to suite
  - Specify USES=python:<version-spec> to match above.
  - A simple test suite / tests for generate would be great for future QA

[1] http://www.druid.net/darcy/readme-generate.html
[2] https://github.com/pandas-dev/pandas/issues/949
[3] https://github.com/flupke/pypotrace/issues/14
[4] https://bugzilla.kernel.org/show_bug.cgi?id=204231
Comment 3 commit-hook freebsd_committer 2020-01-12 05:30:12 UTC
A commit references this bug:

Author: koobs
Date: Sun Jan 12 05:29:25 UTC 2020
New revision: 522753
URL: https://svnweb.freebsd.org/changeset/ports/522753

Log:
  devel/py-generate: Fix MASTER_SITES, Remove BROKEN [1]

  While I'm here, address other ports bugs/issues [2]:

    - gmake is not required (build uses distutils/setuptools:Extension)
    - patch setup.py:version (was 2.2) to match PORTVERSION (2.8)
    - Remove unecessary DISTNAME override
    - Strip installed extension/library
    - Correctly declare USES=python:<version-spec>, limited to 2.7. Fails to
      import on Python 3:

        ImportError: ... /site-packages/generate.so: Undefined symbol "PyString_FromString

  PR:		241966
  Submitted by:	D'Arcy J.M. Cain <darcy druid net> [1]
  Approved by:	portmgr (blanket(s): ports compliance, dependencies) [2]
  MFH:		2020Q1 (blanket(s): build (fetch) fix, ports compliance) [1][2]

Changes:
  head/devel/py-generate/Makefile
  head/devel/py-generate/distinfo
  head/devel/py-generate/files/
  head/devel/py-generate/files/patch-setup.py
Comment 4 commit-hook freebsd_committer 2020-01-12 05:35:14 UTC
A commit references this bug:

Author: koobs
Date: Sun Jan 12 05:35:01 UTC 2020
New revision: 522754
URL: https://svnweb.freebsd.org/changeset/ports/522754

Log:
  MFH: r522753 devel/py-generate: Fix MASTER_SITES, Remove BROKEN [1]

  While I'm here, address other ports bugs/issues [2]:

    - gmake is not required (build uses distutils/setuptools:Extension)
    - patch setup.py:version (was 2.2) to match PORTVERSION (2.8)
    - Remove unecessary DISTNAME override
    - Strip installed extension/library
    - Correctly declare USES=python:<version-spec>, limited to 2.7. Fails to
      import on Python 3:

        ImportError: ... /site-packages/generate.so: Undefined symbol "PyString_FromString

  PR:		241966
  Submitted by:	D'Arcy J.M. Cain <darcy druid net> [1]
  Approved by:	portmgr (blanket(s): ports compliance, dependencies) [2]

  Approved by:	ports-secteam ((blanket(s): build (fetch) fix, ports compliance) [1][2]

Changes:
_U  branches/2020Q1/
  branches/2020Q1/devel/py-generate/Makefile
  branches/2020Q1/devel/py-generate/distinfo
  branches/2020Q1/devel/py-generate/files/
Comment 5 Kubilay Kocak freebsd_committer freebsd_triage 2020-01-12 05:35:51 UTC
Committed and merged with changes, thank you D'Arcy