Bug 219642

Summary: science/vmd: Suggested changes: typo, dependencies, shebang, license
Product: Ports & Packages Reporter: Yuri Victorovich <yuri>
Component: Individual Port(s)Assignee: David Naylor <dbn>
Status: Closed FIXED    
Severity: Affects Only Me Flags: bugzilla: maintainer-feedback? (dbn)
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
Fixed for vmd none

Description Yuri Victorovich freebsd_committer freebsd_triage 2017-05-29 20:18:11 UTC
1. There is a typo:
> -LICENSE_NAME_VMD=	Visaul Molecular Dynamics Software License Agreement
> +LICENSE_NAME_VMD=	Visual Molecular Dynamics Software License Agreement

2. Dependencies are missing:
  Arch package mentions these 2 dependencies (https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=vmd):
  * 'openbabel: additional file formats support'
  * 'sqlite: dmsplugin'
  They should be made direct dependencies of vmd.

3. USES=shebangfix is missing:
> Error: '/usr/bin/tclsh' is an invalid shebang you need USES=shebangfix for 'lib/vmd/plugins/noarch/tcl/topotools1.7/topoatoms.tcl'
> Error: '/usr/bin/tclsh' is an invalid shebang you need USES=shebangfix for 'lib/vmd/plugins/noarch/tcl/topotools1.7/topoangles.tcl'
> Error: '/usr/bin/tclsh' is an invalid shebang you need USES=shebangfix for 'lib/vmd/plugins/noarch/tcl/topotools1.7/topodihedrals.tcl'
> Error: '/usr/bin/tclsh' is an invalid shebang you need USES=shebangfix for 'lib/vmd/plugins/noarch/tcl/topotools1.7/topolammps.tcl'
> Error: '/usr/bin/tclsh' is an invalid shebang you need USES=shebangfix for 'lib/vmd/plugins/noarch/tcl/topotools1.7/topoutils.tcl'
> Error: '/usr/bin/tclsh' is an invalid shebang you need USES=shebangfix for 'lib/vmd/plugins/noarch/tcl/topotools1.7/topohelpers.tcl'

4. LICENSE doesn't mention that direct source download and package caching is not allowed. There is in fact the direct download link. I suggest to apply these patches that will allow the packages to be built automatically:

> -MASTER_SITES=	http://jedi.ks.uiuc.edu/~johns/raytracer/files/0.99b6/:tachyon \
> +MASTER_SITES=	http://www.ks.uiuc.edu/Research/vmd/vmd-1.9.3/files/final/ \
> +		http://jedi.ks.uiuc.edu/~johns/raytracer/files/0.99b6/:tachyon \

> -LICENSE_PERMS_VMD=	auto-accept
> +LICENSE_PERMS_VMD=	dist-mirror pkg-mirror auto-accept

Thanks,
Yuri
Comment 1 David Naylor freebsd_committer freebsd_triage 2017-06-16 18:56:08 UTC
Created attachment 183544 [details]
Fixed for vmd

The attached patch fixes most of your comments, except for:
 2) openbabel: I cannot find any reference in the source code that actually uses openbabel, thus I am skipping it as a dependency.
 4) The license (in clause 2) explicitly requires that people get directed to their website to obtain a copy of the program (and thus implicitly that we cannot mirror nor distribute the program)

I need to compile test this patch on multiple versions of FreeBSD, then I'll commit it.
Comment 2 commit-hook freebsd_committer freebsd_triage 2017-06-18 06:04:07 UTC
A commit references this bug:

Author: dbn
Date: Sun Jun 18 06:03:30 UTC 2017
New revision: 443820
URL: https://svnweb.freebsd.org/changeset/ports/443820

Log:
  science/vmd: various fixes

   - fix spelling of VMD license [1]
   - use USES=tcl,tk instead of direct dependency
   - patch vmd to support (tcl|tk)86
   - fix shebang for tcl [1]
   - fix detection of netcdf
   - add sqlite as a dependency (for dmsplugin) [1]
   - add expact as a dependency (for hoomdplugin)
   - rework configuration:
     - explicitly list required components (CONFIGURE_ARGS)
     - call configure directly (instead of via gmake(1))
     - patch configure to accept TCLLDFLAGS and TKLDFLAGS
     - pass PREFIX as an environment variable instead of using sed(1)
     - patch Make-arch to accept environment TCLLDFLAGS and NETCDFLDFLAGS
   - add support for parallel building (except for building plugins)
   - bump PORTREVISION

  PR:		219642
  Reported by:	Yuri Victorovich <yuri@rawbw.com>

Changes:
  head/science/vmd/Makefile
  head/science/vmd/files/patch-Make-arch
  head/science/vmd/files/patch-configure
  head/science/vmd/pkg-plist
Comment 3 David Naylor freebsd_committer freebsd_triage 2017-06-18 06:09:17 UTC
Committed, thanks for reporting.
Comment 4 Yuri Victorovich freebsd_committer freebsd_triage 2017-06-18 21:23:31 UTC
tachyon-0.99b6.tar.gz doesn't fetch any more. I tried several times over 3 days.
Comment 5 David Naylor freebsd_committer freebsd_triage 2017-06-19 15:55:37 UTC
I can confirm it works for me (now):
===>  License VMD BSD3CLAUSE STRIDE accepted by the user
===>   vmd-1.9.3_3 depends on file: /usr/local/sbin/pkg - found
=> tachyon-0.99b6.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch http://jedi.ks.uiuc.edu/~johns/raytracer/files/0.99b6/tachyon-0.99b6.tar.gz
tachyon-0.99b6.tar.gz                         100% of 2911 kB   49 kBps 00m59s
===> Fetching all distfiles required by vmd-1.9.3_3 for building
=> SHA256 Checksum OK for vmd-1.9.3.src.tar.gz.
=> SHA256 Checksum OK for tachyon-0.99b6.tar.gz.
=> SHA256 Checksum OK for stride.tar.gz.

Can you visit the website http://jedi.ks.uiuc.edu/~johns/raytracer/files/0.99b6/?
Comment 6 Yuri Victorovich freebsd_committer freebsd_triage 2017-06-19 16:47:19 UTC
(In reply to David Naylor from comment #5)

Yes, it fetches.
Comment 7 Yuri Victorovich freebsd_committer freebsd_triage 2017-06-19 18:01:25 UTC
> 2) openbabel: I cannot find any reference in the source code that actually
uses openbabel, thus I am skipping it as a dependency.

This line
> molfile_plugin/src/babelplugin.c:711: babelbin = getenv("VMDBABELBIN");
actually uses the openbabel executable.

But since this is only a runtime dependency from one of the plugins and through the environment variable, I think RUN_DEPENDS can be omitted in this case.