[USRP-users] [UHD] Replacing Cheetah Templates with Mako

Martin Braun martin.braun at ettus.com
Thu Jul 9 11:57:48 EDT 2015

FYI, Mako 0.4.2 works. We also found some other issues with Python 3
which could be fixed. I've updated the public branch accordingly.


On 07.07.2015 14:38, Martin Braun wrote:
> Hi Nathan,
> thanks for the feedback -- Mako 0.4.2 probably works, too, we just
> haven't tested it yet.  It looks like we can possibly go back as far as
> 0.4.1 (which is more than four years old, which seems like a fair age
> for a dependency).
> We'll give it a spin and roll back the minimum version, if possible.
> Thanks again,
> Martin
> On 07.07.2015 14:13, Perelman, Nathan wrote:
>> I haven't tried building it yet, but it looks like this means that UHD will
>> no long build on Redhat/CentOS 5 or 6 with the stock packages + EPEL, which
>> would be a problem for me. The build instructions state that Mako 0.5 is the
>> minimum version, is this accurate? If Mako 0.4.2 worked then CentOS 6 might
>> work since it has a package for that version.
>> Alternatively, is there some way to run just the code generation to produce
>> a source directory that would then not require Mako to build at all?
>> -Nathan
>> -----Original Message-----
>> From: USRP-users [mailto:usrp-users-bounces at lists.ettus.com] On Behalf Of
>> Martin Braun via USRP-users
>> Sent: Tuesday, July 7, 2015 1:28 PM
>> To: 'USRP-users at lists.ettus.com'; discuss-gnuradio at gnu.org
>> Subject: [USRP-users] [UHD] Replacing Cheetah Templates with Mako
>> Dear UHD users,
>> We will be replacing Cheetah as a template engine with the less-dead Mako
>> template engine. I have pushed a branch for feedback etc. to our github
>> page:
>> https://github.com/EttusResearch/uhd/tree/uhd/python3_mako_831
>> This only affects people building UHD from source. People using binaries
>> will not care or even need to know about this.
>> *Why are we doing this?* The issue with Cheetah is, the project seems
>> inactive and has not been updated in a long while. Also, it is not Python 3
>> compatible, and some of the distributions we support are starting to switch
>> over to Python 3 as the default. We spent some time researching other
>> template engines not only for quality and features, but also for stability
>> of API, user base, community etc. Mako is used widely on the webs, and has a
>> mostly backward-compatible API for several years now, as well as an active
>> community.
>> *What does UHD need a template engine for?* We use it to auto-generate code
>> in some places. It saves us from typing out long, boring and repetitive
>> sources files, which a computer can do much better than a human without
>> typos. We do *not* use it during runtime or anytime after installation.
>> *When will this be changed?* Soon, and will be permanent for the next major
>> release (3.9.0).
>> *Doesn't GNU Radio work fine with Cheetah?* GNU Radio is facing similar
>> issues (e.g. no Python 3 compatibility), but Cheetah is much more deeply
>> woven into GNU Radio and it's harder to replace, and such things can't
>> happen unless for major releases. It's certainly not a single commit as for
>> UHD.
>> I'll leave this public branch up for a bit, and will then merge this into
>> master -- but I'm happy for any feedback!
>> Thanks,
>> Martin
>> _______________________________________________
>> USRP-users mailing list
>> USRP-users at lists.ettus.com
>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

More information about the USRP-users mailing list