Bug 200608

Summary: net-im/skype4: unbreak on 11.0-CURRENT
Product: Ports & Packages Reporter: Andriy Voskoboinyk <avos>
Component: Individual Port(s)Assignee: freebsd-ports-bugs (Nobody) <ports-bugs>
Status: Closed FIXED    
Severity: Affects Some People CC: xmj, xmj
Priority: --- Flags: bugzilla: maintainer-feedback? (xmj)
Version: Latest   
Hardware: Any   
OS: Any   
Bug Depends on: 200675    
Bug Blocks:    
Attachments:
Description Flags
Patch.diff
none
libpulse-i386-linux.so.tar.xz
none
Add tcp_wrappers-libs dependency (linux-c6-pulseaudio-libs)
none
Add dependency for skype_oss_wrapper (skype4) none

Description Andriy Voskoboinyk freebsd_committer freebsd_triage 2015-06-02 22:57:14 UTC
Created attachment 157385 [details]
Patch.diff

The "skype" binary works fine after recent update in linux compat layer when linux-c6-pulseaudio (libpulse.so.0) is not installed (but linprocfs(5) must be mounted into ${LINUXBASE}/proc). So:

- Unbreak net-im/skype4 for __FreeBSD_version >= 1100075.
- (temporarily) Disable PA dependency.

Also:
- Drop (indirect) PA dependencies.
- Add tcp_wrappers-libs into linux-c6-pulseaudio-libs dependencies (used by libpulse.so.0)
- Fix some portlint(1) warnings.

Workaround: libpulse.so.0 can be replaced with PA wrapper from https://github.com/waterlaz/skype_oss_wrapper - then sound will work too (with mounted devfs(5) in ${LINUXBASE}/dev).
Comment 1 Andriy Voskoboinyk freebsd_committer freebsd_triage 2015-06-02 23:00:48 UTC
Created attachment 157386 [details]
libpulse-i386-linux.so.tar.xz
Comment 2 Johannes Jost Meixner freebsd_committer freebsd_triage 2015-06-03 10:34:37 UTC
Does "work fine" include phone calls?
Comment 3 Andriy Voskoboinyk freebsd_committer freebsd_triage 2015-06-03 12:37:18 UTC
Cannot test (I am not using Skype Credit).
Comment 4 Johannes Jost Meixner freebsd_committer freebsd_triage 2015-06-03 16:55:06 UTC
(In reply to Andriy Voskoboinyk from comment #3)
You can call 'echo123', free of charge, which is Skype's own test service. Then, they guide you through it, you say something, it gets repeated. 

If you hear your own voice, it works.
Comment 5 Johannes Jost Meixner freebsd_committer freebsd_triage 2015-06-03 16:56:41 UTC
Similarly, can you please create a proper port instead of libpulse-i386-linux.so.tar.gz, and show how you compiled it?
Comment 6 Andriy Voskoboinyk freebsd_committer freebsd_triage 2015-06-03 17:50:59 UTC
(In reply to Johannes Jost Meixner from comment #4)
Yes, Skype -> Skype audio calls work (not only to 'echo123' test service).
Comment 7 Andriy Voskoboinyk freebsd_committer freebsd_triage 2015-06-03 18:11:07 UTC
(In reply to Johannes Jost Meixner from comment #5)
Not sure if this is possible - I have used slightly modified emulators/linux_dist-gentoo-stage3 port for this purpose.
Comment 8 Johannes Jost Meixner freebsd_committer freebsd_triage 2015-06-03 19:54:25 UTC
(In reply to Andriy Voskoboinyk from comment #7)
Gentoo stage3 ports have been expired on March 28, 2015.

https://svnweb.freebsd.org/ports/head/MOVED?r1=382454&r2=382455

Please try and see if you can get this working with CentOS 6.6, which has been the default Linux base emulator for half a year now, and is the only currently supported way to run things.
Comment 9 Andriy Voskoboinyk freebsd_committer freebsd_triage 2015-06-03 21:10:13 UTC
(In reply to Johannes Jost Meixner from comment #8)
It works with CentOS 6.6 too - there is no cross-toolchain in the ports tree, which can produce Linux binaries (https://wiki.freebsd.org/linux-xdev).
Comment 10 Johannes Jost Meixner freebsd_committer freebsd_triage 2015-06-04 09:57:22 UTC
(In reply to Andriy Voskoboinyk from comment #9)
Check linux-c6-devtools. It should have all the tools you might want, that are available with CentOS 6.6

Anyway, it will be good if you can provide instructions how to build it.
For me, because I'm curious how you got it and I didn't ;-),
and for the FreeBSD project, because of security considerations.

Then, we can put that into a port with NO_BUILD- yes ... like all the other linux- ports are.
Comment 11 Andriy Voskoboinyk freebsd_committer freebsd_triage 2015-06-05 18:04:38 UTC
Created attachment 157436 [details]
Add tcp_wrappers-libs dependency (linux-c6-pulseaudio-libs)
Comment 12 Andriy Voskoboinyk freebsd_committer freebsd_triage 2015-06-05 18:06:56 UTC
Created attachment 157437 [details]
Add dependency for skype_oss_wrapper (skype4)
Comment 13 Johannes Jost Meixner freebsd_committer freebsd_triage 2015-06-10 17:40:29 UTC
(In reply to Andriy Voskoboinyk from comment #11)
Please file a separate PR for this change.
Comment 14 commit-hook freebsd_committer freebsd_triage 2015-06-11 14:58:36 UTC
A commit references this bug:

Author: xmj
Date: Thu Jun 11 14:58:05 UTC 2015
New revision: 389223
URL: https://svnweb.freebsd.org/changeset/ports/389223

Log:
  net-im/skype4: unbreak on 11.0-CURRENT

  Changes:

    The "skype" binary works fine after recent update in linux compat layer when
    linux-c6-pulseaudio (libpulse.so.0) is not installed (but linprocfs(5) must be
    mounted into ${LINUXBASE}/proc). So:

    - Unbreak net-im/skype4 for __FreeBSD_version >= 1100075.
    - (temporarily) Disable PA dependency.

    Also:
    - Drop (indirect) PA dependencies.
    - Add tcp_wrappers-libs into linux-c6-pulseaudio-libs dependencies (used by
      libpulse.so.0)
    - Fix some portlint(1) warnings.

    Workaround: libpulse.so.0 can be replaced with PA wrapper from
    https://github.com/waterlaz/skype_oss_wrapper - then sound will work too (with
    mounted devfs(5) in ${LINUXBASE}/dev).

  PR:		200608
  Submitted by:	Andriy Voskoboinyk <s3erios@gmail.com>

Changes:
  head/net-im/skype4/Makefile
  head/net-im/skype4/files/skype.sh.in
Comment 15 Johannes Jost Meixner freebsd_committer freebsd_triage 2015-06-11 15:34:18 UTC
Committed, thanks!