1
0
Fork
You've already forked source
0
forked from librewolf/source
LibreWolf - Source Archive
Fluent 62.5%
HTML 7.2%
Python 6.9%
JavaScript 6.3%
Shell 5%
Other 12.1%
dothanhcong1110 c9aad9d570
Translated using Weblate (Vietnamese)
Currently translated at 50.0% (24 of 48 strings)
Co-authored-by: dothanhcong1110 <dothanhcong1110@noreply.codeberg.org>
Translate-URL: https://translate.codeberg.org/projects/librewolf/browserpreferencespreferences/vi/
Translation: LibreWolf/browser/preferences/preferences
2025年07月17日 00:02:51 +00:00
.forgejo/workflows Fix forgejo workflow and only check patches in it 2025年06月15日 13:37:18 +02:00
.vscode Syntax highlighting for vscode 2025年01月18日 14:04:48 +01:00
.woodpecker.release verify sha512sum exists 2023年11月04日 16:04:17 +00:00
assets Add hide-finish-setup-bookmark.patch 2025年06月27日 00:29:37 +02:00
browser/preferences Remove privacy.resistFingerprinting.autoDeclineNoUserInputCanvasPrompts checkbox 2025年04月06日 12:58:58 +02:00
docs Preserving output for what's valid in mozconfig 2023年10月21日 15:09:41 +02:00
l10n Translated using Weblate (Vietnamese) 2025年07月17日 00:02:51 +00:00
patches attempt to adapt bookmark patch for 140.0.4 2025年07月16日 13:33:31 +02:00
scripts Fix "invalid escape sequence" warning 2025年03月06日 11:17:43 +00:00
settings @79c96b762a update settings submodule 2025年06月27日 14:45:15 +02:00
themes/browser Fix document icon for macOS 2025年04月30日 21:59:04 +00:00
.gitignore inbetween commits 2022年01月08日 22:55:25 +01:00
.gitlab-ci.yml upstream changed bz2 release format to xz 2025年02月09日 21:14:28 +01:00
.gitmodules Added settings submodule 2023年11月14日 19:53:25 +01:00
LICENSE Add LICENSE 2021年11月19日 17:42:30 +00:00
Makefile upstream changed bz2 release format to xz 2025年02月09日 21:14:28 +01:00
README.md Merge pull request 'readme: mention downstream distributions' ( !90 ) from WhyNotHugo/source:alpine into main 2025年04月17日 14:38:53 +00:00
release bump to 138.0.3-1 2025年05月14日 19:56:23 +02:00
version bump to 140.0.4-1 2025年07月11日 23:24:39 +02:00

LibreWolf Source Repository

This repository contains all the patches and theming that make up LibreWolf, as well as scripts and a Makefile to build LibreWolf. There also is the Settings repository, which contains the LibreWolf preferences.

LibreWolf overview

graph LR
 FFSRC(Firefox Source)
 FFSRC--Tarball--->Source
 subgraph librewolf-community/
 Settings(Settings)--"librewolf.cfg<br>policies.json"-->Source
 Website(Website<br><br>- Documentation<br>- FAQ)
 subgraph browser/
 Source(Source<br><br>- Patches<br>- Theming<br>- Build scripts)
 bsys6(bsys6<br><br>New Docker building<br>repository)
 AppImage
 Arch
 end
 end
 Website-->librewolf.net
 Source--"Source tarball"-->bsys6
 AppImage--".appimage"-->librewolf.net
 bsys6--"Windows setup.exe"--->librewolf.net
 bsys6--"Windows portable.zip"--->librewolf.net
 bsys6--"Windows .msix"--->MS("Microsoft Store")
 bsys6--"Windows .nupkg"--->Chocolatey
 bsys6--"Linux binary tarball"--->Flathub
 bsys6--"Linux binary tarball"--> AppImage
 bsys6--"Linux .deb"--->repo.librewolf.net
 bsys6--"Linux .rpm"--->repo.librewolf.net
 bsys6--"Linux binary tarball for 'librewolf-bin'"--> Arch
 Source--"Source tarball for 'librewolf'"-->Arch
 Arch-->AUR

Active repositories and projects

List of browser build sub projects. These are the locations where people have their repositories and build artifacts.

Currently active build repositories:

  • Arch: Arch Linux package
  • Bsys5: .deb/.rpm for Mint, Fedora, Ubuntu; .dmg for MacOS; portable/setup for Windows.
  • Gentoo: Gentoo package

Downstream distribution packages:

Currently active (and known) forks:

Previous forks:

LibreWolf build instructions

There are two ways to build LibreWolf. You can either use the source tarball or compile directly with this repository.

Building from the Tarball

First, let's download the latest tarball . This tarball is the latest produced by the CI. You can also check the sha256sum of the tarball there.

tar xf <tarball>
cd <folder>

Then, you have to bootstrap your system to be able to build LibreWolf. You only have to do this one time. It is done by running the following commands:

./mach --no-interactive bootstrap --application-choice=browser
./lw/setup-wasi-linux.sh

Finally you can build LibreWolf and then package or run it with the following commands:

./mach build
./mach package
# OR
./mach run

Building with this Repository

First, clone this repository with Git:

git clone --recursive https://gitlab.com/librewolf-community/browser/source.git librewolf-source
cd librewolf-source

Next, build the LibreWolf source code with the following command:

make dir

After that, you have to bootstrap your system to be able to build LibreWolf. You only have to do this one time. It is done by running the following command:

make bootstrap

Finally you can build LibreWolf and then package or run it with the following commands:

make build
make package
# OR
make run

Translations

We use Weblate to localize all LibreWolf-specific strings. You can help us by translating LibreWolf into your language at https://translate.codeberg.org/engage/librewolf. Here is the current translation status:

Translation status

Development Notes

How to make a patch

The easiest way to make patches is to go to the LibreWolf source folder:

cd librewolf-$(cat version)
git init
git add <path_to_file_you_changed>
git commit -am initial-commit
git diff > ../mypatch.patch

We have Gitter / Matrix rooms, and on the website we have links to the various issue trackers.

How to work on an existing patch

The easiest way to make patches is to go to the LibreWolf source folder:

make fetch # get the firefox tarball
./scripts/git-patchtree.sh patches/sed-patches/disable-pocket.patch

Now change the source tree the way you want, keeping in mind to git add new files. When done, you can create the new patch with:

cd firefox-<version>
git diff 4b825dc642cb6eb9a060e54bf8d69288fbee4904 HEAD > ../my-patch-name.patch

This ID is the hash value of the first commit, which is called initial. Dont forget to commit changes before doing this diff, or the patch will be incomplete.

How to create a patch for problems in Mozilla's Bugzilla.

Well, first of all:

Now that you have a patch in LibreWolf, that's not enough to upload to Mozilla. See, Mozilla only accepts patches against Nightly. So here is how to do that:

If you have not done already, create the mozilla-unified folder and build Firefox with it:

hg clone https://hg.mozilla.org/mozilla-unified
cd mozilla-unified
hg update
MOZBUILD_STATE_PATH=$HOME/.mozbuild ./mach --no-interactive bootstrap --application-choice=browser
./mach build
./mach run

If you skipped the previous step, you could ensure that you're up to date with:

cd mozilla-unified
hg pull
hg update

Now you can apply your patch to Nightly:

patch -p1 -i ../mypatch.patch

Now you let Mercurial create the patch:

hg diff > ../my-nightly-patch.patch

And it can be uploaded to Bugzilla.

(excerpt from the Mozilla readme) Now the fun starts

Time to start hacking! You should join us on Matrix, say hello in the Introduction channel, and find a bug to start working on. See the Firefox Contributors’ Quick Reference to learn how to test your changes, send patches to Mozilla, update your source code locally, and more.

Hey, I'm using MacOS or Windows..

We understand, life isn't always fair 😺. The same steps as above do apply, you'll just have to walk through the beginning part of the guides for:

  • MacOS: The cross-compiled Mac .dmg files are somewhat new. They should work, perhaps with the exception of the make setup-wasi step.
  • Windows: Building on Windows is not very well tested.

Help with testing these targets is always welcome.