Re: [aur-general] Review request for 3 related PKGBUILDs

2017-01-03 Thread Leonid Bloch
Thanks for the explanation, Eli!

On Tue, Jan 3, 2017 at 11:36 PM, Eli Schwartz  wrote:

> On 01/03/2017 04:12 PM, Leonid Bloch wrote:
> > Thanks! That was very helpful!
> >
> > All applied, except... "--skip-build" - indeed it makes sense, but I
> > have never seen it with other Python packages. So I wonder if indeed it
> > is a good practice, or is there some reason not to include it?
>
> Well, python-setuptools does it, but it doesn't seem to be very popular.
> Really, for Make-powered builds the dependencies for "install" are going
> to run anyway (but they were built during build() and usually do
> nothing, silently).
> Then again, a lot of python PKGBUILDs don't have a build() function at
> all, which means the package() function will invoke "build" itself.
> Apparently, there is an arcane difference between building a python
> module and compiling an ELF binary, but no one has told me what that
> difference may be... I don't usually pay attention to what other people
> do. :)
>
> It makes no difference whether you look at the repos or the AUR, both
> have people who do all three styles.
>
> The only practical difference would be if someone, say, ran `makepkg
> --nobuild && makepkg --repackage` on a VCS package, which they shouldn't.
>
> --
> Eli Schwartz
>
>


Re: [aur-general] Review request for 3 related PKGBUILDs

2017-01-03 Thread Eli Schwartz via aur-general
On 01/03/2017 04:12 PM, Leonid Bloch wrote:
> Thanks! That was very helpful!
> 
> All applied, except... "--skip-build" - indeed it makes sense, but I
> have never seen it with other Python packages. So I wonder if indeed it
> is a good practice, or is there some reason not to include it?

Well, python-setuptools does it, but it doesn't seem to be very popular.
Really, for Make-powered builds the dependencies for "install" are going
to run anyway (but they were built during build() and usually do
nothing, silently).
Then again, a lot of python PKGBUILDs don't have a build() function at
all, which means the package() function will invoke "build" itself.
Apparently, there is an arcane difference between building a python
module and compiling an ELF binary, but no one has told me what that
difference may be... I don't usually pay attention to what other people
do. :)

It makes no difference whether you look at the repos or the AUR, both
have people who do all three styles.

The only practical difference would be if someone, say, ran `makepkg
--nobuild && makepkg --repackage` on a VCS package, which they shouldn't.

-- 
Eli Schwartz



signature.asc
Description: OpenPGP digital signature


Re: [aur-general] Review request for 3 related PKGBUILDs

2017-01-03 Thread Leonid Bloch
Thanks! That was very helpful!

All applied, except... "--skip-build" - indeed it makes sense, but I have
never seen it with other Python packages. So I wonder if indeed it is a
good practice, or is there some reason not to include it?

Leonid.

On Tue, Jan 3, 2017 at 10:56 AM, Eli Schwartz via aur-general <
aur-general@archlinux.org> wrote:

> On 01/03/2017 03:51 AM, Eli Schwartz wrote:
> > and save on checking for updated source files in build().
>
> Obviously, I meant to say "updated source files already checked in
> build". :D
>
> Specifically, not rerunning setuptools "build" ==> "build_py" in
> package() and skipping straight to "install" ==> "install_lib".
>
> --
> Eli Schwartz
>
>


Re: [aur-general] Review request for 3 related PKGBUILDs

2017-01-03 Thread Eli Schwartz via aur-general
On 01/03/2017 03:51 AM, Eli Schwartz wrote:
> and save on checking for updated source files in build().

Obviously, I meant to say "updated source files already checked in
build". :D

Specifically, not rerunning setuptools "build" ==> "build_py" in
package() and skipping straight to "install" ==> "install_lib".

-- 
Eli Schwartz



signature.asc
Description: OpenPGP digital signature


Re: [aur-general] Review request for 3 related PKGBUILDs

2017-01-03 Thread Eli Schwartz via aur-general
On 01/03/2017 03:14 AM, Leonid Bloch wrote:
> I'd like to put 3 new packages in the AUR. They are a part of one
> "kit", but are very different in functionality, therefore I think it
> will be better to introduce 3 packages, instead of one, which contains
> them all. You can see the details on: http://www.silx.org .
> Essentially, these are 3 completely different packages, that just
> happen to be used by the same community.
> 
> These PKGBUILDs were tested successfully on a minimally-installed VM.
> 
> Any feedback is welcome! :)

Looks mostly okay to me. Usually python packages are installed with
"--optimize=1", and you *might* want to add "--skip-build" to package()
and save on checking for updated source files in build().
Also, why are you cloning the entire repo as opposed to merely grabbing
the archive from "${repo_url}/archive/$v${pkgver}.tar.gz"?

-- 
Eli Schwartz



signature.asc
Description: OpenPGP digital signature


Re: [aur-general] Review request for 3 related PKGBUILDs

2017-01-03 Thread marcin

You should never use git for downloading tagged releases. Copy the url of the 
tar.gz from github and replace the version with pkgver. That way you can use 
the sums (sha preferably). 
Marcin Wieczorek  wtorek, 03 stycznia 2017, 09:14AM +01:00 od Leonid Bloch  
leonid.bl...@esrf.fr :

>Hi,
>
>I'd like to put 3 new packages in the AUR. They are a part of one
>"kit", but are very different in functionality, therefore I think it
>will be better to introduce 3 packages, instead of one, which contains
>them all. You can see the details on:  http://www.silx.org .
>Essentially, these are 3 completely different packages, that just
>happen to be used by the same community.
>
>These PKGBUILDs were tested successfully on a minimally-installed VM.
>
>Any feedback is welcome! :)
>
>Thanks!
>Leonid.
>
>For silx:
>~
># Package maintainer: Leonid B 
># Upstream contact: silx at esrf dot fr
>pkgname=python-silx
>pkgver=0.3.0
>pkgrel=1
>pkgdesc="A collection of Python packages for data analysis at
>synchrotron radiation facilities."
>arch=('any')
>url="http://www.silx.org;
>license=('MIT' 'LGPL')
>depends=('python-numpy' 'python-pyqt5' 'python-matplotlib' 'cython')
>optdepends=('python-h5py: for HDF5 input/output'
>'ipython: for interactive console'
>'python-qtconsole: for GUI console'
>'python-pyopencl: for sift - OpenCL implementation')
>makedepends=('git')
>source=("${pkgname}::git+https://github.com/silx-kit/${pkgname#*-}.git#tag=v${pkgver};)
>md5sums=('SKIP')
>
>build() {
>cd "${srcdir}/${pkgname}"
>python setup.py build
>}
>
>package() {
>cd "${srcdir}/${pkgname}"
>python setup.py install --root="${pkgdir}/"
>install -D copyright "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
>}
>
>
>For FabIO:
>~
># Package maintainer: Leonid B 
># Upstream contact: silx at esrf dot fr
>pkgname=python-fabio
>pkgver=0.4.0
>pkgrel=1
>pkgdesc="I/O library for images produced by 2D X-ray detectors."
>arch=('any')
>url="http://www.silx.org;
>license=('MIT' 'LGPL' 'Apache')
>depends=('python-numpy' 'python-pillow' 'python-lxml')
>optdepends=('python-pyqt4: for the fabio_viewer program')
>makedepends=('git')
>source=("${pkgname}::git+https://github.com/silx-kit/${pkgname#*-}.git#tag=v${pkgver};)
>md5sums=('SKIP')
>
>build() {
>cd "${srcdir}/${pkgname}"
>python setup.py build
>}
>
>package() {
>cd "${srcdir}/${pkgname}"
>python setup.py install --root="${pkgdir}/"
>install -D copyright "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
>}
>
>
>For pyFAI:
>~
># Package maintainer: Leonid B 
># Upstream contact: silx at esrf dot fr
>pkgname=python-pyfai
>pkgver=0.13.0
>pkgrel=1
>pkgdesc="Fast Azimuthal Integration in Python."
>arch=('any')
>url="http://www.silx.org;
>license=('GPLv3' 'BSD' 'MIT')
>depends=('python-numpy' 'python-scipy' 'python-matplotlib' 'python-fabio'
> 'python-h5py' 'python-pyopencl' 'python-pyqt4' 'fftw' 'cython')
>makedepends=('git')
>source=("${pkgname}::git+https://github.com/silx-kit/pyFAI.git#tag=v${pkgver};)
>md5sums=('SKIP')
>
>build() {
>cd "${srcdir}/${pkgname}"
>python setup.py build
>}
>
>package() {
>cd "${srcdir}/${pkgname}"
>python setup.py install --root="${pkgdir}/"
>install -D LICENSES.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
>install -D copyright "${pkgdir}/usr/share/licenses/${pkgname}/COPYRIGHT"
>}