Ticket #10 (closed enhancement: wontfix)

Opened 6 years ago

Last modified 3 years ago

Perl bindings for paludis

Reported by: Bapt Owned by: pioto
Priority: IfSomeoneSendsAPatch Milestone:
Component: core/paludis Version:
Keywords: Cc: moshe.kamensky@…
Blocked By: Blocking:
Distribution: N/A

Description

paludis already has ruby bindings, would be great to have perl bindings too.

Change History

comment:1 Changed 6 years ago by ciaranm

  • Status changed from new to closed
  • Resolution set to wontfix

Not something that's going to get done unless someone a) provides patches and b) convinces us that they're going to stick around and maintain it. I had a look at the Perl XS API. It's horrible, and a lot more work than Ruby or Python.

comment:2 Changed 6 years ago by ciaranm

  • Priority changed from P2 to IfSomeoneSendsAPatch

comment:3 Changed 5 years ago by pioto

  • Status changed from closed to reopened
  • Version 0.14.2 deleted
  • Resolution wontfix deleted

Hmm.... I might wanna take another look at this.

comment:4 Changed 5 years ago by pioto

  • Owner changed from ciaranm to pioto
  • Status changed from reopened to assigned

comment:5 Changed 5 years ago by samvimes

  • Cc moshe.kamensky@… added
  • Distribution set to Gentoo

comment:6 Changed 5 years ago by pioto

  • Status changed from assigned to accepted
  • Distribution changed from Gentoo to N/A

I've got some rudimentary working code available in a separate git repo, browseable at:  http://git.pioto.org/?p=paludis-perl.git;a=summary

It isn't anything like complete yet.

comment:7 Changed 5 years ago by pioto

  • Type changed from defect to enhancement

comment:8 Changed 4 years ago by pioto

Other things to potentially look into, besides XS, include:

Inline::CPP

 http://search.cpan.org/perldoc?Inline::CPP

SWIG

 http://www.swig.org/Doc1.3/SWIGPlus.html  http://www.swig.org/papers/Perl98/swigperl.htm

At the moment, I'm leaning towards SWIG.

comment:9 follow-up: ↓ 10 Changed 4 years ago by ciaranm

SWIG's pretty much unusable, since its support for C++ sucks. You'd have to write a nearly-C API on top of the C++ API, and SWIG that.

comment:10 in reply to: ↑ 9 ; follow-up: ↓ 11 Changed 4 years ago by pioto

Replying to ciaranm:

SWIG's pretty much unusable, since its support for C++ sucks. You'd have to write a nearly-C API on top of the C++ API, and SWIG that.

XS's C++ support is almost certainly worse still. Apparently SWIG at least knows about smart pointers and what not. I haven't actually done much w/ it yet aside from peruse some docs, so it may end up not working... But mucking around with XS is just like giving myself a root canal.

comment:11 in reply to: ↑ 10 Changed 4 years ago by samvimes

Replying to pioto:

Replying to ciaranm:

SWIG's pretty much unusable, since its support for C++ sucks. You'd have to write a nearly-C API on top of the C++ API, and SWIG that.

XS's C++ support is almost certainly worse still. Apparently SWIG at least knows about smart pointers and what not. I haven't actually done much w/ it yet aside from peruse some docs, so it may end up not working... But mucking around with XS is just like giving myself a root canal.

I tried using swig for the interface with paludis a while ago. The main problem I ran into is that there was no shared_ptr support for perl. However, there is shared_ptr support with python as the target language, and I was told on the swig ml that it will be easy to implement it for perl (though I tried and didn't succeed). So I think that it's reasonable to expect that if there is a swig interface that works for python, one day it will work with perl as well.

comment:12 Changed 3 years ago by pioto

  • Status changed from accepted to closed
  • Resolution set to wontfix

I don't have any motivation to work on this more at this point. I'll leave my old code around for now, though.

WONTFIX, reopen if someone else cares to do the work for this.

Note: See TracTickets for help on using tickets.