Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VLC3: upgrade t0 3.0.18, +universal support and various fixes #15103

Closed
wants to merge 1 commit into from

Conversation

RJVB
Copy link
Contributor

@RJVB RJVB commented Jun 9, 2022

Description

This upgrades VLC to 3.0.18 . It also reintroduces arm64 support, a +universal variant and various small fixes.

Type(s)
  • [X ] bugfix
  • enhancement
  • security fix
Tested on

OS X 10.9.5

Verification

Have you

  • [X ] followed our Commit Message Guidelines?
  • [ X] squashed and minimized your commits?
  • [ X] checked that there aren't other open pull requests for the same change?
  • [ X] referenced existing tickets on Trac with full URL?
  • [X ] tried a full install with sudo port -vst install?
  • [ X] tested basic functionality of all binary files?

@macportsbot macportsbot added maintainer maintainer: open Affects an openmaintainer port labels Jun 9, 2022
@barracuda156
Copy link
Contributor

@RJVB Is it possible to add at least a pre-built (DMG) variant for PPC? There are versions for Leopard and Tiger here: https://www.videolan.org/vlc/download-macosx.html
(Leopard version will also apply to 10.6 PPC, so if it does not hurt, please include that case too.)

P. S. In theory VLC2 should build for PPC, at least its earlier versions, but I understand that you cannot fix it without PPC hardware to test it. (I will try fixing it somewhat later.)

@RJVB
Copy link
Contributor Author

RJVB commented Jun 10, 2022

Since my reply per email seems to have gotten lost:

Older OS versions are supposed to use port:VLC2 and as far as I know there must be a binary image of the default variant configuration.

I don't know if VLC 2.2.8 still builds on PPC; apparently 2.1.0 and newer only support 64 bits (and Snow Leopard or up) at least as far as the GUI plugin is concerned. You'd have to try building it on PPC.

If you look at the Portfile you will maybe understand why I dropped my efforts to keep trying to build the code after 3.0.11 or so. There are too many patchfiles already. While it would not be impossible to manage 2 versions of those where needed to support building an older VLC 2.x on PPC I am frankly not interested in trying to implement that.

Someone motivated enough could go through the git history of port:VLC to find the latest version that built on PPC. But be aware that the update to 2.1.0 was #4b132a0b03a3d6ec545a084fd3be1bb63d4418a9 in Sept. 2013, long before I was named maintainer, and that building such old code against the current versions of its dependencies (FFMpeg in particular) can be a daunting task.

Or alternatively, somebody could give port:VLC2 a conditional section that works like port:VLC now does. Adding such a section isn't very hard (take a look at my personal copy of port:VLC in my macstrop repo for how to add such a section); what you do in it ... I'd rather not know :). From what I can tell Videolan still provide the x86_64, i386 and PPC DMGs for VLC 2.0.9 which is better than I feared it might be.

@barracuda156
Copy link
Contributor

@RJVB Thank you for responding!

Of course I did not mean I expect you to fix the current – or any earlier – version to build for PPC. (I will see later on if I can fix that, and if I get any success, I gonna make a PR.)
What I meant is merely having pre-built DMG downloaded and installed via the port in a case of 10.4–10.6 coupled with ppc arch. This is only a suggestion. I could do that myself, but I am away from PPC hardware this month and just cannot test anything.

@RJVB
Copy link
Contributor Author

RJVB commented Jun 10, 2022 via email

@barracuda156
Copy link
Contributor

What I meant is merely having pre-built DMG downloaded and installed via the port in a case of 10.4–10.6 coupled with ppc arch. This is only a suggestion. I could do that myself, but I am away from PPC hardware this month and just cannot test anything.
I would still argue that this will have to be done in the VLC2 portfile, because port:VLC2 is the one that provides VLC 2.x . With this current PR, PPC users should again be getting port:VLC2 when they try to install port:VLC, because they'll be running an OS that is not supported by VLC v3 .

Okay, fair enough.

@mascguy mascguy self-assigned this Jul 12, 2022
@mascguy mascguy marked this pull request as draft July 12, 2022 21:42
@RJVB
Copy link
Contributor Author

RJVB commented Oct 11, 2022 via email

@barracuda156
Copy link
Contributor

@RJVB I will try to deal with this in coming days. If we find which version builds for PPC (perhaps for VLC2), there is little to no maintenance burden: just peg the version, no updates.

@RJVB RJVB changed the title VLC3: upgrade, +universal support and various fixes VLC3: upgrade t0 3.0.18, +universal support and various fixes Mar 20, 2023
@RJVB RJVB marked this pull request as ready for review March 20, 2023 17:54
@barracuda156
Copy link
Contributor

barracuda156 commented Mar 20, 2023

@RJVB I will try to deal with this in coming days. If we find which version builds for PPC (perhaps for VLC2), there is little to no maintenance burden: just peg the version, no updates.

UPD. Well, this was somewhat forgotten in the meanwhile: I did some work on fixing VLC2 back then, but there was a problem with one of its dependencies, and I left it for a while.

This should not be a stopper to this PR. I intend to return to fixing VLC2 next month (right now cannot do anything, it is on a PowerMac, I am away from it atm), if that works, I gonna update VLC2 port.

@RJVB RJVB mentioned this pull request Mar 20, 2023
12 tasks
@@ -76,15 +96,15 @@ build {}

destroot {
xinstall -m 755 -d ${destroot}${applications_dir}
system "ditto --rsrc ${workpath}/VLC-${version}/VLC.app ${destroot}${applications_dir}/VLC.app"
system "ditto --rsrc ${workpath}/VLC-${version}/VLC.app ${destroot}${applications_dir}/VLC3.app"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I personally find it a bit strange to name the app VLC3.app.

Is there a case where someone would like to have VLC2 and VLC3 installed at the same time?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a case where someone would like to have VLC2 and VLC3 installed at the same time?

IMO highly unlikely, but possibly for testing purposes (?).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Couldn't testing be done by switching VLC version using port deactivate/port activate?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It can, just conflict should be set in the portfile.

system "echo \"#!/bin/sh\nexec \\\"${applications_dir}/VLC.app/Contents/MacOS/VLC\\\" \\\"\\\$\@\\\"\" > ${destroot}${prefix}/bin/vlc3"
reinplace "s|\$\{VERSION\}|${version}|g" ${destroot}${vlcprefix}/lib/pkgconfig/vlc-plugin.pc
reinplace "s|@VERSION@|${version}|g" ${destroot}${vlcprefix}/lib/pkgconfig/libvlc.pc
system "echo \"#!/bin/sh\nexec \\\"${applications_dir}/VLC3.app/Contents/MacOS/VLC\\\" \\\"\\\$\@\\\"\" > ${destroot}${prefix}/bin/vlc3"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Couldn't the launcher script be replaced with a symlink in this case?

@RJVB
Copy link
Contributor Author

RJVB commented Mar 20, 2023 via email

@sideeffect42
Copy link
Contributor

Couldn't the launcher script be replaced with a symlink in this case?

It could, but in the past it has been judged cleaner to use a script and I agree with that. Note the use of exec which makes the script overlay itself with VLC (and that this is not a new feature).

I understand.
After checking the ports tree I've seen that the same launcher script is also used by other ports (e.g. audacity, ipe, unison).

@pmetzger
Copy link
Member

This has now been stuck for a year and a half. Should we simply close it?

@RJVB
Copy link
Contributor Author

RJVB commented Nov 29, 2023 via email

@pmetzger
Copy link
Member

pmetzger commented Dec 1, 2023

Closing for now.

@pmetzger pmetzger closed this Dec 1, 2023
@barracuda156
Copy link
Contributor

@RJVB @sideeffect42 What was the status of this on arm64 btw? It would be nice to have it building from source in the latest version, of course.

@RJVB
Copy link
Contributor Author

RJVB commented Dec 2, 2023 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maintainer: open Affects an openmaintainer port maintainer
6 participants