Bug 211435 - [NEW PORT] net/py-flask-xml-rpc: Adds support for creating XML-RPC APIs to Flask
Summary: [NEW PORT] net/py-flask-xml-rpc: Adds support for creating XML-RPC APIs to Flask
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Kubilay Kocak
URL:
Keywords: feature
Depends on:
Blocks:
 
Reported: 2016-07-29 02:33 UTC by John W. O'Brien
Modified: 2018-03-02 05:21 UTC (History)
3 users (show)

See Also:


Attachments
net/py-flask-xml-rpc new port diff (7.18 KB, patch)
2016-07-29 16:09 UTC, John W. O'Brien
no flags Details | Diff
net/py-flask-xml-rpc: New port diff (7.22 KB, patch)
2017-02-18 17:39 UTC, John W. O'Brien
john: maintainer-approval+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description John W. O'Brien 2016-07-29 02:33:31 UTC
Description:

Flask-XML-RPC is an extension for Flask that makes it easy to create APIs
based on the XML-RPC standard. It features easy registration of methods
and namespacing, connects seamlessly to your Flask app, and includes
plenty of testing helpers.

QA:

portlint -- looks fine.
poudriere -- ran testport on 10.3-RELEASE-p4 amd64 with python2.7 and python3.4
Comment 1 Ruslan Makhmatkhanov freebsd_committer freebsd_triage 2016-07-29 15:33:43 UTC
John, no attachment here.
Comment 2 John W. O'Brien 2016-07-29 16:09:11 UTC
Created attachment 173098 [details]
net/py-flask-xml-rpc new port diff
Comment 3 John W. O'Brien 2016-07-29 16:10:02 UTC
(In reply to Ruslan Makhmatkhanov from comment #1)
@rm: Late night user error, apparently. All is well now?
Comment 4 Ruslan Makhmatkhanov freebsd_committer freebsd_triage 2016-07-29 16:19:15 UTC
(In reply to John W. O'Brien from comment #3)
New ports should be sent in shar format [1], so please resubmit as shar.
Also please change USES=python to USES=python:2.7+ if this port will work with any python version and if there are no scripts with shebangs like '#!/usr/bin/env python'. In latter case shebangs should be fixed with USES=shebangfix [2]. This eliminates dependency upon lang/python metaport. 

It looks fine to me besides of this.

[1] https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/porting-submitting.html
[2] https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/uses-shebangfix.html
Comment 5 John W. O'Brien 2016-07-29 16:35:28 UTC
(In reply to Ruslan Makhmatkhanov from comment #4)

Hi @rm,

Re: format of new ports -- from [1]: "A diff created from a Subversion checkout of the ports tree is also acceptable. Add all the files with svn add. cd to the base of the ports tree so full paths to the changed files are included in the diff, then generate the diff with svn diff. For example, svn diff games/oneko > oneko.diff."

Re: shebang fix -- this port installs no scripts, so shebangfix is unnecessary.

Re: USES -- consistency with precedent suggests that USES=python is the best choice.

$ find . -depth 3 -name Makefile -path "./*/*flask*/*" | xargs grep USES
./www/py-flask-restplus08/Makefile:USES=		python
./www/py-flask-bootstrap/Makefile:USES=		python
./www/py-flask-sockets/Makefile:USES=		python
./www/py-flask-login/Makefile:USES=		python
./www/py-frozen-flask/Makefile:USES=		python
./www/py-flask-oauthlib/Makefile:USES=		python
./www/py-flask-admin/Makefile:USES=		python
./www/py-flask-restful/Makefile:USES=		python
./www/py-flask-cors/Makefile:USES=		python
./www/py-flask-wtf/Makefile:USES=		python
./www/py-flask-restplus/Makefile:USES=		python
./www/py-flask-compress/Makefile:USES=		python
./www/py-flask/Makefile:USES=	python
./www/py-flask-uploads/Makefile:USES=	python
./www/py-flask-flatpages/Makefile:USES=		python
./www/py-flask-cache/Makefile:USES=		python
./databases/py-flask-sqlalchemy/Makefile:USES=	python
./devel/py-flask-babel/Makefile:USES=		python
./net/py-flask-xml-rpc/Makefile:USES=		python
./security/py-flask-kerberos/Makefile:USES=		python
./security/py-flask-httpauth/Makefile:USES=		python

Furthermore, my system does not register a dependency on the lang/python metaport for this port as submitted.

$ pkg info -d -F /srv/poudriere/data/packages/103amd64-default-python27/All/py27-Flask-XML-RPC-0.1.2.txz
py27-Flask-XML-RPC-0.1.2:
	py27-Flask-0.11.1
	python27-2.7.12
	py27-setuptools27-23.1.0
$ pkg info -d -F /srv/poudriere/data/packages/103amd64-default-python34/All/py34-Flask-XML-RPC-0.1.2.txz
py34-Flask-XML-RPC-0.1.2:
	py34-Flask-0.11.1
	python34-3.4.5
	py34-setuptools34-23.1.0
Comment 6 Ruslan Makhmatkhanov freebsd_committer freebsd_triage 2016-07-29 17:06:57 UTC
(In reply to John W. O'Brien from comment #5)
Hmm, you are right about [1]. Looks like something I missed :) Sorry.

Version in USES nevertheless should be changed. It's kinda new trend and the most of ports are still doing it wrong. As far I can see it doesn't documented anywhere, but there is the mailing list post from koobs@ that explains that:

https://lists.freebsd.org/pipermail/svn-ports-head/2016-July/124310.html
Comment 7 John W. O'Brien 2016-07-30 00:05:24 UTC
(In reply to Ruslan Makhmatkhanov from comment #6)

While there may be a change of direction afoot, I don't believe koobs@ has his facts entirely straight and I have taken it up with him off-list. I will respond once he and I have hammered things out.
Comment 8 John W. O'Brien 2017-02-18 17:39:33 UTC
Created attachment 180117 [details]
net/py-flask-xml-rpc: New port diff

I'm refreshing this patch to add a python version support comment and a distinfo timestamp.
Comment 9 John W. O'Brien 2017-04-07 00:29:30 UTC
If we look at all */py* ports added to the tree since I first submitted this port, the overwhelming majority of them fail to meet the standard to which my submission is evidently being held.

$ svn log -v -r 419262:437907 /usr/ports \
 | egrep "^   A /head/[^/]+/py[^/]+/Makefile$" \
 | cut -d/ -f3-5 \
 | xargs egrep "USES" -hs \
 | egrep -o "python[+.:0-9]*" \
 | sort \
 | uniq -c
 221 python
   4 python:
   5 python:2
   1 python:2.4+
   1 python:2.5+
   1 python:2.6
   7 python:2.7
   1 python:2.7+
  15 python:3
   3 python:3.1+
   5 python:3.2+
  25 python:3.3+
   1 python:3.4+
   1 python:3.6

Furthermore, there has been no additional discussion on the mailing list, and no apparent efforts to further define nor deliver the python ports machinery capabilities required to support the "new trend" cited in comment #6. Empirically, the "trend" was actually just an interesting idea that has failed to take hold in any meaningful way.

Please commit this port by this time two weeks hence (04/20) or I will consider my submission rejected.
Comment 10 Kubilay Kocak freebsd_committer freebsd_triage 2017-04-07 07:09:02 UTC
(In reply to John W. O'Brien from comment #9)

The use in your latest patch is correct. That is, to use USES=python if a package supports both 2.x and 3.x until we have a better way to specify multiple versions as the ports framework (python.mk) doesn't support 'X,Y' form (as far as I'm aware).

The delay is unrelated to the request to provide an as precise version specification as possible (without being incorrect), and is not a rejection of the port.
Comment 11 Mathieu Arnold freebsd_committer freebsd_triage 2017-07-06 13:52:41 UTC
Assignee timeout. Give back to the pool.
Comment 12 commit-hook freebsd_committer freebsd_triage 2018-03-02 05:15:25 UTC
A commit references this bug:

Author: koobs
Date: Fri Mar  2 05:15:07 UTC 2018
New revision: 463370
URL: https://svnweb.freebsd.org/changeset/ports/463370

Log:
  [NEW] net/py-flask-xml-rpc: Adds support for creating XML-RPC APIs to Flask

  Flask-XML-RPC is an extension for Flask that makes it easy to create APIs
  based on the XML-RPC standard. It features easy registration of methods
  and namespacing, connects seamlessly to your Flask app, and includes
  plenty of testing helpers.

  WWW: https://bitbucket.org/leafstorm/flask-xml-rpc/

  PR:		211435
  Submitted by:	John W. O'Brien <john saltant com>

Changes:
  head/net/Makefile
  head/net/py-flask-xml-rpc/
  head/net/py-flask-xml-rpc/Makefile
  head/net/py-flask-xml-rpc/distinfo
  head/net/py-flask-xml-rpc/files/
  head/net/py-flask-xml-rpc/files/patch-flaskext_xmlrpc.py
  head/net/py-flask-xml-rpc/files/patch-tests_test-xmlrpc.py
  head/net/py-flask-xml-rpc/pkg-descr
Comment 13 Kubilay Kocak freebsd_committer freebsd_triage 2018-03-02 05:21:00 UTC
Committed, with changes:

- Add TEST_DEPENDS / test target
- Match COMMENT to setup.py:description (where portlint compliant)

Thank you John and apologies again for the delay