Add entry on porting tools from Brendan Molloy
This commit is contained in:
parent
bd91c221de
commit
40980769ef
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=47982
1 changed files with 78 additions and 0 deletions
|
|
@ -1023,4 +1023,82 @@
|
|||
</task>
|
||||
</help>
|
||||
</project>
|
||||
|
||||
<project cat='ports'>
|
||||
<title>New tools to enhance the porting experience</title>
|
||||
|
||||
<contact>
|
||||
<person>
|
||||
<name>
|
||||
<given>Brendan</given>
|
||||
<common>Molloy</common>
|
||||
</name>
|
||||
<email>brendan+freebsd@bbqsrc.net</email>
|
||||
</person>
|
||||
</contact>
|
||||
|
||||
<links>
|
||||
<url href="https://github.com/FreeBSD/pytoport">pytoport: Generate &os; Ports from Python modules on PyPI</url>
|
||||
<url href="https://github.com/bbqsrc/bandar">bandar: Create Development Overlays for the Ports tree</url>
|
||||
<url href="https://github.com/bbqsrc/skog-python">skog: Generate Visual Dependency Trees for &os; Ports</url>
|
||||
<url href="https://github.com/bbqsrc/spdx-lookup-python">spdx-lookup: SPDX License List Query Tool</url>
|
||||
</links>
|
||||
|
||||
<body>
|
||||
<p>When I starting working on ports for &os; in the last
|
||||
couple of weeks, I found that my workflow was not as efficient as
|
||||
it could be, using just the available tools, so I made a few that
|
||||
could be useful to the development community at large. All of
|
||||
these have been added to the Ports tree, or otherwise will soon be
|
||||
added, so you can play with them today!</p>
|
||||
|
||||
<p><tt>pytoport</tt> is a command-line application that
|
||||
generates a skeleton port for a given PyPI package name. It
|
||||
attempts to generate the correct dependencies, makes a good
|
||||
attempt at guessing the license using <tt>spdx-lookup</tt>, and
|
||||
generates a <tt>pkg-descr</tt>. This made generating the fifteen
|
||||
or so ports I was working on a complete breeze.</p>
|
||||
|
||||
<p>While doing this, however, I noticed that some ports were
|
||||
bringing in dependencies that I did not expect, and I needed some
|
||||
way to visualise this. <tt>skog</tt> builds a dependency tree
|
||||
from the depends lists output by the Ports framework, and displays
|
||||
it on the command line (with extra shiny output if you are using
|
||||
UTF-8). No more pesky example and documentation dependencies
|
||||
being dragged in when you <em>clearly</em> toggled that
|
||||
<tt>OPTION</tt> as far off as it would go.</p>
|
||||
|
||||
<p>While doing all of this, I found it cumbersome to be
|
||||
copying ports back and forth between my small development tree
|
||||
living in git and the larger upstream SVN tree I was using in
|
||||
poudriere. I built a tool called <tt>bandar</tt> that takes
|
||||
advantage of the FUSE version of unionfs to easily overlay my dev
|
||||
tree on the upstream tree, run linting, poudriere and generate
|
||||
archives with ease.</p>
|
||||
|
||||
<p>I'm very impressed with how easy it was to build more
|
||||
tooling for &os;. I hope some of these tools will be of some use
|
||||
to you, and as always, I'd love to hear your feedback!</p>
|
||||
</body>
|
||||
|
||||
<help>
|
||||
<task>
|
||||
<p>Improve skog to support searching a tree for a certain
|
||||
port.</p>
|
||||
</task>
|
||||
|
||||
<task>
|
||||
<p>Get the bandar port completed.</p>
|
||||
</task>
|
||||
|
||||
<task>
|
||||
<p>Continue to improve pytoport, adding trove support and better
|
||||
depedency handling.</p>
|
||||
</task>
|
||||
|
||||
<task>
|
||||
<p>Patches welcome for all of the above!</p>
|
||||
</task>
|
||||
</help>
|
||||
</project>
|
||||
</report>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue