Skip to content

feat(electron, vscode, ungoogled-chromium): ppc64le support #134

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

Merged
merged 2 commits into from
Feb 22, 2022

Conversation

darkbasic
Copy link
Contributor

Thanks for your awesome work on electron: having a vscode ebuild which uses system electron was much needed.
I'd like to maintain ppc64le support.

@PF4Public
Copy link
Owner

PF4Public commented Feb 20, 2022

Thank you!

There are some issues however, please fix them and inspect whether there are any similar omissions left:

 * Applying fix-pdfium-compile-96.patch ...
/var/tmp/portage/dev-util/electron-16.0.9/temp/environment: line 3101: /var/tmp/portage/dev-util/electron-16.0.9/files/ppc64le/darkbasic/libpng/fix-pdfium-compile-96.patch: No such file or directory
/var/tmp/portage/dev-util/electron-16.0.9/temp/environment: line 3104: /var/tmp/portage/dev-util/electron-16.0.9/files/ppc64le/darkbasic/libpng/fix-pdfium-compile-96.patch: No such file or directory
 [ !! ]
 * ERROR: dev-util/electron-16.0.9::pf4public failed (prepare phase):
 *   patch -p1  failed with /var/tmp/portage/dev-util/electron-16.0.9/files/ppc64le/darkbasic/libpng/fix-pdfium-compile-96.patch

Have you succeeded building electron and vscode on ppc64le?

file.size [fatal]             7
   (38 KiB) dev-util/electron/files/ppc64le/breakpad/0001-Implement-support-for-ppc64-on-Linux.patch
   (130 KiB) dev-util/electron/files/ppc64le/libaom/0001-Add-pregenerated-config-for-libaom-on-ppc64.patch
   (56 KiB) dev-util/electron/files/ppc64le/crashpad/0001-Implement-support-for-PPC64-on-Linux.patch
   (25 KiB) dev-util/electron/files/ppc64le/sandbox/0001-sandbox-linux-Update-syscall-helpers-lists-for-ppc64.patch
   (216 KiB) dev-util/electron/files/ppc64le/third_party/0003-third_party-libvpx-Add-ppc64-generated-config.patch
   (23 KiB) dev-util/electron/files/ppc64le/third_party/0002-third_party-libvpx-Add-ppc64-sources-to-gni.patch
   (150 KiB) dev-util/electron/files/ppc64le/third_party/0003-third_party-ffmpeg-Add-ppc64-generated-config.patch

You seem to have taken patches from somewhere. Do they provide an archive to add it to distfiles (like stha09's patches) instead?

Also you've added ppc64le patches directly to PATCHES variable, are you certain they won't interfere on other platforms?

@darkbasic
Copy link
Contributor Author

There are some issues however, please fix them and inspect whether there are any similar omissions left

I'm sorry, I've rebased my patchset but I've forgot to stage the ebuild changes: I've rebased the current PR to reflect these changes now.

Also you've added ppc64le patches directly to PATCHES variable, are you certain they won't interfere on other platforms?

It was supposed to be behind a use flag, unfortunately the latest changes didn't end up being staged. Should be fixed now.

You seem to have taken patches from somewhere. Do they provide an archive to add it to distfiles (like stha09's patches) instead?

Unfortunately not. These patches are a slightly modified version of my Chromium patchset, which in turn is a slightly modified version of Timothy Pearson's, which unfortunately is buried inside Debian packages.
I've been asked to to maintain the ppc64 port of the Chromium ebuild so I'd like to get this as tidy as possible, but since Timothy is the one maintaining the ppc64 port of Chromium I'm trying to keep the Gentoo patchset as close as possible to his in order to ease maintenance.
In alternative we would need to fetch the whole debian tarball, while still embedding some extra patches.

Have you succeeded building electron and vscode on ppc64le?

Of course!

PXL_20220219_110938087

@PF4Public
Copy link
Owner

PF4Public commented Feb 20, 2022

I've been asked to to maintain the ppc64 port of the Chromium ebuild

Would you be also willing to maintain ppc64 port of ungoogled-chromium? :D

I'm trying to keep the Gentoo patchset as close as possible to his in order to ease maintenance.

I understand your concerns

In alternative we would need to fetch the whole debian tarball, while still embedding some extra patches.

That would be a viable option (and I would be in favour of it) if the amount of difference between those patches needed for Chromium and your for electron isn't big. Do you modify each of the patches from Debian for electron?

Of course!

Funny thing: I use the same Dell monitor and recently bought the same mouse and(!) also put it to green :)

@darkbasic
Copy link
Contributor Author

Would you be also willing to maintain ppc64 port of ungoogled-chromium? :D

That won't be a problem, it's basically the same patchset.

if the amount of difference between those patches needed for Chromium and your for electron isn't big

It isn't much different at all. Gentoo needs some more patches because it uses a newer glibc than Debian which exposes sandbox issues, but in his more recent patchset Timothy bundles these patches even if Debian doesn't need them. Also Gentoo needs a workaround because it doesn't build libpng with PNG_POWERPC_VSX_OPT=1, but I'd like to get the libpng ebuild fixed. Some patches need to be adapted because Debian sources are a bit different and some others have to be modified because Electron is a couple of version behind the most recent Chromium (I prefer to use the patchset from the most recent version of Chromium and adapt it because it contains fixes that apply to older versions as well). 90% of the patches are unmodified.

Funny thing: I use the same Dell monitor and recently bought the same mouse and(!) also put it to green :)

It looks like the only thing left is an OpenPower system :)

@PF4Public
Copy link
Owner

PF4Public commented Feb 20, 2022

That won't be a problem, it's basically the same patchset.

Feel free to do another PR if you wish.

90% of the patches are unmodified.

Please see if it would be possible to use a tarball from Debian adding only the remaining patches into the files dir. This has the benefit of using the same tarball for ungoogled-chromium later. I can however merge the PR as is if you're not inclined in investigating this possibility.

It looks like the only thing left is an OpenPower system :)

Yeah, the "cheapest" thing of all :D

@darkbasic
Copy link
Contributor Author

I've managed to share everything except 4 patches, so I guess it was well worth it. Should be ready to merge now, thanks for reviewing!

@darkbasic darkbasic changed the title feat(electron, vscode): ppc64le support feat(electron, vscode, ungoogled-chromium): ppc64le support Feb 22, 2022
@PF4Public PF4Public merged commit 844d815 into PF4Public:master Feb 22, 2022
@PF4Public
Copy link
Owner

Merged. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants