<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <blockquote
cite="mid:CAEc6OSz7ztnGnsxZpFyMvz2PzDYejWEpkumRwaiey6PusPa87w@mail.gmail.com"
      type="cite">
      <div class="gmail_quote">
        <blockquote class="gmail_quote" style="margin:0 0 0
          .8ex;border-left:1px #ccc solid;padding-left:1ex">
          <div bgcolor="#FFFFFF" text="#000000">
            <div>
              <div class="h5">
                <blockquote type="cite">
                  <div class="gmail_quote">
                    <div> But then in my .autobuild file, I guessed that
                      boost_package 'boost1.48' would have worked, but
                      autoproj complains that boost_package does not
                      exist.<br>
                      In source.yml, I have set the archive url for
                      boost1.48.<br>
                    </div>
                  </div>
                </blockquote>
              </div>
            </div>
            OK ... You need to have a look in autoproj/autobuild.rb.
            That is where the package types are made available for
            autoproj users (in short: you need to define the
            boost_package method at the toplevel, not on the Autobuild
            module). This is a bit of a historical thing ...<span
              class="HOEnZb"><font color="#888888"><br>
              </font></span></div>
        </blockquote>
        <div><br>
          ok. but I don't find where the ':cmake' package type is
          defined... how should I call package_common to point to the
          BoostPackage class I have defined?<br>
        </div>
      </div>
    </blockquote>
    This sucks ... Thanks for pointing it out.<br>
    <br>
    The chain is:<br>
      <br>
      at toplevel: def cmake_package ... end<br>
      calls: package_common(:cmake, ...)<br>
      calls: Autoproj.define(:cmake, options)<br>
      calls: Autobuild.cmake(options)<br>
    <br>
    So, you do need to define the method on Autobuild (the way you did)
    and then define the boost_package at toplevel, which <br>
    <br>
    In the future, I will change this so that the code gets package
    classes directly (while keeping backward compatibility), which makes
    a lot more sense. Instead of defining your own package type (which
    is a one-time thing ...) you will then be able to directly define
    the whole package in an autobuild file:<br>
    <br>
      package_common(Autobuild::Configurable, 'boost') do |pkg|<br>
        def pkg.configure<br>
           ...<br>
        end<br>
        def pkg.build<br>
           ...<br>
        end<br>
      end<br>
    <br>
    Sylvain
  </body>
</html>