You are not logged in.

#1 2014-11-10 15:32:46

kso
Member
Registered: 2014-11-09
Posts: 11

PKGBUILD Public review request for wxFreeChart

Hi Arch Linux community.I am a newbie on Arch Linux. Just installed it a few months ago & I like it's install once, lifetime updates without reinstalling philosophy! Please review my first PKGBUILD for wxFreeChart:
http://wxcode.sourceforge.net/components/freechart/

Here is the PKGBUILD

# Maintainer: Sum <keansum AT gmail DOT com>
pkgname=freechart
pkgver=1.6
pkgrel=1
pkgdesc="Free powerful charting library based on wxWidgets."
arch=('x86_64' 'i686')
url="http://wxcode.sourceforge.net/components/freechart/"
license=('custom:"wxWindows"')
depends=('wxgtk')
source=(http://downloads.sourceforge.net/project/wxcode/Components/wxFreeChart/$pkgname-$pkgver.tar.gz
        'configure.patch'
        'LICENSE')
md5sums=('0e39d22a76c43df9e566ca1e1b669594'
         '38dd8576fcd0b2c2e726499b2042a42d'
         '9063869c9f1586dc0bd7c3f8d5060f76')

prepare() {
  export CPLUS_INCLUDE_PATH=/usr/include/wx-3.0/:/usr/lib/wx/include/gtk2-unicode-3.0/
  export LIBS=-lwx_gtk2u_adv-3.0

  cd "$srcdir/$pkgname"
  patch --verbose configure $srcdir/configure.patch
}

build() {
	cd "$srcdir/$pkgname"
	./configure --prefix=/usr
	make
}

package() {
	cd "$srcdir/$pkgname"
	make DESTDIR="$pkgdir/" install
  install -D -m644 $srcdir/LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}

Here is the LICENSE file.

wxWidgets is currently licenced under the "wxWindows Library Licence" pending
approval of the "wxWidgets Library Licence" which will be identical apart from
the name.

The wxWindows Library Licence is essentially the L-GPL (Library General Public
Licence), with an exception stating that derived works in binary form may be
distributed on the user's own terms. This is a solution that satisfies those
who wish to produce GPL'ed software using wxWidgets, and also those producing
proprietary software.

Participants in the discussion that led to this decision include the folk from
AbiSource, Robert Roebling, Julian Smart, Markus Fleck, Karsten Ballueder, and
some advice from Richard Stallman. Richard has confirmed that the new licence
is compatible with GPL'ed applications. However, there are no significant
restrictions on proprietary applications.

The wxWindows Library Licence has been approved by the Open Source Initiative.

In August 2005, an ambiguity in Clause 2 was removed (replaced "the user's"
with "your") and the version bumped to 3.1.

... then this last one is a patch file for the configure script. The code is for version 1.6 but to me it looks like the author forgotten to update the version from 1.4 to 1.6 in the configure script. I ahve checked in freechart/ReadMe.txt saying it is verion 1.6 and confirmed that the 1.6 addition of freechart/src/chartsplitpanel.cpp indeed exists.

***************
*** 1,6 ****
  #! /bin/sh
  # Guess values for system-dependent variables and create Makefiles.
! # Generated by GNU Autoconf 2.63 for WXFREECHART 1.4.
  #
  # Report bugs to <mab@smtp.ru>.
  #
--- 1,6 ----
  #! /bin/sh
  # Guess values for system-dependent variables and create Makefiles.
! # Generated by GNU Autoconf 2.63 for WXFREECHART 1.6.
  #
  # Report bugs to <mab@smtp.ru>.
  #
***************
*** 596,603 ****
  # Identity of this package.
  PACKAGE_NAME='WXFREECHART'
  PACKAGE_TARNAME='wxfreechart'
! PACKAGE_VERSION='1.4'
! PACKAGE_STRING='WXFREECHART 1.4'
  PACKAGE_BUGREPORT='mab@smtp.ru'
  
  ac_subst_vars='LTLIBOBJS
--- 596,603 ----
  # Identity of this package.
  PACKAGE_NAME='WXFREECHART'
  PACKAGE_TARNAME='wxfreechart'
! PACKAGE_VERSION='1.6'
! PACKAGE_STRING='WXFREECHART 1.6'
  PACKAGE_BUGREPORT='mab@smtp.ru'
  
  ac_subst_vars='LTLIBOBJS
***************
*** 1332,1338 ****
    # Omit some internal or obsolete options to make the list less imposing.
    # This message is too long to be a string in the A/UX 3.1 sh.
    cat <<_ACEOF
! \`configure' configures WXFREECHART 1.4 to adapt to many kinds of systems.
  
  Usage: $0 [OPTION]... [VAR=VALUE]...
  
--- 1332,1338 ----
    # Omit some internal or obsolete options to make the list less imposing.
    # This message is too long to be a string in the A/UX 3.1 sh.
    cat <<_ACEOF
! \`configure' configures WXFREECHART 1.6 to adapt to many kinds of systems.
  
  Usage: $0 [OPTION]... [VAR=VALUE]...
  
***************
*** 1398,1404 ****
  
  if test -n "$ac_init_help"; then
    case $ac_init_help in
!      short | recursive ) echo "Configuration of WXFREECHART 1.4:";;
     esac
    cat <<\_ACEOF
  
--- 1398,1404 ----
  
  if test -n "$ac_init_help"; then
    case $ac_init_help in
!      short | recursive ) echo "Configuration of WXFREECHART 1.6:";;
     esac
    cat <<\_ACEOF
  
***************
*** 1506,1512 ****
  test -n "$ac_init_help" && exit $ac_status
  if $ac_init_version; then
    cat <<\_ACEOF
! WXFREECHART configure 1.4
  generated by GNU Autoconf 2.63
  
  Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
--- 1506,1512 ----
  test -n "$ac_init_help" && exit $ac_status
  if $ac_init_version; then
    cat <<\_ACEOF
! WXFREECHART configure 1.6
  generated by GNU Autoconf 2.63
  
  Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
***************
*** 1520,1526 ****
  This file contains any messages produced by compilers while
  running configure, to aid debugging if configure makes a mistake.
  
! It was created by WXFREECHART $as_me 1.4, which was
  generated by GNU Autoconf 2.63.  Invocation command line was
  
    $ $0 $@
--- 1520,1526 ----
  This file contains any messages produced by compilers while
  running configure, to aid debugging if configure makes a mistake.
  
! It was created by WXFREECHART $as_me 1.6, which was
  generated by GNU Autoconf 2.63.  Invocation command line was
  
    $ $0 $@
***************
*** 10248,10254 ****
  # report actual input values of CONFIG_FILES etc. instead of their
  # values after options handling.
  ac_log="
! This file was extended by WXFREECHART $as_me 1.4, which was
  generated by GNU Autoconf 2.63.  Invocation command line was
  
    CONFIG_FILES    = $CONFIG_FILES
--- 10248,10254 ----
  # report actual input values of CONFIG_FILES etc. instead of their
  # values after options handling.
  ac_log="
! This file was extended by WXFREECHART $as_me 1.6, which was
  generated by GNU Autoconf 2.63.  Invocation command line was
  
    CONFIG_FILES    = $CONFIG_FILES
***************
*** 10298,10304 ****
  _ACEOF
  cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
  ac_cs_version="\\
! WXFREECHART config.status 1.4
  configured by $0, generated by GNU Autoconf 2.63,
    with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
  
--- 10298,10304 ----
  _ACEOF
  cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
  ac_cs_version="\\
! WXFREECHART config.status 1.6
  configured by $0, generated by GNU Autoconf 2.63,
    with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"

I have used namcap to check the PKGBUILD and the generated freechart-1.6-1-x86_64.pkg.tar.xz. Both passed. However when I use the -i switch, I get a whole bunch of messages. I am quite sure these dependencies do not need to be included in the PKGBUILD. Please correct if I am wrong.

$ namcap -i freechart-1.6-1-x86_64.pkg.tar.xz 
freechart I: Link-level dependence (wxgtk) in file ['usr/lib/libwx_baseu-3.0.so.0', 'usr/lib/libwx_gtk2u_aui-3.0.so.0', 'usr/lib/libwx_gtk2u_core-3.0.so.0']
freechart I: Link-level dependence (gcc-libs) in file ['usr/lib/libgcc_s.so.1', 'usr/lib/libstdc++.so.6']
freechart I: Link-level dependence (glibc) in file ['usr/lib/libm.so.6', 'usr/lib/libc.so.6']
freechart I: Symlink (usr/lib/libwxcode_gtk2u_freechart-3.0.so.0) found that points to libwxcode_gtk2u_freechart-3.0.so.0.0.0
freechart I: Symlink (usr/lib/libwxcode_gtk2u_freechart-3.0.so) found that points to libwxcode_gtk2u_freechart-3.0.so.0
freechart I: Dependency covered by dependencies from link dependence (freetype2)
freechart I: Dependency covered by dependencies from link dependence (jasper)
freechart I: Dependency covered by dependencies from link dependence (xextproto)
freechart I: Dependency covered by dependencies from link dependence (gdbm)
freechart I: Dependency covered by dependencies from link dependence (gstreamer0.10-base)
freechart I: Dependency covered by dependencies from link dependence (graphite)
freechart I: Dependency covered by dependencies from link dependence (libcap)
freechart I: Dependency covered by dependencies from link dependence (libx11)
freechart I: Dependency covered by dependencies from link dependence (coreutils)
freechart I: Dependency covered by dependencies from link dependence (shared-mime-info)
freechart I: Dependency covered by dependencies from link dependence (pcre)
freechart I: Dependency covered by dependencies from link dependence (xf86vidmodeproto)
freechart I: Dependency covered by dependencies from link dependence (shadow)
freechart I: Dependency covered by dependencies from link dependence (readline)
freechart I: Dependency covered by dependencies from link dependence (gtk2)
freechart I: Dependency covered by dependencies from link dependence (libxdmcp)
freechart I: Dependency covered by dependencies from link dependence (damageproto)
freechart I: Dependency covered by dependencies from link dependence (dbus)
freechart I: Dependency covered by dependencies from link dependence (avahi)
freechart I: Dependency covered by dependencies from link dependence (cracklib)
freechart I: Dependency covered by dependencies from link dependence (videoproto)
freechart I: Dependency covered by dependencies from link dependence (libsasl)
freechart I: Dependency covered by dependencies from link dependence (libxft)
freechart I: Dependency covered by dependencies from link dependence (libxrandr)
freechart I: Dependency covered by dependencies from link dependence (fontconfig)
freechart I: Dependency covered by dependencies from link dependence (libxdamage)
freechart I: Dependency covered by dependencies from link dependence (acl)
freechart I: Dependency covered by dependencies from link dependence (pixman)
freechart I: Dependency covered by dependencies from link dependence (ncurses)
freechart I: Dependency covered by dependencies from link dependence (libdbus)
freechart I: Dependency covered by dependencies from link dependence (cairo)
freechart I: Dependency covered by dependencies from link dependence (zlib)
freechart I: Dependency covered by dependencies from link dependence (xproto)
freechart I: Dependency covered by dependencies from link dependence (harfbuzz)
freechart I: Dependency covered by dependencies from link dependence (libomxil-bellagio)
freechart I: Dependency covered by dependencies from link dependence (kbproto)
freechart I: Dependency covered by dependencies from link dependence (sh)
freechart I: Dependency covered by dependencies from link dependence (pango)
freechart I: Dependency covered by dependencies from link dependence (pam)
freechart I: Dependency covered by dependencies from link dependence (libxau)
freechart I: Dependency covered by dependencies from link dependence (llvm-libs)
freechart I: Dependency covered by dependencies from link dependence (libxfixes)
freechart I: Dependency covered by dependencies from link dependence (attr)
freechart I: Dependency covered by dependencies from link dependence (mesa-dri)
freechart I: Dependency covered by dependencies from link dependence (libtxc_dxtn)
freechart I: Dependency covered by dependencies from link dependence (xz)
freechart I: Dependency covered by dependencies from link dependence (gdk-pixbuf2)
freechart I: Dependency covered by dependencies from link dependence (elfutils)
freechart I: Dependency covered by dependencies from link dependence (libxv)
freechart I: Dependency covered by dependencies from link dependence (mesa)
freechart I: Dependency covered by dependencies from link dependence (renderproto)
freechart I: Dependency covered by dependencies from link dependence (systemd)
freechart I: Dependency covered by dependencies from link dependence (libxcursor)
freechart I: Dependency covered by dependencies from link dependence (hwids)
freechart I: Dependency covered by dependencies from link dependence (bash)
freechart I: Dependency covered by dependencies from link dependence (glibc)
freechart I: Dependency covered by dependencies from link dependence (expat)
freechart I: Dependency covered by dependencies from link dependence (e2fsprogs)
freechart I: Dependency covered by dependencies from link dependence (linux-api-headers)
freechart I: Dependency covered by dependencies from link dependence (libffi)
freechart I: Dependency covered by dependencies from link dependence (libxi)
freechart I: Dependency covered by dependencies from link dependence (libice)
freechart I: Dependency covered by dependencies from link dependence (libldap)
freechart I: Dependency covered by dependencies from link dependence (libxcomposite)
freechart I: Dependency covered by dependencies from link dependence (libgpg-error)
freechart I: Dependency covered by dependencies from link dependence (libxcb)
freechart I: Dependency covered by dependencies from link dependence (libseccomp)
freechart I: Dependency covered by dependencies from link dependence (keyutils)
freechart I: Dependency covered by dependencies from link dependence (xcb-proto)
freechart I: Dependency covered by dependencies from link dependence (randrproto)
freechart I: Dependency covered by dependencies from link dependence (bzip2)
freechart I: Dependency covered by dependencies from link dependence (libxml2)
freechart I: Dependency covered by dependencies from link dependence (libpciaccess)
freechart I: Dependency covered by dependencies from link dependence (util-linux)
freechart I: Dependency covered by dependencies from link dependence (krb5)
freechart I: Dependency covered by dependencies from link dependence (compositeproto)
freechart I: Dependency covered by dependencies from link dependence (glib2)
freechart I: Dependency covered by dependencies from link dependence (libxinerama)
freechart I: Dependency covered by dependencies from link dependence (gstreamer0.10)
freechart I: Dependency covered by dependencies from link dependence (kbd)
freechart I: Dependency covered by dependencies from link dependence (kmod)
freechart I: Dependency covered by dependencies from link dependence (filesystem)
freechart I: Dependency covered by dependencies from link dependence (libxxf86vm)
freechart I: Dependency covered by dependencies from link dependence (tzdata)
freechart I: Dependency covered by dependencies from link dependence (libsm)
freechart I: Dependency covered by dependencies from link dependence (pambase)
freechart I: Dependency covered by dependencies from link dependence (libcups)
freechart I: Dependency covered by dependencies from link dependence (atk)
freechart I: Dependency covered by dependencies from link dependence (libgl)
freechart I: Dependency covered by dependencies from link dependence (libsystemd)
freechart I: Dependency covered by dependencies from link dependence (xineramaproto)
freechart I: Dependency covered by dependencies from link dependence (lzo)
freechart I: Dependency covered by dependencies from link dependence (orc)
freechart I: Dependency covered by dependencies from link dependence (inputproto)
freechart I: Dependency covered by dependencies from link dependence (libpng)
freechart I: Dependency covered by dependencies from link dependence (db)
freechart I: Dependency covered by dependencies from link dependence (libdatrie)
freechart I: Dependency covered by dependencies from link dependence (fixesproto)
freechart I: Dependency covered by dependencies from link dependence (hicolor-icon-theme)
freechart I: Dependency covered by dependencies from link dependence (gtk-update-icon-cache)
freechart I: Dependency covered by dependencies from link dependence (libjpeg)
freechart I: Dependency covered by dependencies from link dependence (libtirpc)
freechart I: Dependency covered by dependencies from link dependence (gcc-libs)
freechart I: Dependency covered by dependencies from link dependence (openssl)
freechart I: Dependency covered by dependencies from link dependence (gmp)
freechart I: Dependency covered by dependencies from link dependence (libxext)
freechart I: Dependency covered by dependencies from link dependence (iana-etc)
freechart I: Dependency covered by dependencies from link dependence (libutil-linux)
freechart I: Dependency covered by dependencies from link dependence (libthai)
freechart I: Dependency covered by dependencies from link dependence (perl)
freechart I: Dependency covered by dependencies from link dependence (libxrender)
freechart I: Dependency covered by dependencies from link dependence (wayland)
freechart I: Dependency covered by dependencies from link dependence (libtiff)
freechart I: Dependency covered by dependencies from link dependence (libxshmfence)
freechart I: Dependency covered by dependencies from link dependence (libgcrypt)
freechart I: Dependency covered by dependencies from link dependence (libdaemon)
freechart I: Dependency covered by dependencies from link dependence (libdrm)
freechart I: Depends as namcap sees them: depends=(wxgtk)

Many thanks!

Offline

#2 2014-11-14 10:31:15

kso
Member
Registered: 2014-11-09
Posts: 11

Re: PKGBUILD Public review request for wxFreeChart

Hi it turns out that the SVN version is the most up to date which does not need to be patched as it has the right version numbers. I have created a new PKGBUILD.

# Maintainer: kso <keansum AT gmail DOT com>

pkgname=freechart-svn
pkgver=r3169
pkgrel=1
pkgdesc="Free powerful charting library based on wxWidgets."
arch=('x86_64' 'i686')
url="http://wxcode.sourceforge.net/components/freechart/"
license=('custom:"wxWindows"')
depends=('wxgtk')
makedepends=('subversion')
source=('svn+http://svn.code.sf.net/p/wxcode/code/trunk/wxCode/components/freechart/')
md5sums=('SKIP')

_svntrunk=http://svn.code.sf.net/p/wxcode/code/trunk/wxCode/components/freechart/
_svnmod=freechart

pkgver() {
  cd "$_svnmod"
  local ver="$(svnversion)"
  printf "r%s" "${ver//[[:alpha:]]}"
}

build() {
  cd "$srcdir"
  msg "Connecting to SVN server...."

  if [[ -d "$_svnmod/.svn" ]]; then
    (cd "$_svnmod" && svn up -r "$pkgver")
  else
    svn co "$_svntrunk" --config-dir ./ -r "$pkgver" "$_svnmod"
  fi

  msg "SVN checkout done or server timeout"
  msg "Starting build..."

  rm -rf "$srcdir/$_svnmod-build"
  svn export "$srcdir/$_svnmod" "$srcdir/$_svnmod-build"
  cd "$srcdir/$_svnmod-build"

  #
  # BUILD HERE
  #
  ./configure --prefix=/usr
  make
}

package() {
  cd "$srcdir/$_svnmod-build"
  make DESTDIR="$pkgdir/" install

  # install LICENSE
  install -D -m644 $srcdir/$_svnmod/license.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}

I have uploaded onto the AUR. I have checked using namcap. Please let me know if there are any mistakes.  Many thanks!

Offline

#3 2014-11-14 13:00:40

Lone_Wolf
Forum Moderator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,924

Re: PKGBUILD Public review request for wxFreeChart

Kso,

why do you have source=('svn+http://svn.code.sf.net/p/wxcode/code/trunk/wxCode/components/freechart/') , but still use manual svn checkout in the build section ?


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Online

#4 2014-11-15 06:03:52

kso
Member
Registered: 2014-11-09
Posts: 11

Re: PKGBUILD Public review request for wxFreeChart

Hi Lone_Wolf,
Thanks very much for pointing that out. I left it in there as that was what was originally on the PKGBUILD-svn.proto. I have removed the manual svn checkout in the build section. Here is the updated PKGBUILD:

# Maintainer: kso <keansum AT gmail DOT com>

pkgname=freechart-svn
pkgver=r3169
pkgrel=2
pkgdesc="Free powerful charting library based on wxWidgets."
arch=('x86_64' 'i686')
url="http://wxcode.sourceforge.net/components/freechart/"
license=('custom:"wxWindows"')
depends=('wxgtk')
makedepends=('subversion')
source=('svn+http://svn.code.sf.net/p/wxcode/code/trunk/wxCode/components/freechart/')
md5sums=('SKIP')

_svnmod=freechart

pkgver() {
  cd "$_svnmod"
  local ver="$(svnversion)"
  printf "r%s" "${ver//[[:alpha:]]}"
}

build() {
  cd "$srcdir"

  rm -rf "$srcdir/$_svnmod-build"
  svn export "$srcdir/$_svnmod" "$srcdir/$_svnmod-build"
  cd "$srcdir/$_svnmod-build"

  #
  # BUILD HERE
  #
  ./configure --prefix=/usr
  make
}

package() {
  cd "$srcdir/$_svnmod-build"
  make DESTDIR="$pkgdir/" install

  # install LICENSE
  install -D -m644 $srcdir/$_svnmod/license.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}

Offline

Board footer

Powered by FluxBB