Bug 240402 - audio/mumble: Update to 1.3.0
Summary: audio/mumble: Update to 1.3.0
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Mark Felder
URL: https://github.com/mumble-voip/mumble...
Keywords: needs-qa
Depends on:
Blocks:
 
Reported: 2019-09-08 01:38 UTC by Vladimir Druzenko
Modified: 2019-10-21 23:18 UTC (History)
2 users (show)

See Also:
bugzilla: maintainer-feedback? (feld)
feld: merge-quarterly+


Attachments
Update to release 1.3.0 (6.71 KB, patch)
2019-09-08 14:41 UTC, Vladimir Druzenko
no flags Details | Diff
Update to release 1.3.0 (6.75 KB, patch)
2019-09-13 00:43 UTC, Vladimir Druzenko
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Vladimir Druzenko freebsd_committer freebsd_triage 2019-09-08 01:38:41 UTC
"Mumble 1.3 is finally here!"

I'm trying make patch.
Comment 1 Vladimir Druzenko freebsd_committer freebsd_triage 2019-09-08 14:41:49 UTC
Created attachment 207292 [details]
Update to release 1.3.0

* Update to release 1.3.0 (tested on 12.0 amd64 and i386)
* Added optional PULSEAUDIO support: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=238438 (probably tested by the author of the patch)
* Added optional ALSA support (not tested)
* Added optional JACK support (not tested)
* Replaced in USES dependency from "python:2.7" on "python" - default is 3.6 now (tested on 12.0 amd64 and i386)
Comment 2 Chris W. 2019-09-08 22:50:31 UTC
audio/mumble/work/mumble-1.3.0/release/libmumble.so.1.3.0 is missing
stops compiling.

but i can execute audio/mumble/work/mumble-1.3.0/release/mumble

something is wrong.

Jackaudio seems working.
Comment 3 Chris W. 2019-09-08 23:08:41 UTC
(In reply to Chris W. from comment #2)

my bad:

have compiled with "make -j4" and it broke. With "make" it completes compiling.

sorry
Comment 4 Chris W. 2019-09-11 00:17:18 UTC
I have tested the patch and works for me.

I am no Reviewer but it looks fine.
Comment 5 Mark Felder freebsd_committer freebsd_triage 2019-09-12 15:17:55 UTC
(In reply to Chris W. from comment #4)

It's not fine. Fails in poudriere because of missing libraries after the build. If you are building out of your ports tree on a live system with a previously installed version of Mumble it will appear to work, but it's not correct.

Something odd is going on with qmake. I'm talking to the Mumble developers and trying to figure out what happened between the older beta and now.
Comment 6 Vladimir Druzenko freebsd_committer freebsd_triage 2019-09-12 21:42:55 UTC
(In reply to Mark Felder from comment #5)
Just tested on 2 hosts - 12.0 amd64 and i386:
pkg delete -yf mumble
portmaster audio/mumble

Build without errors.
Comment 7 Sebastian Schwarz 2019-09-12 21:53:24 UTC
With the current patch I get the following error in Poudriere on FreeBSD:12:amd64:

> Project ERROR: Unable to find the system's Python binary. Some scripts invoked during the Mumble build use Python. You can manually specify it via the MUMBLE_PYTHON environment variable (either 2 or 3).

Adding "QMAKE_ENV+=MUMBLE_PYTHON=${PYTHON_CMD}" to the patched Makefile alleviates that problem.  The result builds and runs here.  I don't seem to be missing any libraries.

Also doesn't the error message say that Python is a build-time only dependency?  Shouldn't it be "USES=python:build" instead of "USES=python"?
Comment 8 Vladimir Druzenko freebsd_committer freebsd_triage 2019-09-12 22:44:16 UTC
(In reply to Sebastian Schwarz from comment #7)
> Adding "QMAKE_ENV+=MUMBLE_PYTHON=${PYTHON_CMD}" to the patched Makefile alleviates that problem.
In what place of the Makefile?

> Also doesn't the error message say that Python is a build-time only dependency?  > Shouldn't it be "USES=python:build" instead of "USES=python"?
May be… Tried it - build and work fine without python for me.
Comment 9 Chris W. 2019-09-12 23:17:16 UTC
(In reply to Sebastian Schwarz from comment #7)

I thought python is used in audio/murmur the server not audio/mumble the client. Or am i wrong?
Comment 10 Vladimir Druzenko freebsd_committer freebsd_triage 2019-09-13 00:43:17 UTC
Created attachment 207448 [details]
Update to release 1.3.0

Ye, it can't find python3 if python2 isn't installed.
Comment 11 Vladimir Druzenko freebsd_committer freebsd_triage 2019-09-27 16:40:03 UTC
?
Comment 12 Chris W. 2019-10-15 09:43:57 UTC
any news? I have compiled it without "-j4" successfully.
Has somebody contacted the mumble dev team? Can't find a issue tracker for this.
Comment 13 Vladimir Druzenko freebsd_committer freebsd_triage 2019-10-15 13:20:32 UTC
(In reply to Chris W. from comment #12)
> any news?
Don't understand too why this didn't commited yet.

> I have compiled it without "-j4" successfully.
Why we need it?

> Has somebody contacted the mumble dev team? Can't find a issue tracker for this.
https://github.com/mumble-voip/mumble/issues

P.S. What are we waiting for?…
Comment 14 Chris W. 2019-10-15 18:48:35 UTC
(In reply to VVD from comment #13)
>> I have compiled it without "-j4" successfully.
>Why we need it?

For compile fast with mulithreaded cpu would be nice.
Comment 15 Vladimir Druzenko freebsd_committer freebsd_triage 2019-10-15 22:19:40 UTC
(In reply to Chris W. from comment #14)
> For compile fast with mulithreaded cpu would be nice.
Yes, but this feature isn't blocking.
Comment 16 Mark Felder freebsd_committer freebsd_triage 2019-10-20 18:38:19 UTC
Finally figured out what's going on.

build 1:
 
root@120R-dev:~ # ls /wrkdirs/usr/ports/audio/mumble/work/mumble-1.3.0/debug/
.moc                    .ui                     libmumble.so.1          libmumble.so.1.3.0      librnnoise.a            plugins
.obj                    libmumble.so            libmumble.so.1.3        libmumble_proto.a       mumble
root@120R-dev:~ # ls /wrkdirs/usr/ports/audio/mumble/work/mumble-1.3.0/release/
.moc                    .ui                     libcelt0.so.0           libcelt0.so.0.11.0      libcelt0.so.0.7.0       librnnoise.a            plugins
.obj                    libcelt0.so             libcelt0.so.0.11        libcelt0.so.0.7         libmumble_proto.a       mumble
 
build 2:
 
root@120R-dev:~ # ls /wrkdirs/usr/ports/audio/mumble/work/mumble-1.3.0/debug/
.moc                    .ui                     libcelt0.so.0           libcelt0.so.0.11.0      libmumble.so            libmumble.so.1.3        libmumble_proto.a       mumble
.obj                    libcelt0.so             libcelt0.so.0.11        libcelt0.so.0.7.0       libmumble.so.1          libmumble.so.1.3.0      librnnoise.a            plugins
root@120R-dev:~ # ls /wrkdirs/usr/ports/audio/mumble/work/mumble-1.3.0/release/
.moc                    .obj                    .ui                     libcelt0.so.0.7         libmumble_proto.a       librnnoise.a            mumble                  plugins


The build artifacts are randomly showing up in the release/ and debug/ dirs. This inconsistency breaks the ability to package & install reliably.

The problem is from here which I will patch:

--- qmake/builddir.pri.orig     2019-10-20 18:28:58 UTC
+++ qmake/builddir.pri
@@ -33,20 +33,7 @@ isEmpty(TOP_BUILDDIR) {
   TOP_BUILDDIR = $$TOP_SRCDIR
 }

-# If the build and source paths are equal,
-# it's not a shadow build.
-equals(TOP_BUILDDIR, $$TOP_SRCDIR) {
-  CONFIG(debug, debug|release) {
-    DESTDIR = $$TOP_BUILDDIR/debug
-  }
-
-  CONFIG(release, debug|release) {
-    DESTDIR = $$TOP_BUILDDIR/release
-  }
-} else {
-  DESTDIR = $$TOP_BUILDDIR
-}
-
+DESTDIR = $$TOP_BUILDDIR/release
 OBJECTS_ROOT = $$DESTDIR/.obj
 MOC_ROOT = $$DESTDIR/.moc
 RCC_ROOT = $$DESTDIR/.qrc



The qmake stuff is changing the DESTDIR based on the build and source paths, but the different build workers have different paths for unknown reasons. So every package build is a crapshoot of whether or not it will package correctly.
Comment 17 Chris W. 2019-10-21 19:13:26 UTC
(In reply to Mark Felder from comment #16)

my build looks like this:
# ls /usr/ports/audio/mumble/work/mumble-1.3.0/debug
libcelt0.so        libcelt0.so.0.7    libmumble.so.1     mumble
libcelt0.so.0      libcelt0.so.0.7.0  libmumble.so.1.3   plugins
libcelt0.so.0.11   libmumble_proto.a  libmumble.so.1.3.0
libcelt0.so.0.11.0 libmumble.so       librnnoise.a

# ls /usr/ports/audio/mumble/work/mumble-1.3.0/release
libcelt0.so        libcelt0.so.0.7    libmumble.so.1     mumble
libcelt0.so.0      libcelt0.so.0.7.0  libmumble.so.1.3   plugins
libcelt0.so.0.11   libmumble_proto.a  libmumble.so.1.3.0
libcelt0.so.0.11.0 libmumble.so       librnnoise.a

I'm not a developer so i don't understand what is wrong.
Comment 18 commit-hook freebsd_committer freebsd_triage 2019-10-21 21:19:35 UTC
A commit references this bug:

Author: feld
Date: Mon Oct 21 21:18:40 UTC 2019
New revision: 515129
URL: https://svnweb.freebsd.org/changeset/ports/515129

Log:
  audio/mumble: Update to 1.3.0

  PR:		240402
  MFH:		2019Q4

Changes:
  head/audio/mumble/Makefile
  head/audio/mumble/distinfo
  head/audio/mumble/files/patch-src__mumble__OSS.cpp
  head/audio/mumble/pkg-plist
Comment 19 commit-hook freebsd_committer freebsd_triage 2019-10-21 21:20:39 UTC
A commit references this bug:

Author: feld
Date: Mon Oct 21 21:20:32 UTC 2019
New revision: 515130
URL: https://svnweb.freebsd.org/changeset/ports/515130

Log:
  audio/mumble: Add missing patch to make builds reliable

  PR:		240402
  MFH:		2019Q4

Changes:
  head/audio/mumble/Makefile
  head/audio/mumble/files/patch-qmake_builddir.pri
Comment 20 commit-hook freebsd_committer freebsd_triage 2019-10-21 21:53:46 UTC
A commit references this bug:

Author: feld
Date: Mon Oct 21 21:52:45 UTC 2019
New revision: 515136
URL: https://svnweb.freebsd.org/changeset/ports/515136

Log:
  MFH: r515129 r515130

  audio/mumble: Update to 1.3.0

  PR:		240402

  Approved by:	portmgr (swills)

Changes:
_U  branches/2019Q4/
  branches/2019Q4/audio/mumble/Makefile
  branches/2019Q4/audio/mumble/distinfo
  branches/2019Q4/audio/mumble/files/patch-qmake_builddir.pri
  branches/2019Q4/audio/mumble/files/patch-src__mumble__OSS.cpp
  branches/2019Q4/audio/mumble/pkg-plist
Comment 21 Vladimir Druzenko freebsd_committer freebsd_triage 2019-10-21 23:18:20 UTC
Thanks!