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

Perelman, Nathan nperelman at LGSInnovations.com
Tue Jul 7 17:13:41 EDT 2015

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?

-----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

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

*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

I'll leave this public branch up for a bit, and will then merge this into
master -- but I'm happy for any feedback!


USRP-users mailing list
USRP-users at lists.ettus.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4327 bytes
Desc: not available
URL: <http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20150707/45f9d8fe/attachment.p7s>

More information about the USRP-users mailing list