Bug 241966

Summary: devel/py-generate: Fix MASTER_SITES, Remove BROKEN
Product: Ports & Packages Reporter: D'Arcy J.M. Cain <darcy>
Component: Individual Port(s)Assignee: Kubilay Kocak <koobs>
Status: Closed FIXED    
Severity: Affects Many People CC: koobs, python
Priority: --- Flags: koobs: merge-quarterly+
Version: Latest   
Hardware: Any   
OS: Any   
See Also: https://github.com/pandas-dev/pandas/issues/949
https://github.com/flupke/pypotrace/issues/14
https://bugzilla.kernel.org/show_bug.cgi?id=204231

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