#38803: Request port of Stanford "rayshade" --------------------------------+-------------------------------- Reporter: murrayeisenberg@… | Owner: macports-tickets@… Type: request | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: rayshade | --------------------------------+-------------------------------- Changes (by ryandesign@…): * cc: ryandesign@… (added) * keywords: graphics ray-tracing => * version: 2.1.3 => * port: => rayshade Comment: Precisely. Anyway, here's the start of a Portfile. I patched the Configure script to remove incorrect warnings and errors and to look in `${prefix}` first so that our newer version of `bison` gets used. Actually I think `bison` is also used at runtime. During configuration, it tries to use `nm` to figure out what's in the C library. It uses `printf` as its litmus test, and `printf` doesn't seem to be in OS X's C library—or `nm` isn't the right way to make that determination. If we can fix this it might help it find some other functions. The configuration asks some questions I didn't know the answers to, like in which ways the compiler supports the `void` type or how many bits of randomness the `random()` function produces. (The [https://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManP... random() manpage] says all bits are random, but it returns a `long`; doesn't the size of a `long` vary based on the build architecture?) I left those answers at the defaults. After configuration, it runs `make depend`, which generates a lot of warnings and one error, I believe because it uses `cpp` which doesn't understand some things in the system headers. Using `$CC -E` wouldn't encounter those errors but is not an option because rayshade needs to feed things to the C preprocessor via stdin and it seems that only `cpp` understands that. Then the build fails with various errors like: {{{ hf.c:470:1: error: static declaration of 'CreateHfTriangle' follows non- static declaration }}} {{{ hf.c:670:1: error: static declaration of 'GetQueuedTri' follows non-static declaration }}} {{{ extended.c:58:1: error: static declaration of 'ExtendedIntens' follows non-static declaration }}} {{{ fog.c:31:2: error: function declared in block scope cannot have 'static' storage class }}} {{{ texture.c:165:3: error: non-void function 'TextToUV' should return a value [-Wreturn-type] }}} And then finally: {{{ /usr/include/strings.h:76:7: error: expected parameter declarator }}} {{{ /usr/include/strings.h:76:7: error: expected ')' }}} -- Ticket URL: <https://trac.macports.org/ticket/38803#comment:8> MacPorts <http://www.macports.org/> Ports system for OS X