Help with elkhound port development

Mark Brethen mark.brethen at gmail.com
Fri Dec 12 18:59:19 PST 2014


On Dec 12, 2014, at 7:38 PM, Ryan Schmidt <ryandesign at macports.org> wrote:

> 
> On Dec 12, 2014, at 7:18 PM, Mark Brethen wrote:
>> 
>> On Dec 12, 2014, at 1:58 PM, Ryan Schmidt wrote:
>> 
>>> On Dec 12, 2014, at 1:26 PM, Mark Brethen wrote:
>>> 
>>>> PortSystem          1.0
>>>> PortGroup           github 1.0
>>>> 
>>>> github.setup        WeiDUorg elkhound 2014-08-03
>>> 
>>>> distname            ${version}
>>>> master_sites        https://github.com/${github.author}/${name}/archive/
>>> 
>>> You're usually using the github portgroup incorrectly if you find yourself needing to override master_sites. Please read the comments in the github portgroup for the correct usage.
>>> 
>> That is where they put the tarball.
> 
> All projects at github have their automatically-generated tarballs at the same URLs. The default usage of the github portgroup accommodates this. You should not override master_sites or distname for this. Again, refer to the comments in the github portgroup that explain all possible uses of the portgroup. See also https://trac.macports.org/ticket/40518 for why we're don't see a benefit in offering archive-style URLs at this time.
> 
I removed the overrides. It works.
> 
>>>> configure {
>>>> system -W ${worksrcpath} "${configure.cmd}"
>>>> }
>>>> 
>>>> build {
>>>> system -W ${worksrcpath} "${build.cmd}"
>>>> }
>>> 
>>> Why are you overriding the default behavior of these phases?
>>> 
>>> 
>>> 
>> It complained about prefix not being defined for one; I'm not even sure that any of the build environment variables set by macports will work.
> 
> Still, it would be more normal to just clear configure.pre_args and configure.universal_args, rather than override the entire phase.
> 
Done.
> 
>> The top level configure runs 3 perl scripts, each located in a different subdirectory (see my first post). 
> 
> I understand that.
> 
> What about the build phase?
> 
Removed this override as well.

Also added:

supported_archs     i386
use_parallel_build  no

Now, when building I had 5 errors:

:info:build perl ../smbase/run-flex.pl -oagramlex.yy.cc agramlex.lex
:info:build flex -oagramlex.yy.cc agramlex.lex
:info:build modifying agramlex.yy.cc
:info:build c++ -c -o agramlex.yy.o agramlex.yy.cc -g -Wall -Wno-deprecated -D__UNIX__ -O2 -DNDEBUG -I../smbase
:info:build In file included from agramlex.lex:14:
:info:build ./agrampar.codes.h:44:2: error: unterminated conditional directive
:info:build #ifndef YYTOKENTYPE
:info:build  ^
:info:build ./agrampar.codes.h:33:2: error: unterminated conditional directive
:info:build #ifndef YY_YY_AGRAMPAR_TAB_H_INCLUDED
:info:build  ^
:info:build In file included from agramlex.yy.cc:548:
:info:build In file included from /usr/include/unistd.h:72:
:info:build /usr/include/sys/unistd.h:132:1: error: expected identifier
:info:build struct accessx_descriptor {
:info:build ^
:info:build agramlex.lex:332:1: error: expected '}'
:info:build ^
:info:build ./agrampar.codes.h:48:21: note: to match this '{'
:info:build    enum yytokentype {
:info:build                     ^
:info:build agramlex.lex:331:2: error: expected ';' after enum
:info:build }
:info:build  ^
:info:build  ;
:info:build 5 errors generated.
:info:build make[1]: *** [agramlex.yy.o] Error 1

I think these errors can be easily remedied. Do you understand the last error? 


Mark






More information about the macports-dev mailing list