Advertisement
goatbar

pypi to fink first try

Dec 15th, 2011
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.33 KB | None | 0 0
  1. from yolk.pypi import CheeseShop
  2.  
  3. template = '''Info3: <<
  4. Package: {fink_name}%type_pkg[python]
  5. Version: {version}
  6. Revision: {revision}
  7. Source: {url}
  8. Source-MD5: {md5}
  9.  
  10. Type: python ({types})
  11. Depends: python%type_pkg[python]
  12. BuildDepends: distribute-py%type_pkg[python]
  13.  
  14. CompileScript: true
  15. InstallScript: %p/bin/python%type_raw[python] setup.py install --root=%d --single-version-externally-managed
  16.  
  17. License: OSI-Approved
  18. Homepage:
  19. Maintainer: Kurt Schwehr <goatbar@users.sourceforge.net>
  20.  
  21. Description:
  22. DescDetail: <<
  23. <<
  24.  
  25. # Info3
  26. <<
  27. '''
  28.  
  29. def pypi_to_fink(package_name):
  30.     cs = CheeseShop()
  31.     release = cs.package_releases(package_name)[0] # Hope that highest is first
  32.  
  33.     # FIX: make a function that pulls the first sdist
  34.     # Possibly prioritize by tar.bz2 -> tar.gz -> zip
  35.     url = cs.release_urls(package_name,release)[0]
  36.     fink = {}
  37.     fink['name'] = package_name.lower()
  38.     fink['fink_name'] = fink['name']+'-py'
  39.     fink['version'] = release
  40.     fink['revision'] = 1
  41.     # FIX: remove the package name if need be from the URL
  42.     fink['url'] = url['url']
  43.     fink['md5'] = url['md5_digest']
  44.     py_types = ['2.7', '3.2'] # FIX: figure this out
  45.     fink['types'] = ' '.join(py_types)
  46.     return template.format(**fink)
  47.  
  48. if __name__ == '__main__':
  49.     import sys
  50.     print pypi_to_fink(sys.argv[1])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement