You are not logged in.

#1 2008-04-17 11:28:52

Teld
Member
From: Nice, France
Registered: 2007-08-01
Posts: 15
Website

Review PKGBUILD for ngPlant plus question on license

Hi,

I have created a PKGBUILD for ngPlant. It is not a big deal but as building packages is not my daily job, I think a review is worthwhile before posting it to AUR.

One question I have anyway about the license. ngPlant comes with its own source files of Glew and Lua. I tried to change scons to use the Arch versions of Glew and Lua but I could find out how to do that. So now ngPlant uses its own versions during compilation. The license MIT refers to Lua while SGI and GLX refer to Glew.
- I assume I have to include these licenses. Is that correct?
- if so, Arch has already a custom license.txt for Glew. How do I refer to that instead of using SGI and GLX?

Thanks in advance.

PKGBUILD:
# Contributor: Serge Gielkens <gielkens_dot_serge_at_mumeli_dot_org>

# Developer tools and API information are not packaged
# The dependency.patch assumes Python 2.5

pkgname=ngplant
pkgver=0.9.7
pkgrel=1
pkgdesc="A plant modeling software package"
url="http://ngplant.sourceforge.net/"
depends=('wxgtk>=2.4' 'lua' 'glew' 'freeglut')
makedepends=('python' 'scons')
source=(http://downloads.sourceforge.net/sourceforge/ngplant/${pkgname}-${pkgver}.tar.gz)
arch=('i686')
license=('GPL' 'BSD' 'MIT' 'SGI' 'GLX')
md5sums=('beffc15888d3502915d75119bd672ce9')
install=$pkgname.install

build() {
  cd ${startdir}/src/ngplant-${pkgver}
  patch -Np0 -i ../../gcc43.patch || return 1
  patch -Np0 -i ../../dependency.patch || return 1
  scons || return 1
#
# Install programs
  install -d ${startdir}/pkg/usr/bin/
  install -m755 -t ${startdir}/pkg/usr/bin/ \
      ${startdir}/src/ngplant-${pkgver}/ngplant/ngplant \
      ${startdir}/src/ngplant-${pkgver}/ngpshot/ngpshot \
      ${startdir}/src/ngplant-${pkgver}/ngpview/ngpview
#
# Install plugins
  install -d ${startdir}/pkg/usr/share/ngplant/plugins/
  install -m644 -t ${startdir}/pkg/usr/share/ngplant/plugins/ \
      ${startdir}/src/ngplant-${pkgver}/plugins/*
#
# Install examples
  install -d ${startdir}/pkg/usr/share/ngplant/examples/textures/
  install -m644 -t ${startdir}/pkg/usr/share/ngplant/examples/ \
      ${startdir}/src/ngplant-${pkgver}/samples/*
  install -m644 -t ${startdir}/pkg/usr/share/ngplant/examples/textures/ \
      ${startdir}/src/ngplant-${pkgver}/samples/textures/*
}

Last edited by Teld (2008-04-17 16:36:54)

Offline

#2 2008-04-17 13:40:03

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,400
Website

Re: Review PKGBUILD for ngPlant plus question on license

It seems you stuffed you code block!

It seems you build against the include glew/lua but run against the Arch system versions.  If that is the case, I don't think you need the licenses for glew/lua because you are only linking against them, not installing them.  They should be covered by their Arch packages.

Your patches need to be included in the src and md5sum arrays.  With that done you will only need one "../" to get to the patch file.

Do you actually have a $pkgname.install file?  If not, remove the install line.

Your install lines confused me until I remembered what the -t option does!

Apart from these minor comments, your PKGBUILD looks quite good.  I haven't actually built/tested it...

Last edited by Allan (2008-04-17 13:40:43)

Offline

#3 2008-04-17 16:36:16

Teld
Member
From: Nice, France
Registered: 2007-08-01
Posts: 15
Website

Re: Review PKGBUILD for ngPlant plus question on license

Thanks Allan for your review. Code block removed, slip of the pen ;-)

The package is indeed only built against the included glew/lua, so I have removed their licenses.
The patches have been added to the src and md5sum arrays.
The -t option helps to make the PKGBUILD more compact in this case, that's all.

There is a $pkgname.install file:

post_install() {
  cat << EOF

NOTE for ngPlant:
----
  ==> At first launch of ngPlant a warning is displayed about missing plugins.
  ==> Go to the File -> Preferences and in tab Misc
  ==> set the Plug-ins directory to /usr/share/ngplant/plugins/
  ==>
  ==> ngPlant comes with some examples in /usr/share/ngplant/examples/
EOF
}

post_upgrade() {
  post_install $1
}

op=$1
shift

$op $*

Last edited by Teld (2008-04-17 16:38:03)

Offline

Board footer

Powered by FluxBB