Ticket #504 (closed enhancement: fixed)

Opened 16 months ago

Last modified 15 months ago

Gentoo ebuild

Reported by: thijs Owned by: mzeidler
Priority: critical Milestone: 0.5
Component: Installer Version: 0.4.1
Keywords: Cc:
Fixed in revision: Branch:
Author:

Description (last modified by thijs) (diff)

A  gentoo ebuild for PyAMF would be nice to have.

Looks like Gentoo is also looking for a maintainer for the PyAMF package:  http://bugs.gentoo.org/show_bug.cgi?format=multiple&id=260029

Attachments

pyamf-0.4.1.ebuild Download (1011 bytes) - added by mzeidler 16 months ago.
Ebuild for dev-python/pyamf-0.4.1
pyamf-0.4.2.ebuild Download (1.1 KB) - added by mzeidler 15 months ago.
Ebuild for dev-python/pyamf-0.4.2

Change History

comment:1 follow-up: ↓ 4 Changed 16 months ago by mzeidler

  • Priority changed from major to blocker
  • Status changed from new to closed
  • Type changed from task to defect
  • Resolution set to fixed
  • Milestone 0.5 deleted

i've hacked an ebuild for gentoo installing pyamf-0.4.1 supporting tests. tests are triggered by the use-flag 'test' and FEATURES="test" (see /etc/make.conf) or by setting the variables directly on shell like:

$ FEATURES="test" emerge dev-python/pyamf

 http://pyamf.org/raw-attachment/ticket/504/pyamf-0.4.1.ebuild

this ebuild also supports the runtime dependencies:

    if sys.version_info < (2, 5):
        elementtree >= 1.2.6
        fpconst>=0.7.2

Due to that no ebuild yet exists for dev-python/uuid the following could not be achieved:

    if sys.version_info < (2, 5):
        uuid>=1.30

comment:2 Changed 16 months ago by thijs

  • Priority changed from blocker to critical
  • Status changed from closed to reopened
  • Resolution fixed deleted
  • Description modified (diff)
  • Milestone set to 0.5

comment:3 follow-up: ↓ 5 Changed 16 months ago by mzeidler

There also seem to exist other dependencies that haven't been map so far:

extras_require = {
        'wsgi': ['wsgiref'],
        'twisted': ['Twisted>=2.5.0'],
        'django': ['Django>=0.96'],
        'sqlalchemy': ['SQLAlchemy>=0.4'],
        'cython': ['Cython>=0.10'],
    },

These are needed for these Features:

i think the remoting gateways are optional this means that for each option there should be a use-flag provided: twisted, django, pylons, turbogear, wsgiref, mod_wsgi Must the appropriate files been copyied to specific directories on the filesystem ?

As pyamf/tests/adapters/test_sqlalchemy.py obviously needs sqlalchemy how should this dependencies been triggered? Generally when the test use-flag is in use to not break the unit-testing? or should the test_sqlalchemy.py been left out, when the sqlalchemy use-flag is not set but the test use-flag.

Also its unclear whether to introduce a use-flag for the c-extensions (cPyAMF)

to disable the c-extension:
python setup.py install --disable-ext

If that should be possible we would have to introduce the dependency to setuptools then.

Also because of that unit-tests are triggered by using setup.py we do need the build-dependency setuptools

python setup.py test

Changed 16 months ago by mzeidler

Ebuild for dev-python/pyamf-0.4.1

comment:4 in reply to: ↑ 1 ; follow-up: ↓ 7 Changed 16 months ago by thijs

Replying to mzeidler:

this ebuild also supports the runtime dependencies:

    if sys.version_info < (2, 5):
        elementtree >= 1.2.6
        fpconst>=0.7.2

Due to that no ebuild yet exists for dev-python/uuid the following could not be achieved:

    if sys.version_info < (2, 5):
        uuid>=1.30

What is the default Python version on the current Gentoo releases? If it's 2.5 or newer then we don't need any of those dependencies as they're all included in the standard lib or fixed in some way.

comment:5 in reply to: ↑ 3 ; follow-up: ↓ 8 Changed 16 months ago by thijs

Replying to mzeidler:

There also seem to exist other dependencies that haven't been map so far:

extras_require = {
        'wsgi': ['wsgiref'],
        'twisted': ['Twisted>=2.5.0'],
        'django': ['Django>=0.96'],
        'sqlalchemy': ['SQLAlchemy>=0.4'],
        'cython': ['Cython>=0.10'],
    },

These are needed for these Features:

i think the remoting gateways are optional this means that for each option there should be a use-flag provided: twisted, django, pylons, turbogear, wsgiref, mod_wsgi

Correct, they're optional.

Must the appropriate files been copyied to specific directories on the filesystem ?

What files and specific directories are you referring to?

As pyamf/tests/adapters/test_sqlalchemy.py obviously needs sqlalchemy how should this dependencies been triggered? Generally when the test use-flag is in use to not break the unit-testing? or should the test_sqlalchemy.py been left out, when the sqlalchemy use-flag is not set but the test use-flag.

SQLAlchemy is an optional dependency, and the unit tests will be skipped if SQLAlchemy (or any other dependency) can't be found.

Also its unclear whether to introduce a use-flag for the c-extensions (cPyAMF)

to disable the c-extension:
python setup.py install --disable-ext

If that should be possible we would have to introduce the dependency to setuptools then.

Also because of that unit-tests are triggered by using setup.py we do need the build-dependency setuptools

python setup.py test

Yes setuptools is not an optional dependency and is required by PyAMF.

comment:6 follow-up: ↓ 10 Changed 16 months ago by thijs

  • Owner changed from nick to mzeidler
  • Status changed from reopened to assigned
  • Type changed from defect to enhancement

I checked your attached ebuild and while I'm not experienced with gentoo it seems that you require Twisted version 8.1.0 or newer but this should be 2.5.0 or newer. Assigning back to you.

comment:7 in reply to: ↑ 4 Changed 15 months ago by mzeidler

Replying to thijs:

Replying to mzeidler:

this ebuild also supports the runtime dependencies:

    if sys.version_info < (2, 5):
        elementtree >= 1.2.6
        fpconst>=0.7.2

Due to that no ebuild yet exists for dev-python/uuid the following could not be achieved:

    if sys.version_info < (2, 5):
        uuid>=1.30

What is the default Python version on the current Gentoo releases? If it's 2.5 or newer then we don't need any of those dependencies as they're all included in the standard lib or fixed in some way.

The default python slot (slots enable the installation of different versions of one packet) is '2.5' besides '2.4' and '2.6'.

[U] dev-lang/python
     Available versions:  
        (2.4)   2.4.4-r5 2.4.4-r6 2.4.4-r14 ~2.4.4-r15
        (2.5)   2.5.2-r7 ~2.5.2-r8 2.5.4-r2
        (2.6)   ~2.6-r5 ~2.6.1-r1 ~2.6.2
        {berkdb bootstrap build cxx doc elibc_uclibc examples gdbm ipv6 ncurses nocxx nothreads readline sqlite ssl threads tk ucs2 wininst xml}
     Installed versions:  2.5.2-r7(2.5)(11:06:41 11.04.2009)(berkdb gdbm ipv6 ncurses readline sqlite ssl threads tk xml -build -doc -elibc_uclibc -examples -ucs2 -wininst)
     Homepage:            http://www.python.org/
     Description:         Python is an interpreted, interactive, object-oriented programming language.

The current stable version for slot '2.5' is '2.5.4-r2' at the moment (so I should update here on my box ;). As there is a '2.4' slot we would need these conditions to be met.

comment:8 in reply to: ↑ 5 Changed 15 months ago by mzeidler

Replying to thijs:

Replying to mzeidler:

There also seem to exist other dependencies that haven't been map so far:

extras_require = {
        'wsgi': ['wsgiref'],
        'twisted': ['Twisted>=2.5.0'],
        'django': ['Django>=0.96'],
        'sqlalchemy': ['SQLAlchemy>=0.4'],
        'cython': ['Cython>=0.10'],
    },

These are needed for these Features:

i think the remoting gateways are optional this means that for each option there should be a use-flag provided: twisted, django, pylons, turbogear, wsgiref, mod_wsgi

Correct, they're optional.

Must the appropriate files been copyied to specific directories on the filesystem ?

What files and specific directories are you referring to?

I meant the web framework specific ones. But I do assume that no files need to be copied.

As pyamf/tests/adapters/test_sqlalchemy.py obviously needs sqlalchemy how should this dependencies been triggered? Generally when the test use-flag is in use to not break the unit-testing? or should the test_sqlalchemy.py been left out, when the sqlalchemy use-flag is not set but the test use-flag.

SQLAlchemy is an optional dependency, and the unit tests will be skipped if SQLAlchemy (or any other dependency) can't be found.

Also its unclear whether to introduce a use-flag for the c-extensions (cPyAMF)

to disable the c-extension:
python setup.py install --disable-ext

If that should be possible we would have to introduce the dependency to setuptools then.

Also because of that unit-tests are triggered by using setup.py we do need the build-dependency setuptools

python setup.py test

Yes setuptools is not an optional dependency and is required by PyAMF.

As I have heared about rumours at the PyCon 2009 that setuptools will get obsolete in the near future other alternatives should taken into account. But at the moment nothing is official.

comment:9 Changed 15 months ago by mzeidler

Version Bump for the ebuild: pyamf-0.4.2.ebuild

comment:10 in reply to: ↑ 6 Changed 15 months ago by mzeidler

  • Status changed from assigned to closed
  • Resolution set to fixed

Replying to thijs:

I checked your attached ebuild and while I'm not experienced with gentoo it seems that you require Twisted version 8.1.0 or newer but this should be 2.5.0 or newer. Assigning back to you.

the following output about gathering information about version of twisted produces the following. There are no 2.5.0 versions of twisted anymore in the portage tree as they were removed long time ago. Therefor I will close the ticket again:

# eix dev-python/twisted                                                                                  /usr/local/portage/seawolf/dev-python/pyamf)
[I] dev-python/twisted
     Available versions:  1.2.0 (~)1.3.0 8.1.0 (~)8.2.0 {crypt doc gtk serial}
     Installed versions:  8.2.0(14:44:34 14.03.2009)(crypt gtk -serial)
     Homepage:            http://www.twistedmatrix.com/
     Description:         An asynchronous networking framework written in Python

* dev-python/twisted-conch
     Available versions:  8.1.0 (~)8.2.0
     Homepage:            http://www.twistedmatrix.com/
     Description:         Twisted SSHv2 implementation.

* dev-python/twisted-docs
     Available versions:  1.2.0 1.3.0
     Homepage:            http://www.twistedmatrix.com/
     Description:         collection of servers and clients, which can be used either by developers of new applications or directly. Documentation included.

* dev-python/twisted-lore
     Available versions:  8.1.0 (~)8.2.0
     Homepage:            http://www.twistedmatrix.com/
     Description:         Twisted documentation system

[I] dev-python/twisted-mail
     Available versions:  8.1.0 (~)8.2.0
     Installed versions:  8.2.0(14:49:22 14.03.2009)
     Homepage:            http://www.twistedmatrix.com/
     Description:         A Twisted Mail library, server and client

[I] dev-python/twisted-names
     Available versions:  8.1.0 (~)8.2.0
     Installed versions:  8.2.0(14:45:08 14.03.2009)
     Homepage:            http://www.twistedmatrix.com/
     Description:         A Twisted DNS implementation

* dev-python/twisted-news
     Available versions:  8.1.0 (~)8.2.0
     Homepage:            http://www.twistedmatrix.com/
     Description:         Twisted News is an NNTP server and programming library.

* dev-python/twisted-runner
     Available versions:  8.0.0 (~)8.2.0
     Homepage:            http://www.twistedmatrix.com/
     Description:         Twisted Runner is a process management library and inetd replacement.

[I] dev-python/twisted-web
     Available versions:  8.1.0 (~)8.2.0
     Installed versions:  8.2.0(14:46:34 14.03.2009)
     Homepage:            http://www.twistedmatrix.com/
     Description:         Twisted web server, programmable in Python

* dev-python/twisted-web2
     Available versions:  (~)8.2.0
     Homepage:            http://www.twistedmatrix.com/
     Description:         Twisted web server, programmable in Python

Changed 15 months ago by mzeidler

Ebuild for dev-python/pyamf-0.4.2

comment:11 Changed 15 months ago by mzeidler

Added c-extension use-flag to optionally dis/enable the c-extension (cpyamf):

[I] dev-python/pyamf [1]
     Available versions:  (~)0.4.1 (~)0.4.2 {test}
     Installed versions:  0.4.2(14:37:28 25.04.2009)(-c-extension -test)
     Homepage:            http://pyamf.org
     Description:         PyAMF provides Action Message Format (AMF) support for Python that is compatible with the Flash Player.
Note: See TracTickets for help on using tickets.