Andi Vajda wrote: > Hmm, that's an idea... > > It is my understanding that for a package to 'work' in PyPI it needs to have > some setup.py support, right ? JCC, for example, is already on PyPI since > it's entirely built with setup.py. > > PyLucene, on the other hand, does not have a setup.py file, it relies on JCC > and 'make' to provide this functionality. If JCC became a > distutils/setuptools 'compiler', using setup.py to do a PyLucene build might > become easier.
As far as I know -- and I'm pretty sure -- PyPI doesn't enforce any rules how a package is installed. As long as its related to Python it's just fine. Setup.py is the canonical way to install Python packages but I know of no rule that forbids Makefile based installation routines. The current build system could be improved but it's not a show stopper for PyPI. > Even in a distribution that included binaries, setup.py would be needed to > install them. For Windows binaries this would be most welcome for many > reasons. For other systems, in particular those where the path to the libjcc > shared library (shared mode) is linked into the executables depending on > it (using -rpath or -R), such a binary install might become more > problematic. It makes no sense to offer binaries of an open source Python extension except for Windows. Any other important operating system (Linux, Mac, *BSD) has the necessary tools already on board or they can be easily installed. Just Windows is a pain in the .... I had to install Python 2.4 + 2.5 + 2.6, setuptools for every Python version, JDK, ant, MSys, MinGW, svn command line tools, VS 7.1 and VS 9.0 just to build the binaries. My build.bat sets several environment variables and some of the are really tricky, for example backslashes don't work for the Apache Ant path as argument for make. > But maybe I'm misunderstanding how this works. Do you already have > easy_install'able binary distributions for PyLucene on Windows ? > With setup.py ? > > If so, are they dependent on another binary distribution of JCC itself which > PyLucene depends on but includes in its sources ? I'd imagine that in a PyPI > distribution scenario, PyLucene would _not_ include JCC but would list it as > a dependency instead. > > As a matter of fact, we could experiment with this right away with JCC since > it is already listed on PyPI (in source only). > What do I need to do to give you upload permissions ? What's your account on > PyPI ? I haven't tried to install my packages with easy install yet. I'll do so tomorrow. I believe that it should just work, though. For now users would have to install JCC first because JCC isn't listed as dependency for PyLucene or any other distribution created with JCC. Also it wouldn't be possible to create new packages with the easy installed JCC because the config files reflects my local settings. I guess most people can either live with the fact or build JCC on their own. I like to provide wininst installer (.exe files), too. It looks like JCC already supports bdist_wininst but PyLucene's Makefiles doesn't expose it. My account name on PyPI is 'tiran'. The maintainer role should be sufficient to upload new files. Are you creating the pylucene package? Apropos Windows, a ZIP file that already contains a svn export of lucene and all jars (make jars) would spare Windows users some pain. They wouldn't have to install a tool to extract tar.gz as well as Apache Ant and a svn command line interface. The rest of the build process could be automated with a small Python script, too, and spare users the installation of MSys or Cygwin. Christian