Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Assistance Portage & Programming
  • Search

Mozilla VPN - Seeking Help Writing Ebuild - Deb & GIT

Problems with emerge or ebuilds? Have a basic programming question about C, PHP, Perl, BASH or something else?
Post Reply
Advanced search
8 posts • Page 1 of 1
Author
Message
geekt
n00b
n00b
Posts: 3
Joined: Mon Jun 22, 2020 1:40 am

Mozilla VPN - Seeking Help Writing Ebuild - Deb & GIT

  • Quote

Post by geekt » Wed May 05, 2021 5:21 pm

I decided to try out the Mozilla VPN.

I only realized after signing up that they use a custom application. It probably can still be used with a standard VPN, but I wanted to at least try their application.

They have both Debian packages for Linux, and a GIT source to build from.

Couldn't manage to find an already existing ebuild. Hopefully I'm not overlooking it.

I figured it would be better to do an ebuild for a local repo, but I haven't written one in a while, so I thought I'd ask for help with references, beyond the basic documentation.

Is there an ebuild that you'd suggest looking at for a reference for Debian packages and/or GIT? There are many, so I'd like to reference one that uses best practices.

I am currently trying to sort through sources to find updated information, but much of it is outdated. Sorry if you consider it a bother to ask.

The package URL's can be found here: https://launchpad.net/~mozillacorp/+arc ... /+packages

The github repo: https://github.com/mozilla-mobile/mozilla-vpn-client/

Thank you for any assistance. I'll try to keep an eye on this forum while I read through documentation to write the ebuild.
Top
Hu
Administrator
Administrator
Posts: 24395
Joined: Tue Mar 06, 2007 5:38 am

  • Quote

Post by Hu » Wed May 05, 2021 7:02 pm

The build-from-source instructions look relatively simple, so the ebuild may be relatively simple too. The below is a first draft ebuild. Name it with a version that matches an existing tag, like 2.1.0. This is untested, and may not work at all. It has some FIXMEs that you should address, but it should get you started.

Code: Select all

EAPI=7

DESCRIPTION="FIXME"
HOMEPAGE="FIXME"
SRC_URI="https://github.com/mozilla-mobile/mozilla-vpn-client/archive/refs/tags/v$PV.zip"

LICENSE="FIXME"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""

# FIXME: Gentoo splits Qt into multiple packages.  qtcore may be
# insufficient for this package.
#
# FIXME: Upstream requests `libpolkit-gobject-1-dev >=0.105`.  Find what
# this means, and add a package dependency for it.
#
# FIXME: Upstream requests `wireguard >=1.0.20200513`.  Find what this
# means, and add a package dependency for it.
#
# FIXME: upstream requests Python3 "glean_parser".  Find what this
# means.
#
# FIXME: upstream requests Python3 "pyhumps".  Find what this means.
DEPEND=">=dev-qt/qtcore-5.15.0
    net-vpn/wireguard-tools
    virtual/resolvconf
    dev-python/pyyaml"
RDEPEND="${DEPEND}"
BDEPEND=""

# FIXME: Upstream says to `git submodule init`.  Why?  Are they bundling
# other projects, and assuming those bundles will be checked out by the
# submodule?  If so, what needs to be done to tell the build system to
# use the system versions instead?

src_compile() {
    qmake CONFIG+=production
    emake
}

# default src_install is probably fine
Top
fedeliallalinea
Administrator
Administrator
User avatar
Posts: 31985
Joined: Sat Mar 08, 2003 11:15 pm
Location: here
Contact:
Contact fedeliallalinea
Website

  • Quote

Post by fedeliallalinea » Wed May 05, 2021 7:07 pm

For dependency you can check pkgbuild from AUR
Questions are guaranteed in life; Answers aren't.

"Those who would give up essential liberty to purchase a little temporary safety,
deserve neither liberty nor safety."
- Ben Franklin
https://www.news.admin.ch/it/nsb?id=103968
Top
geekt
n00b
n00b
Posts: 3
Joined: Mon Jun 22, 2020 1:40 am

  • Quote

Post by geekt » Thu May 06, 2021 4:32 am

Thanks a lot Hu.
Your start likely shaved a lot of time off of the effort.

Got a bit interrupted by things, but chugging away at it.

Can't quite find for sure what gobject is in libpolkit.

Figure wireguard is likely referencing wireguard-modules

Licenses appear to be "MPL-2.0 MIT LGPL-2.1 LGPL-3"

Thought I figured out how to include dependencies for pip installs, but I think I made an mistake in writing it.

I'll resume trying to get it done tomorrow.

Oh, and thanks fedeliallalinea! I haven't quite gotten through the list of QT yet and checked to make sure if they're in qtcore yet. It would probably be a lot harder without that to check though.
Top
Hu
Administrator
Administrator
Posts: 24395
Joined: Tue Mar 06, 2007 5:38 am

  • Quote

Post by Hu » Thu May 06, 2021 4:27 pm

Portage does not enforce correct dependency data. If you happened to have all the required bits installed, you could build even with DEPEND="". This is suboptimal in general since it means Portage will not catch if you later remove something important, so getting the dependency data correct is good practice where possible. Don't let that stop you from compiling and testing the underlying program, though.

If you hit specific problems building it, feel free to post back with what you have and we can try to offer further advice.
Top
zBrain
Apprentice
Apprentice
User avatar
Posts: 199
Joined: Fri Apr 14, 2006 9:59 pm
Contact:
Contact zBrain
Website

  • Quote

Post by zBrain » Sun Jun 04, 2023 6:33 pm

Curious if this ever got to a working state?
Top
depontius
Advocate
Advocate
Posts: 3533
Joined: Wed May 05, 2004 4:06 pm

  • Quote

Post by depontius » Mon Feb 09, 2026 9:43 pm

I'll renew interest as well, because I now have a need for the Mozilla VPN.
.sigs waste space and bandwidth
Top
salahx
Guru
Guru
Posts: 572
Joined: Sat Mar 12, 2005 6:39 am

  • Quote

Post by salahx » Tue Feb 10, 2026 2:12 am

Writing an ebuild for thie mozilla VPN client is anything but simple, if its even possible at all
  • Bundles third-libraries and programs: https://github.com/mozilla-mobile/mozil ... n/3rdparty
    Some of the above aren't in Portage
    Written in a mix of C++, Rust, Python, and maybe even TypeScript
    Has a Rust workspace, with 2 Rust projects, making dependencies even more difficult
Note that Mozilla VPN is just Mullvad under the hood, although the GUI looks nice.
Top
Post Reply

8 posts • Page 1 of 1

Return to “Portage & Programming”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic