You are not logged in.

#1 2016-05-18 03:40:02

Ekce
Member
Registered: 2010-11-20
Posts: 22

PKGBUILD review request: dexy, dexy_viewer, cashew

I have three packages I would like to add to the AUR. Really it's mainly Dexy but it depends on the other two. They don't seem very complicated but I would like to make sure they are correct as they are my first PKGBUILDs I would be submitting to the AUR.

My main concerns are the naming convention for dexy_viewer (as the actual package name is written with an underscore) and the fact that none of these packages have a LICENSE file. Also, it seems that github repositories exist (that do include a LICENSE file) and though I tried making git versions of these packages I was having trouble with the version numbers. Specifically, dexy would crash and throw errors because it was looking for a normal version number for dexy_viewer instead of the github revision number (said github repos aren't well maintained and don't have any tagged releases).

python2-dexy:

# Maintainer: Mohamar Rios <mohamar.rios@gmail.com>
_pkgname=dexy
pkgname=python2-${_pkgname}
pkgver=1.0.15
pkgrel=1
pkgdesc="Open source automation software with features especially designed for documentation and reporting."
arch=('any')
url='http://www.dexy.it/'
license=('MIT')
depends=('python2'
         'python2-beautifulsoup4'
         'python2-yaml'
         'python2-cashew>=0.2.7'
         'python2-chardet'
         'python2-inflection>=0.2.0'
         'python2-jinja'
         'python2-ply'
         'python2-pygments'
         'python2-modargs>=1.7'
         'python2-requests>=0.10.6'
         'python2-dexy_viewer'
         'python2-markdown'
         'python2-docutils'
         'python2-pexpect')
makedepends=('python2-setuptools')
options=(!emptydirs)
provides=("${_pkgname}")
source=("https://pypi.python.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz")
md5sums=('99eb783fdf829b74f4d1f3a801693b86')

package() {
  cd "$srcdir/${_pkgname}-$pkgver"
  python2 setup.py install --root="$pkgdir/" --optimize=1
}

# vim:set ts=2 sw=2 et:

python2-dexy_viewer:

# Maintainer: Mohamar Rios <mohamar.rios@gmail.com>
_pkgname=dexy_viewer
pkgname=python2-${_pkgname}
pkgver=0.0.5
pkgrel=1
pkgdesc="A plugin for dexy which enables the 'dexy viewer' command, running a local web server for previewing your dexy docs and snippets."
arch=('any')
url='https://github.com/ananelson/dexy-viewer'
license=('MIT')
depends=('python2'
         'python2-webpy')
makedepends=('python2-setuptools')
options=(!emptydirs)
provides=("${_pkgname}")
source=("https://pypi.python.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz")
md5sums=('2c446451921b8d0728a60bbb5e616c7e')

package() {
  cd "$srcdir/${_pkgname}-$pkgver"
  python2 setup.py install --root="$pkgdir/" --optimize=1
}

# vim:set ts=2 sw=2 et:

python2-cashew:

# Maintainer: Mohamar Rios <mohamar.rios@gmail.com>
_pkgname=cashew
pkgname=python2-${_pkgname}
pkgver=0.2.7
pkgrel=1
pkgdesc="The plugin system used by dexy."
arch=('any')
url='http://dexy.github.io/cashew/'
license=('MIT')
depends=('python2'
         'python2-six'
         'python2-yaml'
         'python2-inflection>=0.2.0')
makedepends=('python2-setuptools')
options=(!emptydirs)
provides=("${_pkgname}")
source=("https://pypi.python.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz")
md5sums=('e7a3801bf2ac92817d33292ea25efe5e')

package() {
  cd "$srcdir/${_pkgname}-$pkgver"
  python2 setup.py install --root="$pkgdir/" --optimize=1
}

# vim:set ts=2 sw=2 et:

Last edited by Ekce (2016-05-18 03:40:33)

Offline

#2 2016-05-18 12:12:09

mis
Member
Registered: 2016-03-16
Posts: 234

Re: PKGBUILD review request: dexy, dexy_viewer, cashew

Ekce wrote:

My main concerns are the naming convention for dexy_viewer (as the actual package name is written with an underscore)

I think you can just name it python2-dexy-viewer.

pkgname=python2-dexy-viewer
Ekce wrote:

and the fact that none of these packages have a LICENSE file. Also, it seems that github repositories exist (that do include a LICENSE file) ]

As the github repositories are linked as sources on pipy.python.org, I think it would be ok to use the tarballs from pipy and add the LICENSE files from the github repos.
But I'm not a lawyer. wink

Offline

#3 2016-05-18 12:15:27

Scimmia
Fellow
Registered: 2012-09-01
Posts: 11,560

Re: PKGBUILD review request: dexy, dexy_viewer, cashew

The "python2" pkgname prefixes are mostly for python libraries. Is that the case here? If it's just a program, you omit that part.

You should really be consistent with your use of braces on variables.

Last edited by Scimmia (2016-05-18 12:16:34)

Offline

#4 2016-05-18 22:04:09

Ekce
Member
Registered: 2010-11-20
Posts: 22

Re: PKGBUILD review request: dexy, dexy_viewer, cashew

mis wrote:

I think you can just name it python2-dexy-viewer.

pkgname=python2-dexy-viewer

I'll do that then.

mis wrote:

As the github repositories are linked as sources on pipy.python.org, I think it would be ok to use the tarballs from pipy and add the LICENSE files from the github repos.
But I'm not a lawyer. wink

I can do that. Also not sure if that's the right way to do things but I don't think the developer will complain.

Scimmia wrote:

The "python2" pkgname prefixes are mostly for python libraries. Is that the case here? If it's just a program, you omit that part.

I wasn't sure about this either. Dexy is a program, it can be called from the command line like any other program (a script is added to /usr/bin). Dexy-viewer and cashew however seem to just be libraries that dexy uses. So I guess I should name the first one 'dexy' and the others python2-dexy-view and python2-cashew.

As a sidenote, it seems that cashew is compatible with python2 and python3 (according to it's github page). However, if I install it as python3 (eg. run setup.py script with python instead of python2) then dexy will fail to find it and crash. I don't normally program in python so I don't know what the right way to handle this is. I assumed that dexy (being a python2 application) would look for a python2 version of cashew so it should be installed as python2. Cashew was developed for dexy though so either there's a python3 dexy port in the works or I don't understand what's going on.

Scimmia wrote:

You should really be consistent with your use of braces on variables.

I can fix that!

Offline

#5 2016-05-18 22:37:14

Scimmia
Fellow
Registered: 2012-09-01
Posts: 11,560

Re: PKGBUILD review request: dexy, dexy_viewer, cashew

Ekce wrote:

As a sidenote, it seems that cashew is compatible with python2 and python3 (according to it's github page). However, if I install it as python3 (eg. run setup.py script with python instead of python2) then dexy will fail to find it and crash. I don't normally program in python so I don't know what the right way to handle this is. I assumed that dexy (being a python2 application) would look for a python2 version of cashew so it should be installed as python2. Cashew was developed for dexy though so either there's a python3 dexy port in the works or I don't understand what's going on.

the common thing to do is make your PKGBUILD a split package, where it makes a python-cashew package and a python2-cashew package. Dexy, being built for py2, would require the python2 version.

Offline

#6 2016-05-19 00:03:29

Ekce
Member
Registered: 2010-11-20
Posts: 22

Re: PKGBUILD review request: dexy, dexy_viewer, cashew

Scimmia wrote:

the common thing to do is make your PKGBUILD a split package, where it makes a python-cashew package and a python2-cashew package. Dexy, being built for py2, would require the python2 version.

Oh wait, nevermind. I was in the process of writing a split package and trying to figure out what to do with dependencies when I realized that the cashew version on github is a slightly newer version that has been ported to python3.  I think for now I'll stick to the pypi package while I figure out what the developer was doing with the github repositories.

Here are updated PKGBUILDS (the dexy-viewer repository does not have a LICENSE file apparently).


dexy:

# Maintainer: Mohamar Rios <mohamar.rios@gmail.com>
pkgname=dexy
pkgver=1.0.15
pkgrel=1
pkgdesc="Open source automation software with features especially designed for documentation and reporting."
arch=('any')
url='http://www.dexy.it/'
license=('MIT')
depends=('python2'
         'python2-beautifulsoup4'
         'python2-chardet'
         'python2-docutils'
         'python2-jinja'
         'python2-markdown'
         'python2-pexpect'
         'python2-ply'
         'python2-pygments'
         'python2-requests>=0.10.6'
         'python2-yaml'
         'python2-cashew>=0.2.7'
         'python2-dexy-viewer'
         'python2-inflection>=0.2.0'
         'python2-modargs>=1.7')
makedepends=('python2-setuptools')
options=(!emptydirs)
provides=("${pkgname}")
source=("https://pypi.python.org/packages/source/${pkgname:0:1}/${pkgname}/${pkgname}-${pkgver}.tar.gz"
        "LICENSE::https://raw.githubusercontent.com/dexy/dexy/develop/LICENSE")
md5sums=('99eb783fdf829b74f4d1f3a801693b86'
         '7ae0144577340e245b148893690d7f37')

package() {
  cd "${srcdir}/${pkgname}-${pkgver}"
  python2 setup.py install --root="${pkgdir}/" --optimize=1
  
  install -Dm644 ${srcdir}/LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
}

# vim:set ts=2 sw=2 et:

python2-dexy-viewer:

# Maintainer: Mohamar Rios <mohamar.rios@gmail.com>
_pkgname=dexy-viewer
_pypiname=dexy_viewer
pkgname=python2-${_pkgname}
pkgver=0.0.5
pkgrel=1
pkgdesc="A plugin for dexy which enables the 'dexy viewer' command, running a local web server for previewing your dexy docs and snippets."
arch=('any')
url='https://github.com/ananelson/dexy-viewer'
license=('MIT')
depends=('python2'
         'python2-webpy')
makedepends=('python2-setuptools')
options=(!emptydirs)
provides=("${_pkgname}")
source=("https://pypi.python.org/packages/source/${_pypiname:0:1}/${_pypiname}/${_pypiname}-${pkgver}.tar.gz")
md5sums=('2c446451921b8d0728a60bbb5e616c7e')

package() {
  cd "${srcdir}/${_pypiname}-${pkgver}"
  python2 setup.py install --root="${pkgdir}/" --optimize=1
}

# vim:set ts=2 sw=2 et:

python2-cashew:

# Maintainer: Mohamar Rios <mohamar.rios@gmail.com>
_pkgname=cashew
pkgname=python2-${_pkgname}
pkgver=0.2.7
pkgrel=1
pkgdesc="The plugin system used by dexy."
arch=('any')
url='http://dexy.github.io/cashew/'
license=('MIT')
depends=('python2'
         'python2-yaml'
         'python2-inflection>=0.2.0')
makedepends=('python2-setuptools')
options=(!emptydirs)
provides=("${_pkgname}")
source=("https://pypi.python.org/packages/source/${_pkgname:0:1}/${_pkgname}/${_pkgname}-${pkgver}.tar.gz"
        "LICENSE::https://raw.githubusercontent.com/dexy/cashew/master/LICENSE")
md5sums=('e7a3801bf2ac92817d33292ea25efe5e'
         '7ae0144577340e245b148893690d7f37')

package() {
  cd "${srcdir}/${_pkgname}-${pkgver}"
  python2 setup.py install --root="${pkgdir}/" --optimize=1

  install -Dm644 ${srcdir}/LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
}

# vim:set ts=2 sw=2 et:

Offline

Board footer

Powered by FluxBB