Bug 203607 - [patch] audio/audacity: Update to 2.1.1
Summary: [patch] audio/audacity: Update to 2.1.1
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Thomas Zander
URL:
Keywords: patch, patch-ready
Depends on:
Blocks:
 
Reported: 2015-10-07 08:15 UTC by Jack
Modified: 2015-11-22 20:13 UTC (History)
3 users (show)

See Also:
riggs: maintainer-feedback+


Attachments
Patch to upgrade audacity to 2.1.1 (12.68 KB, patch)
2015-10-07 08:15 UTC, Jack
no flags Details | Diff
Updated diff with soxr as default (13.01 KB, patch)
2015-10-10 01:59 UTC, Jack
no flags Details | Diff
Working patch (12.68 KB, patch)
2015-11-03 01:22 UTC, Jack
no flags Details | Diff
A tar of the directory in case the patch isn't working. (5.66 KB, application/gzip)
2015-11-03 01:23 UTC, Jack
no flags Details
Patch to upgrade audacity to 2.1.1 (12.99 KB, patch)
2015-11-03 08:19 UTC, Jack
no flags Details | Diff
tar of the directory. (5.55 KB, application/gzip)
2015-11-03 09:32 UTC, Jack
no flags Details
tar of directory with cmake/soxr fix (5.56 KB, application/gzip)
2015-11-04 21:12 UTC, Jack
no flags Details
patch that passes poudriere build (21.02 KB, patch)
2015-11-05 08:33 UTC, Yuri Victorovich
no flags Details | Diff
shar that passes poudriere build (21.97 KB, text/plain)
2015-11-05 08:34 UTC, Yuri Victorovich
no flags Details
poudriere log (299.37 KB, text/plain)
2015-11-05 08:39 UTC, Yuri Victorovich
no flags Details
patch (25.65 KB, patch)
2015-11-05 21:48 UTC, Yuri Victorovich
koobs: maintainer-approval-
Details | Diff
pkg-plist broken with nls. (21.35 KB, patch)
2015-11-13 00:24 UTC, Jack
no flags Details | Diff
New shar with current fixes (21.72 KB, patch)
2015-11-13 02:15 UTC, Jack
xxjack12xx: maintainer-approval+
Details | Diff
Patch to upgrade audacity (26.32 KB, patch)
2015-11-13 08:00 UTC, Jack
koobs: maintainer-approval+
Details | Diff
New patch with unix line endings (25.70 KB, patch)
2015-11-16 20:04 UTC, Jack
xxjack12xx: maintainer-approval+
Details | Diff
Patch with nyquist fix (26.55 KB, patch)
2015-11-22 06:47 UTC, Jack
xxjack12xx: maintainer-approval+
Details | Diff
build log with no options and all options (127.70 KB, application/x-bzip)
2015-11-22 07:18 UTC, Jack
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jack 2015-10-07 08:15:43 UTC
Created attachment 161788 [details]
Patch to upgrade audacity to 2.1.1

Patch to update audacity to 2.1.1
Comment 1 Yuri Victorovich freebsd_committer freebsd_triage 2015-10-10 01:28:06 UTC
Build fails for me with SAMPLERATE chosen over SOXR:

> configure: error: Audacity requires libsoxr to be enabled
> ===>  Script "configure" failed unexpectedly.
> Please report the problem to xxjack12xx@gmail.com [maintainer] and attach the

So is this because it only expects SOXR and SAMPLERATE is not supported, or something else is wrong?

Also I think you can safely remove WX_UNICODE= because it is defunct now.

And it is best to add poudriere log for the port build, otherwise committers won't be willing to take it. And also how do you know yourself that there are no obscure problems with the build?
Comment 2 Jack 2015-10-10 01:59:29 UTC
Created attachment 161868 [details]
Updated diff with soxr as default

Appears soxr is now the default and samplerated was removed.
Comment 3 Jack 2015-10-10 02:01:18 UTC
How do i create a poudriere log for this?

I built and tested it on my local PC, recorded some things, imported some files, etc. All seems to work properly.
Comment 4 Yuri Victorovich freebsd_committer freebsd_triage 2015-10-10 02:05:31 UTC
It is described here: https://www.freebsd.org/doc/handbook/ports-poudriere.html
Comment 5 Yuri Victorovich freebsd_committer freebsd_triage 2015-10-10 02:08:47 UTC
Poudriere builds port in isolated, controlled environment. It finds some potential defects like unsatisfied dependencies, stray downloads during build, etc.

Another thing people run is 'portlint'. It actually prints some warnings for audacity.
Comment 6 Jack 2015-10-10 02:22:38 UTC
Hmm, the poudriere seems like it will take me some time to set up. As for the portlint, I just ran it and it suggested I do make makepatch, but it seems to have broke the diffs that have the dos line endings (some of the source code that needs to be patched has dos line endings)
Comment 7 Jack 2015-11-02 22:32:12 UTC
I'm still having trouble configuring poudriere, do you still need the output or is the current diff ok? I've been running the software using that diff for a 3 weeks now without any issues.
Comment 8 Yuri Victorovich freebsd_committer freebsd_triage 2015-11-02 23:13:03 UTC
Actually the attached patch currently fails on Makefile. Could you please update it?
Comment 9 Jack 2015-11-03 01:22:35 UTC
Created attachment 162719 [details]
Working patch
Comment 10 Jack 2015-11-03 01:23:41 UTC
Created attachment 162720 [details]
A tar of the directory in case the patch isn't working.

The patch contains dos line and unix line endings because the source code has mismatched line endings.
Comment 11 Yuri Victorovich freebsd_committer freebsd_triage 2015-11-03 02:06:46 UTC
It still fails when SAMPLERATE=on. You said before:
> Appears soxr is now the default and samplerated was removed.

And Makefile still has SAMPLERATE option.
Comment 12 Jack 2015-11-03 02:10:19 UTC
Sorry, that must be the wrong diff. I was working on the diff on a few different computers. I'll find the diff that I'm currently running. Hold for now.
Comment 13 Jack 2015-11-03 08:19:36 UTC
Created attachment 162725 [details]
Patch to upgrade audacity to 2.1.1

Here is the patch that was tested.
Comment 14 Yuri Victorovich freebsd_committer freebsd_triage 2015-11-03 08:30:41 UTC
I am not sure why, but patch fails:
> Patching file Makefile using Plan A...
> Hunk #1 failed at 2.
> Hunk #2 failed at 15.
> Hunk #3 failed at 42.
> Hunk #4 failed at 52.
> Hunk #5 failed at 82.
> 5 out of 5 hunks failed--saving rejects to Makefile.rej

All other files succeed. Are you sure you are making a patch against the current repository?
Comment 15 Jack 2015-11-03 08:49:03 UTC
What does the .rej say? It is against the current repo/revision. I remade the diff an hour ago.
Comment 16 Jack 2015-11-03 08:50:43 UTC
patch -C < audacity.diff 
Hmm...  Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff -urN audacity/Makefile audacity-new/Makefile
|--- audacity/Makefile  2015-11-03 00:08:24.279821000 -0800
|+++ audacity-new/Makefile      2015-11-03 00:09:36.483476000 -0800
--------------------------
Patching file audacity/Makefile using Plan A...
Hunk #1 succeeded at 2.
Hunk #2 succeeded at 15.
Hunk #3 succeeded at 42.
Hunk #4 succeeded at 52.
Hunk #5 succeeded at 82.
Hmm...  The next patch looks like a unified diff to me...
The text leading up to this was:
Comment 17 Jack 2015-11-03 09:32:08 UTC
Created attachment 162727 [details]
tar of the directory.

tar of the directory.
Comment 18 Yuri Victorovich freebsd_committer freebsd_triage 2015-11-04 20:13:56 UTC
poudriere build fails:
> ./configure: line 16: cmake: command not found
> configure: error: ./configure failed for lib-src/libsoxr
> ===>  Script "configure" failed unexpectedly.
Comment 19 Jack 2015-11-04 20:27:02 UTC
Strange, the Makefile has this

SOXR_CONFIGURE_WITH=    libsoxr
SOXR_BUILD_DEPENDS=     cmake:${PORTSDIR}/devel/cmake

Is something missing to require cmake as a dependency?
Comment 20 Yuri Victorovich freebsd_committer freebsd_triage 2015-11-04 20:40:07 UTC
But SOXR isn't declared to be a port option, so SOXR_CONFIGURE_WITH=libsoxr has no effect.
Comment 21 Jack 2015-11-04 21:04:54 UTC
Will
SOXR_CONFIGURE_WITH=    libsoxr

work without it being an option? I moved the cmake up with the BUILD_DEPENDS.
Comment 22 Yuri Victorovich freebsd_committer freebsd_triage 2015-11-04 21:06:42 UTC
I don't think any such variables XXX_CONFIGURE_WITH=xxx have any effect, unless XXX is declared a port option.
Comment 23 Jack 2015-11-04 21:12:23 UTC
Created attachment 162791 [details]
tar of directory with cmake/soxr fix

Here's a new tar with the soxr/cmake fix.
Comment 24 Yuri Victorovich freebsd_committer freebsd_triage 2015-11-04 21:38:03 UTC
Now stage-qa fails. Yo need to make sure 'make stage-qa' passes.

> ====> Running Q/A tests (stage-qa)
> Warning: 'bin/audacity' is not stripped consider trying INSTALL_TARGET=install-strip or using ${STRIP_CMD}
> ====> Checking for pkg-plist issues (check-plist)
> ===> Parsing plist
> ===> Checking for items in STAGEDIR missing from pkg-plist
> ===> Checking for items in pkg-plist which are not in STAGEDIR
> Error: Missing: %%DOCSDIR%%/README.txt
> ===> Error: Plist issues found.
> *** Error code 1
Comment 25 Jack 2015-11-04 22:06:14 UTC
Ok, I'll work on that.
Comment 26 Jack 2015-11-05 01:29:02 UTC
I added INSTALL_TARGET= install-strip to the Makefile but it still complains about

Warning: 'bin/audacity' is not stripped consider trying INSTALL_TARGET=install-strip or using ${STRIP_CMD}

I'm not sure why the plist issue is happening.

I have
%%PORTDOCS%%%%DOCSDIR%%/README.txt
in the pkg-plist already.

ls work/stage/usr/local/share/doc/audacity/
LICENSE.txt     README.txt

Any suggestions?
Comment 27 Yuri Victorovich freebsd_committer freebsd_triage 2015-11-05 05:51:04 UTC
> Error: Missing: %%DOCSDIR%%/README.txt

I think once you have PORTDOCS=, you don't need to list them in pkg-plist
Comment 28 Jack 2015-11-05 06:29:10 UTC
Ok, I have PORTDOCS=README.txt

How can I fix this part?

Warning: 'bin/audacity' is not stripped consider trying INSTALL_TARGET=install-strip or using ${STRIP_CMD}
Comment 29 Kubilay Kocak freebsd_committer freebsd_triage 2015-11-05 06:43:58 UTC
(In reply to xxjack12xx from comment #28)

If an install-strip target exists in the Makefile then this *should* already do it. 

If its buggy or it doesn't exist, then you can use post-install: ${STRIP_CMD} ${STAGEDIR}/path/to/binary

Long term, its better that an install-strip target exists and works, so if you can fix it and send it upstream, bonus points.

Please also attach your change in unified diff format (via svn diff or diff -u) if you can.
Comment 30 Yuri Victorovich freebsd_committer freebsd_triage 2015-11-05 07:33:48 UTC
> If an install-strip target exists in the Makefile then this *should* already do it.

In general it should, but in this case it doesn't happen. It strips it, but then something overwrites it with unstripped version. I am looking into this.
Comment 31 Yuri Victorovich freebsd_committer freebsd_triage 2015-11-05 08:33:05 UTC
Created attachment 162802 [details]
patch that passes poudriere build
Comment 32 Yuri Victorovich freebsd_committer freebsd_triage 2015-11-05 08:34:00 UTC
Created attachment 162803 [details]
shar that passes poudriere build
Comment 33 Yuri Victorovich freebsd_committer freebsd_triage 2015-11-05 08:39:20 UTC
Created attachment 162804 [details]
poudriere log

I did the following:
* In Makefikle.in replaced erroneous bin_SCRIPTS=audacity with bin_PROGRAMS=audacity. This caused failure to strip.
* Added NLS option, as recommended for anything with USE=gettext
* Canonicalized patches
Comment 34 Yuri Victorovich freebsd_committer freebsd_triage 2015-11-05 08:40:28 UTC
shar is the same as patch, just in case, because most/all patches are renamed.
Comment 35 Kubilay Kocak freebsd_committer freebsd_triage 2015-11-05 10:17:10 UTC
(In reply to yuri from comment #34)

Thanks Yuri, so attachment 162791 [details] can be obsoleted?

It might be worthwhile splitting the changes (diffs) into two, so that the build fix can be merged into the quarterly branch, leaving the version update in HEAD only.
Comment 36 Kubilay Kocak freebsd_committer freebsd_triage 2015-11-05 10:18:32 UTC
@Yuri, you can obsolete the shar (attachment 162803 [details]) as well, only the diff is needed (and so as not to cause confusion)
Comment 37 Yuri Victorovich freebsd_committer freebsd_triage 2015-11-05 10:36:37 UTC
Yes, only the last patch is passing poudriere.
Comment 38 Jack 2015-11-05 19:48:36 UTC
I'm getting an error when running make patch.

root@jlow:/usr/ports/audio/audacity # make patch
===>  Patching for audacity-2.1.1
===>  Applying FreeBSD patches for audacity-2.1.1
===>   Applying FreeBSD patch /usr/ports/audio/audacity/files/patch-Makefile.in
Hmm...  Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|--- Makefile.in.orig   2015-11-05 07:57:02 UTC
|+++ Makefile.in
--------------------------
Patching file Makefile.in using Plan A...
Reversed (or previously applied) patch detected!  Assume -R? [y]
Comment 39 Yuri Victorovich freebsd_committer freebsd_triage 2015-11-05 19:56:27 UTC
I am not getting this:
[root@yuri /usr/ports/audio/audacity]# make patch
===>  License GPLv2 accepted by the user
===>  Found saved configuration for audacity-2.1.1
===>   audacity-2.1.1 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by audacity-2.1.1 for building
===>  Extracting for audacity-2.1.1
=> SHA256 Checksum OK for Audacity-2.1.1.zip.
===>   audacity-2.1.1 depends on file: /usr/local/bin/unzip - found
===>  Patching for audacity-2.1.1
===>  Applying FreeBSD patches for audacity-2.1.1
Comment 40 Jack 2015-11-05 21:02:18 UTC
I was able to build using the shar, however, unchecking NLS in make options causes pkg-plist to fail with:

===>   Registering installation for audacity-2.1.1
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/af/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/ar/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/be/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/bg/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/bn/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/bs/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/ca/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/ca_ES@valencia/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/cs/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/cy/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/da/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/de/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/el/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/es/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/eu/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/fa/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/fi/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/fr/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/ga/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/gl/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/he/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/hi/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/hr/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/hu/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/hy/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/id/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/it/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/ja/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/ka/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/km/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/ko/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/lt/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/mk/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/my/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/nb/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/nl/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/oc/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/pl/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/pt/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/pt_BR/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/ro/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/ru/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/sk/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/sl/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/sr_RS/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/sr_RS@latin/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/sv/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/ta/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/tg/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/tr/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/uk/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/vi/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/zh/LC_MESSAGES/audacity.mo: No such file or directory
pkg-static: Unable to access file /usr/obj/usr/ports/audio/audacity/work/stage/usr/local/share/locale/zh_TW/LC_MESSAGES/audacity.mo: No such file or directory
*** Error code 74

Stop.
make[1]: stopped in /usr/ports/audio/audacity
*** Error code 1

Stop.
make: stopped in /usr/ports/audio/audacity
Comment 41 Yuri Victorovich freebsd_committer freebsd_triage 2015-11-05 21:24:49 UTC
Yes, .mo files should be prefixed with %%NLS%%. I will update the patch.
Comment 42 Yuri Victorovich freebsd_committer freebsd_triage 2015-11-05 21:48:57 UTC
Created attachment 162825 [details]
patch
Comment 43 Jack 2015-11-05 22:00:21 UTC
Looks good now.
Comment 44 Kubilay Kocak freebsd_committer freebsd_triage 2015-11-06 02:58:09 UTC
Comment on attachment 162825 [details]
patch

@Yui, Jack,

Please set maintainer-approval on attachments you approve as maintainer, or create as matainer. Please also use attachments, not comments for long logs or error outputs
Comment 45 Jack 2015-11-06 03:10:01 UTC
Comment on attachment 162825 [details]
patch

Approve
Comment 46 Jack 2015-11-06 03:11:44 UTC
I can't seem to set the approve flag on the patch.
Comment 47 Thomas Zander freebsd_committer freebsd_triage 2015-11-07 15:35:15 UTC
This does not build on 9.3 i386. Could you take a look? Thanks!

nyquist/ffts/src/fftlib.c:67: error: duplicate 'static'
nyquist/ffts/src/fftlib.c:204: error: duplicate 'static'
nyquist/ffts/src/fftlib.c:235: error: duplicate 'static'
nyquist/ffts/src/fftlib.c:290: error: duplicate 'static'
nyquist/ffts/src/fftlib.c:409: error: duplicate 'static'
nyquist/ffts/src/fftlib.c: In function 'bfR2':
nyquist/ffts/src/fftlib.c:423: warning: unused variable 'Two'
nyquist/ffts/src/fftlib.c: At top level:
nyquist/ffts/src/fftlib.c:518: error: duplicate 'static'
nyquist/ffts/src/fftlib.c:727: error: duplicate 'static'
nyquist/ffts/src/fftlib.c:1131: error: duplicate 'static'
nyquist/ffts/src/fftlib.c:1268: error: duplicate 'static'
nyquist/ffts/src/fftlib.c:1298: error: duplicate 'static'
nyquist/ffts/src/fftlib.c:1353: error: duplicate 'static'
nyquist/ffts/src/fftlib.c:1473: error: duplicate 'static'
nyquist/ffts/src/fftlib.c: In function 'ibfR2':
nyquist/ffts/src/fftlib.c:1487: warning: unused variable 'Two'
nyquist/ffts/src/fftlib.c: At top level:
nyquist/ffts/src/fftlib.c:1582: error: duplicate 'static'
nyquist/ffts/src/fftlib.c:1791: error: duplicate 'static'
nyquist/ffts/src/fftlib.c:2199: error: duplicate 'static'
nyquist/ffts/src/fftlib.c:2218: error: duplicate 'static'
nyquist/ffts/src/fftlib.c:2251: error: duplicate 'static'
nyquist/ffts/src/fftlib.c:2324: error: duplicate 'static'
nyquist/ffts/src/fftlib.c:2483: error: duplicate 'static'
nyquist/ffts/src/fftlib.c:2693: error: duplicate 'static'
nyquist/ffts/src/fftlib.c:2712: error: duplicate 'static'
nyquist/ffts/src/fftlib.c:2746: error: duplicate 'static'
nyquist/ffts/src/fftlib.c:2817: error: duplicate 'static'
nyquist/ffts/src/fftlib.c:2974: error: duplicate 'static'
Makefile:1837: recipe for target 'nyquist/ffts/src/fftlib.o' failed
gmake[2]: *** [nyquist/ffts/src/fftlib.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
In file included from nyquist/nyqsrc/debug.c:3:
nyquist/nyqsrc/sound.h:462:8: warning: extra tokens at end of #endif directive
In file included from nyquist/nyqsrc/falloc.c:9:
nyquist/nyqsrc/sound.h:462:8: warning: extra tokens at end of #endif directive
In file included from nyquist/nyqsrc/compose.c:6:
nyquist/nyqsrc/sound.h:462:8: warning: extra tokens at end of #endif directive
In file included from nyquist/nyqsrc/avg.c:6:
nyquist/nyqsrc/sound.h:462:8: warning: extra tokens at end of #endif directive
In file included from nyquist/nyqsrc/convolve.c:14:
nyquist/nyqsrc/sound.h:462:8: warning: extra tokens at end of #endif directive
nyquist/nyqsrc/convolve.c: In function 'convolve_toss_fetch':
nyquist/nyqsrc/convolve.c:225: warning: passing argument 1 of 'susp->susp.fetch' from incompatible pointer type
nyquist/nyqsrc/convolve.c: In function 'snd_make_convolve':
nyquist/nyqsrc/convolve.c:267: warning: assignment from incompatible pointer type
nyquist/nyqsrc/convolve.c:281: warning: assignment from incompatible pointer type
nyquist/nyqsrc/convolve.c:284: warning: assignment from incompatible pointer type
nyquist/nyqsrc/convolve.c:285: warning: assignment from incompatible pointer type
In file included from nyquist/nyqsrc/downsample.c:15:
nyquist/nyqsrc/sound.h:462:8: warning: extra tokens at end of #endif directive
gmake[2]: Leaving directory '/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.1.1/lib-src/libnyquist'
Makefile:999: recipe for target 'all-recursive' failed
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory '/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.1.1/lib-src'
Makefile:716: recipe for target 'all-recursive' failed
gmake: *** [all-recursive] Error 1
===> Compilation failed unexpectedly.
Comment 48 Yuri Victorovich freebsd_committer freebsd_triage 2015-11-08 20:30:32 UTC
Thomas,

This is the bug in upstream: https://github.com/audacity/audacity/issues/87
clang in 10.X prints warnings, but apparently gcc in 9.X errors outs.

I didn't do 9.X build, but if you could add the following into Makefile right before .include <bsd.port.mk>, this will likely fix the problem.

---forcing clang---
.include <bsd.port.options.mk>

.if ${OSVERSION} < 1000000
BUILD_DEPENDS=  clang37:${PORTSDIR}/lang/clang37
RUN_DEPENDS=    clang37:${PORTSDIR}/lang/clang37
CC=             clang37
CXX=            clang++37
.endif

Thanks,
Yuri
Comment 49 Thomas Zander freebsd_committer freebsd_triage 2015-11-11 19:04:03 UTC
(In reply to yuri from comment #48)

There is a less invasive possibility for the compiler problem. You can simply add
USES=compiler:c11
This does not make a difference on 10.x and later, but resolves the issue for 9.3.

Two other things I observed:
- The distfile also comes as tar.gz. Why not use it? It's smaller and you don't need the zip related parts in your patch.
- Port does not build if PORTMIXER is disabled, both on 9.x and 10.x:
gmake[3]: Leaving directory '/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.1.1/lib-src/portaudio-v19'
Making all in portmixer
gmake[3]: Entering directory '/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.1.1/lib-src/portmixer'
gmake[3]: *** No rule to make target 'all'.  Stop.
gmake[3]: Leaving directory '/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.1.1/lib-src/portmixer'
Makefile:999: recipe for target 'all-recursive' failed
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory '/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.1.1/lib-src'
Makefile:716: recipe for target 'all-recursive' failed
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory '/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.1.1'
===> Compilation failed unexpectedly.
Comment 50 Jack 2015-11-12 04:05:46 UTC
I'll make portmixer a requirement. Where did you find the .tar.gz for 2.1.1? I could not find a mirror that had .tar.gz available.
Comment 51 Thomas Zander freebsd_committer freebsd_triage 2015-11-12 18:43:42 UTC
(In reply to xxjack12xx from comment #50)

I simply removed everything related to zip from the patch and did 'make makesum'. Then it fetched a perfectly fine tar.gz :-)

But you can verify here:
https://github.com/audacity/audacity/releases

In "Downloads", there is the 2.1.1 release in both tar.gz and zip.
Comment 52 Jack 2015-11-12 23:00:46 UTC
I guess they uploaded a .tar.gz to the mirror. I'll fix that and the portmixer.
Comment 53 Jack 2015-11-13 00:24:18 UTC
Created attachment 163070 [details]
pkg-plist broken with nls.

Removed portmixer and let it be installed (default).
Use .tar.gz and remove zip references.
Add compiler fix for 9.x
Comment 54 Kubilay Kocak freebsd_committer freebsd_triage 2015-11-13 01:23:47 UTC
@All, Is attachment 162825 [details] still the correct and up-to-date changeset this issue needs applied or does it need updating?
Comment 55 Jack 2015-11-13 01:51:55 UTC
I'm still working on fixing the pkg-plist to work with the NLS option. Can we obsolete that patch until I finish?
Comment 56 Jack 2015-11-13 02:15:04 UTC
Created attachment 163072 [details]
New shar with current fixes

Removed portmixer and let it be installed (default).
Use .tar.gz and remove zip references.
Add compiler fix for 9.x
Fix pkg-plist with NLS option
Comment 57 Kubilay Kocak freebsd_committer freebsd_triage 2015-11-13 07:50:28 UTC
@Jack, we need unified diffs (via svn diff or diff -u) for updates. shar's are only for new ports
Comment 58 Kubilay Kocak freebsd_committer freebsd_triage 2015-11-13 07:51:53 UTC
Comment on attachment 163072 [details]
New shar with current fixes

Diff required
Comment 59 Jack 2015-11-13 08:00:36 UTC
Created attachment 163078 [details]
Patch to upgrade audacity

Here is a diff -urN of the shar
Comment 60 Thomas Zander freebsd_committer freebsd_triage 2015-11-14 17:32:36 UTC
(In reply to xxjack12xx from comment #59)

It would be really great if this patch applied cleanly to an up-to-date ports tree. Please double-check.
Comment 61 Jack 2015-11-14 22:09:01 UTC
It's most likely the dos/unix line ending mismatches that the source has. Which part is failing? The diff was made against the latest port
Comment 62 Thomas Zander freebsd_committer freebsd_triage 2015-11-15 11:23:28 UTC
(In reply to xxjack12xx from comment #61)

After converting your patch dos to unix, the following happens during build:

=======================<phase: patch          >============================
===>  Patching for audacity-2.1.1
===>  Applying FreeBSD patches for audacity-2.1.1
1 out of 1 hunks failed--saving rejects to lib-src/soundtouch/source/SoundTouch/Makefile.am.rej
=> Patch patch-lib-src__soundtouch__source__SoundTouch__Makefile.am failed to apply cleanly.
=> Patch(es) patch-Makefile.in patch-lib-src__libmad__configure patch-lib-src__libnyquist__nyquist__nyqstk__include__FileRead.h patch-lib-src__libsoxr__configure patch-lib-src__lv2__Makefile applied cleanly.
Comment 63 Jack 2015-11-15 11:30:32 UTC
What I meant was the diff I made against the port contains a mix of dos and unix line endings because the patch that failed to apply cleanly has dos line endings in the source code.
Comment 64 Thomas Zander freebsd_committer freebsd_triage 2015-11-15 11:34:23 UTC
(In reply to xxjack12xx from comment #63)

So why is it impossible to upload a diff that just applies and patches fine? I don't think this is too much to ask.
Comment 65 Jack 2015-11-15 11:39:08 UTC
The diff has a mix of unix and dos line endings because the source code has a mix and some patches need dos line endings, some don't When I did a diff -urN of the port, it seems patch doesn't like the mix in the diff which is why I had a shar previously.
Comment 66 Thomas Zander freebsd_committer freebsd_triage 2015-11-15 11:43:09 UTC
(In reply to xxjack12xx from comment #65)

In this case there is USES=dos2unix to ensure the source files are properly terminated before patching is done.
Comment 67 Jack 2015-11-15 11:44:15 UTC
Ok. I will try that and create a new diff.
Comment 68 Jack 2015-11-16 20:04:11 UTC
Created attachment 163209 [details]
New patch with unix line endings

Here is a new patch that utilizes dos2unix.
Comment 69 Jack 2015-11-21 08:22:05 UTC
Does the latest patch work?
Comment 70 Thomas Zander freebsd_committer freebsd_triage 2015-11-21 09:15:15 UTC
(In reply to xxjack12xx from comment #69)

Yes, patch applies cleanly and default config builds. However, when disabling NYQUIST, build fails as it attempts to build effects that use nyquist:

...
In file included from effects/Effect.cpp:50:
effects/nyquist/Nyquist.h:28:10: fatal error: 'nyx.h' file not found
#include "nyx.h"
...

Could you look into this?
Comment 71 Jack 2015-11-21 10:02:30 UTC
Seems a lot of the options that can be disabled probably breaks the build. I'll try building with all the different options and seeing if there's any others. Is there an easy way to build with 1 option at a time?
Comment 72 Thomas Zander freebsd_committer freebsd_triage 2015-11-21 11:15:35 UTC
(In reply to xxjack12xx from comment #71)

A build with all OPTIONs disabled is fine with the exception of NYQUIST. I wouldn't be surprised if this was the only breakage.
Comment 73 Jack 2015-11-22 06:47:24 UTC
Created attachment 163409 [details]
Patch with nyquist fix

Here's a new patch tested with all the options disabled. nyquist is now enabled (the default)
Comment 74 Kubilay Kocak freebsd_committer freebsd_triage 2015-11-22 06:53:01 UTC
Confirmation that the latest attachment passes QA (portlint, poudriere, etc) would be great.
Comment 75 Jack 2015-11-22 07:18:41 UTC
Created attachment 163410 [details]
build log with no options and all options

Here is a build log with 1st with no options selected. 2nd with all options selected. I did a make check-plist, make stage-qa, and portlint on each. I'm not able to get poudriere configured properly, is that ok?

I had to bzip the file, it wouldn't let me attach because it was too large.
Comment 76 Kubilay Kocak freebsd_committer freebsd_triage 2015-11-22 07:27:11 UTC
@Jack, until you can get poudriere sorted out (it really is strongly recommended), you may check the output of:

`make stage && make check-plist && make stage-qa && make package`

Attaching the build/poudriere log itself is not *strictly* necessary, as long as you've actually reviewed it. Just include the details in the issue summary:

* portlint: OK
* testport: OK (poudriere, <archs, versions, combinations>)

You can also:

 * Enable DEVELOPER="yes" in /etc/make.conf to enable extra sanity tests
Comment 77 Thomas Zander freebsd_committer freebsd_triage 2015-11-22 08:23:51 UTC
Now for the fun part: Compiling and installing seems fine, but it does not start on my machine. Immediately after running it exits with return code 255. Have you seen this before?
Comment 78 Jack 2015-11-22 08:25:34 UTC
I have not seen that, what options did you build with? I've been using the program fine for weeks now with all the options enabled. Only thing I can think of is maybe a disabled option is breaking the launch?
Comment 79 Thomas Zander freebsd_committer freebsd_triage 2015-11-22 11:03:23 UTC
(In reply to xxjack12xx from comment #78)

Could also be some dependency. I'll try to debug my way through it. Will post updates or questions as they turn up.
Comment 80 Jack 2015-11-22 11:46:30 UTC
I'll also check on my end as well.
Comment 81 Thomas Zander freebsd_committer freebsd_triage 2015-11-22 19:47:53 UTC
(In reply to xxjack12xx from comment #80)

Sorry for taking so long, I got interrupted by social responsibilities.
Bottom line is: It's not an OPTIONs problem nor a build problem. Something in the way Audacity processes its settings/config has apparently changed. Starting with a fresh ~/.audacity-data resolves the problem. I'll commit this with a pkg message informing that manual intervention is necessary.
Comment 82 commit-hook freebsd_committer freebsd_triage 2015-11-22 20:12:23 UTC
A commit references this bug:

Author: riggs
Date: Sun Nov 22 20:11:54 UTC 2015
New revision: 402243
URL: https://svnweb.freebsd.org/changeset/ports/402243

Log:
  Update to upstream version 2.1.1

  PR:		203607
  Submitted by:	xxjack12xx@gmail.com
  Reviewed by:	yuri@rawbw.com, koobs, riggs

Changes:
  head/UPDATING
  head/audio/audacity/Makefile
  head/audio/audacity/distinfo
  head/audio/audacity/files/patch-Makefile.in
  head/audio/audacity/files/patch-cext.h
  head/audio/audacity/files/patch-lib-src__libmad__configure
  head/audio/audacity/files/patch-lib-src__libnyquist__nyquist__nyqstk__include__FileRead.h
  head/audio/audacity/files/patch-lib-src__libsoxr__configure
  head/audio/audacity/files/patch-lib-src__lv2__Makefile
  head/audio/audacity/files/patch-lib-src__soundtouch__source__SoundTouch__Makefile.am
  head/audio/audacity/files/patch-lib-src__soundtouch__source__SoundTouch__Makefile.in
  head/audio/audacity/files/patch-lib-src_libnyquist_nyquist_cmt_cext.h
  head/audio/audacity/files/patch-lib-src_libnyquist_nyquist_xlisp_xlisp.h
  head/audio/audacity/files/patch-lib-src_portmixer_include_portmixer.h
  head/audio/audacity/files/patch-portaudio.h
  head/audio/audacity/files/patch-src_AudioIO.h
  head/audio/audacity/files/patch-src_DeviceManager.cpp
  head/audio/audacity/files/patch-src_FFmpeg.h
  head/audio/audacity/files/patch-src__Makefile.in
  head/audio/audacity/files/patch-src_effects_VST_VSTEffect.cpp
  head/audio/audacity/files/patch-src_prefs_DevicePrefs.cpp
  head/audio/audacity/files/patch-xlisp.h
  head/audio/audacity/pkg-message
  head/audio/audacity/pkg-plist
Comment 83 Thomas Zander freebsd_committer freebsd_triage 2015-11-22 20:13:59 UTC
Committed! Thanks for patience, thorough review and good rework of the patch!