Bug 192561 - [NEW PORT] misc/virtualgl - VirtualGL
Summary: [NEW PORT] misc/virtualgl - VirtualGL
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Some People
Assignee: Adam Weinberger
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-08-10 20:23 UTC by David Mackay
Modified: 2014-08-23 22:30 UTC (History)
3 users (show)

See Also:


Attachments
This is the SHAR archive of the port. (7.08 KB, text/plain)
2014-08-10 20:23 UTC, David Mackay
no flags Details
SHAR Archive of port (7.41 KB, application/x-shar)
2014-08-10 21:28 UTC, David Mackay
no flags Details
This is the SHAR archive of the port. (9.17 KB, application/x-shar)
2014-08-10 21:57 UTC, David Mackay
no flags Details
This is the SHAR archive of the port. (9.16 KB, text/plain)
2014-08-10 22:16 UTC, David Mackay
no flags Details
This is the SHAR archive of the port. (7.63 KB, text/plain)
2014-08-23 21:59 UTC, David Mackay
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description David Mackay 2014-08-10 20:23:04 UTC
Created attachment 145626 [details]
This is the SHAR archive of the port.

VirtualGL is a tool that allows you to forward GLX commands to another X server, where they are rendered, and then sent back to the local X server for display. This port is being submitted primarily for use with nVIDIA Optimus (for which I have devised a solution allowing its use via VirtualGL).

This port depends on misc/vgl-libjpeg-turbo, bug ID 192559.

Build logs will be forthcoming.
Comment 1 David Mackay 2014-08-10 21:28:35 UTC
Created attachment 145634 [details]
SHAR Archive of port

I have updated the SHAR archive to incorporate a few fixes. This is said to build cleanly under poudriere.
Comment 2 David Mackay 2014-08-10 21:57:35 UTC
Created attachment 145636 [details]
This is the SHAR archive of the port.

Another updated SHAR archive. Portlint no longer registers any complaints that haven't been dealt with.
Comment 3 John Marino freebsd_committer freebsd_triage 2014-08-10 22:09:11 UTC
I'll move it to patch ready, but it would be nice to get those poudriere logs anyway (ref: "build logs will be forthcoming")
Comment 4 David Mackay 2014-08-10 22:16:47 UTC
Created attachment 145638 [details]
This is the SHAR archive of the port.

And one final alteration, this cleans up the last issues on i386.

With regards to build logs: I'll post them ASAP; have been relying on someone else to handle the building. I'll ask him if he can upload them for me, and will provide a link when he replies.

(In reply to John Marino from comment #3)
> I'll move it to patch ready, but it would be nice to get those poudriere
> logs anyway (ref: "build logs will be forthcoming")
Comment 5 David Mackay 2014-08-10 22:38:48 UTC
(In reply to John Marino from comment #3)
> I'll move it to patch ready, but it would be nice to get those poudriere
> logs anyway (ref: "build logs will be forthcoming")

Please find build logs at:

https://people.freebsd.org/~nox/tmp/logs/
Comment 6 Adam Weinberger freebsd_committer freebsd_triage 2014-08-23 19:52:09 UTC
I've split apart libjpeg-turbo for you, so this port can depend on it instead of repackaging it.

That said, this port does some weird stuff. Why does it depend on libtool, automake, and autoreconf if it uses cmake? Why is it installing everything under a different PREFIX rather than putting things in the usual locations? Why have you used spaces instead of tabs after variable names in the Makefile?

Please work through those issues, run the port through portlint, and submit an updated version.

I know you've put a lot of work into these ports, and I'm trying to help you tighten them up so we can get it committed.
Comment 7 David Mackay 2014-08-23 21:02:34 UTC
(In reply to Adam Weinberger from comment #6)
> I've split apart libjpeg-turbo for you, so this port can depend on it
> instead of repackaging it.
> 
> That said, this port does some weird stuff. Why does it depend on libtool,
> automake, and autoreconf if it uses cmake? Why is it installing everything
> under a different PREFIX rather than putting things in the usual locations?
> Why have you used spaces instead of tabs after variable names in the
> Makefile?
> 
> Please work through those issues, run the port through portlint, and submit
> an updated version.
> 
> I know you've put a lot of work into these ports, and I'm trying to help you
> tighten them up so we can get it committed.

Hiya,

I hadn't noticed the dependencies on the GNU build suite. What I did once was build libjpeg-turbo as part of this port. I'll just clear those since they no longer apply.

Likewise I hadn't noticed the spaces - perhaps my editor is doing this. 

As for the PREFIX, that's conditionally set as VirtualGL has to be installed under its own prefix, since its installed files will collide with other sources of libGL.so, and it expects its own prefix. I'll see if I can find a cleaner way to handle the setting of prefix - unfortunately, cmake has been proving difficult to work with.

Anyway - thanks for the feedback, and I'll try and sort out these issues within an hour or two.
Comment 8 Adam Weinberger freebsd_committer freebsd_triage 2014-08-23 21:15:20 UTC
(In reply to David Mackay from comment #7)
> As for the PREFIX, that's conditionally set as VirtualGL has to be installed
> under its own prefix, since its installed files will collide with other
> sources of libGL.so, and it expects its own prefix. I'll see if I can find a
> cleaner way to handle the setting of prefix - unfortunately, cmake has been
> proving difficult to work with.

cmake can be a mystery sometimes. If it has to all live under VirtualGL that's fine. With manually setting PREFIX in the Makefile, it won't behave well on the package building clusters. Plus it makes the plist look really confusing.

My recommendation is to leave PREFIX alone and then you don't have to do anything weird like @dirrm bin/lib/include.

Put
DOCSDIR= ${PREFIX}/VirtualGL/doc
into the Makefile, then you can:

plist:
%%DOCSDIR%%/411.gif (etc.)


Or, by redefining DOCSDIR, you can even do
PORTDOCS= *
Comment 9 David Mackay 2014-08-23 21:41:00 UTC
(In reply to Adam Weinberger from comment #8)
> (In reply to David Mackay from comment #7)
> > As for the PREFIX, that's conditionally set as VirtualGL has to be installed
> > under its own prefix, since its installed files will collide with other
> > sources of libGL.so, and it expects its own prefix. I'll see if I can find a
> > cleaner way to handle the setting of prefix - unfortunately, cmake has been
> > proving difficult to work with.
> 
> cmake can be a mystery sometimes. If it has to all live under VirtualGL
> that's fine. With manually setting PREFIX in the Makefile, it won't behave
> well on the package building clusters. Plus it makes the plist look really
> confusing.
> 
> My recommendation is to leave PREFIX alone and then you don't have to do
> anything weird like @dirrm bin/lib/include.
> 
> Put
> DOCSDIR= ${PREFIX}/VirtualGL/doc
> into the Makefile, then you can:
> 
> plist:
> %%DOCSDIR%%/411.gif (etc.)
> 
> 
> Or, by redefining DOCSDIR, you can even do
> PORTDOCS= *

Hiya,

I'm having difficulty getting the libjpeg-turbo port to work, now.

I seem to be getting 404s on its distfiles.
Comment 10 David Mackay 2014-08-23 21:42:33 UTC
(In reply to David Mackay from comment #9)
> (In reply to Adam Weinberger from comment #8)
> > (In reply to David Mackay from comment #7)
> > > As for the PREFIX, that's conditionally set as VirtualGL has to be installed
> > > under its own prefix, since its installed files will collide with other
> > > sources of libGL.so, and it expects its own prefix. I'll see if I can find a
> > > cleaner way to handle the setting of prefix - unfortunately, cmake has been
> > > proving difficult to work with.
> > 
> > cmake can be a mystery sometimes. If it has to all live under VirtualGL
> > that's fine. With manually setting PREFIX in the Makefile, it won't behave
> > well on the package building clusters. Plus it makes the plist look really
> > confusing.
> > 
> > My recommendation is to leave PREFIX alone and then you don't have to do
> > anything weird like @dirrm bin/lib/include.
> > 
> > Put
> > DOCSDIR= ${PREFIX}/VirtualGL/doc
> > into the Makefile, then you can:
> > 
> > plist:
> > %%DOCSDIR%%/411.gif (etc.)
> > 
> > 
> > Or, by redefining DOCSDIR, you can even do
> > PORTDOCS= *
> 
> Hiya,
> 
> I'm having difficulty getting the libjpeg-turbo port to work, now.
> 
> I seem to be getting 404s on its distfiles.

Never mind this. It seems to have downloaded at last. unfortunately my internet is proving extremely unreliable right now.
Comment 11 David Mackay 2014-08-23 21:59:21 UTC
Created attachment 146195 [details]
This is the SHAR archive of the port.

I've attached a new SHAR of the port. The PREFIX meddling is now gone, courtesy of some help from the FreeBSD KDE team. This passes portlint suggesting only that a license be defined.
Comment 12 Adam Weinberger freebsd_committer freebsd_triage 2014-08-23 22:12:17 UTC
Good work here. Before I commit it, can I convince you to change the category? graphics? x11? misc is a black-hole.
Comment 13 David Mackay 2014-08-23 22:16:02 UTC
(In reply to Adam Weinberger from comment #12)
> Good work here. Before I commit it, can I convince you to change the
> category? graphics? x11? misc is a black-hole.

Seeing as it's an X11-related tool, I suppose x11 would be the most appropriate category.

And thanks for reviewing the port and offering me feedback. After working on this I've definitely gained a new appreciation for the work involved :)
Comment 14 commit-hook freebsd_committer freebsd_triage 2014-08-23 22:26:58 UTC
A commit references this bug:

Author: adamw
Date: Sat Aug 23 22:26:36 UTC 2014
New revision: 365843
URL: http://svnweb.freebsd.org/changeset/ports/365843

Log:
  Add x11/virtual.

  VirtualGL is an open source program that redirects the 3D rendering commands
  from Unix and Linux OpenGL applications to 3D accelerator hardware in a
  dedicated server and displays the rendered output interactively to a thin
  client located elsewhere on the network, or locally.

  WWW: http://www.virtualgl.org

  PR:		192561
  Submitted by:	David Mackay

Changes:
  head/x11/Makefile
  head/x11/virtualgl/
  head/x11/virtualgl/Makefile
  head/x11/virtualgl/distinfo
  head/x11/virtualgl/files/
  head/x11/virtualgl/files/patch-common__CMakeLists.txt
  head/x11/virtualgl/files/patch-server__CMakeLists.txt
  head/x11/virtualgl/files/patch-util__CMakeLists.txt
  head/x11/virtualgl/files/patch-util__rrsocket.cpp
  head/x11/virtualgl/pkg-descr
  head/x11/virtualgl/pkg-plist
Comment 15 Adam Weinberger freebsd_committer freebsd_triage 2014-08-23 22:30:05 UTC
Committed with a few small modifications.

Good work on this! Please feel free to Cc me on any further patches.