Opened 12 years ago

Last modified 12 years ago

#33325 new request

Port request- shairport

Reported by: jruschme@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: mkae (Marko Käning)
Port: shairport

Description

I would like to request a port of Shairport, the Airport Express RAOP server clone. A C-language version which appears to use Bonjour services of Mac OS X and the MacPorts port of libao is available at

https://github.com/albertz/shairport

I would attempt a port myself, but am not clear how to handle the sources coming from github.

Attachments (3)

portfile (1.4 KB) - added by jruschme@… 12 years ago.
Portfile for shairport
patch--Makefile.diff (616 bytes) - added by jruschme@… 12 years ago.
Patch to shairport makefile
deric-Portfile (1.2 KB) - added by deric@… 12 years ago.
progress

Download all attachments as: .zip

Change History (15)

comment:1 Changed 12 years ago by mf2k (Frank Schima)

Keywords: shairport removed
Milestone: MacPorts Future
Port: shairport added
Version: 2.0.3

comment:2 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

The github portgroup takes care of most/all of the details of that for you. The github-1.0.tcl portgroup file itself is its only documentation, at this point.

Changed 12 years ago by jruschme@…

Attachment: portfile added

Portfile for shairport

Changed 12 years ago by jruschme@…

Attachment: patch--Makefile.diff added

Patch to shairport makefile

comment:3 Changed 12 years ago by jruschme@…

Attaching a first cut at portfile and makefile patch.

comment:4 Changed 12 years ago by mkae (Marko Käning)

Hardcoding the prefix is not recommended since users might have a different prefix. Please be aware that users might have different prefixes then /opt/local for their installations. Therefore you should use the "reinplace" command

reinplace "s|/usr/local|${prefix}|g" ${worksrcpath}/Makefile

in your portfile to manipulate the path properly. See section "5.6 Tcl extensions" for more details.

comment:5 Changed 12 years ago by mkae (Marko Käning)

Cc: mk@… added

Cc Me!

comment:6 Changed 12 years ago by mkae (Marko Käning)

BTW, the line ".PTHONY: all clean install" in that Makefile looks a little phony to me! ;-)

comment:8 Changed 12 years ago by mkae (Marko Käning)

Did you successfully test your port file from above, or is it just 1st try?

I can't even download the tarball using it...

comment:9 Changed 12 years ago by jruschme@…

Odd, I actually did test it on a Pismo running 2.0.3 under Tiger. And it did install successfully. (Don't ask about the first test run... not a pretty sight.)

I'll have to look at the 'reinplace' change. This is my first port, so I still have a lot of learning to do.

comment:10 Changed 12 years ago by deric@…

Attached my stab at this, was some time since I made a Portfile from scratch but it works and passes lint. I had to recompile perl5.12 (sudo port -n upgrade --force perl5.12) because the compiler path changed with Xcode 4.3 and that seems to have been hard coded somewhere for perl.

Two points I'm uncertain on:

  1. Do we want to depend on avahi as well? "Can't exec "avahi-publish-service": No such file or directory at /opt/local/bin/shairport.pl line 274." but on Macs it falls back to the system supplied Bonjour and that works fine.
  2. p5-libwww-perl is kind of heavyweight but I couldn't find a separate port for HTTP::Request. I'm not that well versed in CPAN modules but there might be an more lightweight approach.

INSTALL.md lists:

  • HTTP::Request
  • HTTP::Message
  • Crypt::OpenSSL::RSA
  • IO::Socket::INET6

... as CPAN dependencies

Changed 12 years ago by deric@…

Attachment: deric-Portfile added

progress

comment:11 Changed 12 years ago by mkae (Marko Käning)

Deric, your portfile worked for me now'''

I saw you removed this line from j's original:

github.tarball_from     downloads

... which actually made it work on my end. :-)

Deric, I see that you added dependencies... Looks like you've got more interest in this port, so I am not going to test this port any further, especially because I am not that into iTunes streaming...

comment:12 in reply to:  9 Changed 12 years ago by mkae (Marko Käning)

Replying to jruschme@…:

... And it did install successfully. (Don't ask about the first test run... not a pretty sight.)

I see. Might be working for you, but in my case it wouldn't if I wanted to install your port on one of my parallel macports installations, which have different prefixes like /opt/macports-test or /opt/clean-slate... :-)

I'll have to look at the 'reinplace' change. This is my first port, so I still have a lot of learning to do.

Deric's update implements that change now. :-)

Note: See TracTickets for help on using tickets.