1
0
Fork
You've already forked librewolf-source
0
forked from librewolf/source
[FORK] LibreWolf - Source Archive
  • JSON 35.2%
  • Shell 13.3%
  • Python 12.2%
  • INI 11.4%
  • Makefile 9%
  • Other 18.9%
2026年05月26日 15:13:54 +02:00
.forgejo/workflows Switch back to epsilon 2026年05月19日 23:51:19 +02:00
assets fix: update formatting 2026年05月26日 12:11:44 +00:00
browser/preferences remove ocsp 2025年12月06日 19:41:16 +01:00
l10n Translated using Weblate (Chinese (Traditional Han script)) 2026年05月21日 13:08:16 +00:00
patches Add back disabling the appearance settings when RFP is on 2026年05月19日 22:43:26 +02:00
scripts Update patches for release 151 2026年05月19日 22:43:26 +02:00
settings @2f73356606 Updated settings submodule to the latest version 2026年05月19日 22:43:26 +02:00
themes/browser Add 22x22, 24x24 and 256x256 librewolf icons 2026年04月24日 20:41:50 +01:00
.gitattributes docs: update formatting for a lot of assets 2026年05月22日 04:36:04 +00:00
.gitignore docs: update formatting for a lot of assets 2026年05月22日 04:36:04 +00: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 fix: update formatting 2026年05月26日 12:11:44 +00:00
README.md Introduce steps to Creating a Mozilla patch, improve wording, fix a ToC link 2026年05月26日 15:13:54 +02:00
release Bump to version 150.0-1 2026年04月21日 20:29:01 +02:00
version Bump to version 151.0-1 2026年05月19日 22:43:26 +02:00

Librewolf Logo

LibreWolf

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

Content

Infra

Overview

graph LR
 FFSRC(Firefox Source)
 FFSRC--Tarball--->Source
 subgraph LibreWolf/
 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>- Weblate<br>- Build scripts)
 bsys6(bsys6<br><br>New Docker building<br>repository)
 AppImage
 ArchGentoo["Arch / Gentoo"]
 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<br>for 'librewolf-bin'"--> ArchGentoo
 Source--"Source tarball<br>for 'librewolf'"-->ArchGentoo
 ArchGentoo-->AUR_Overlay["AUR / Overlay"]

Packages

These are the locations where people have their repositories and build artifacts.

Active:

  • Arch - Arch Linux package
  • BSYS6 - Linux Mint, Fedora, Ubuntu, MacOS, portable and setup for Windows
  • Gentoo - Gentoo GNU/Linux package

Downstream:

Forks

Previous:

Build

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

Build: Tarball

  1. 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>
    
  2. 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 command:

    ./mach --no-interactive bootstrap --application-choice=browser
    
  3. Build LibreWolf and then package or run it with the following commands:

    ./mach build && ./mach package
    # or
    ./mach build && ./mach run
    

    Note

    To get all parameters of ./mach, use:

    ./mach configure -- --help | less
    

Build: Repository

  1. Clone this repository with Git:

    git clone --recursive git@codeberg.org:librewolf/source.git librewolf-source --depth=1
    cd librewolf-source
    
  2. Build LibreWolf source code, also you have to bootstrap your system to be able to build LibreWolf. You only have to do this one time.

    make dir && make bootstrap
    
  3. Package LibreWolf or run it with the following commands:

    make build && make package
    # or
    make build && 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

Development: Creating 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.

Development: Existing patches

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

make fetch
./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. Don't forget to commit changes before doing this diff, or the patch will be incomplete.

Development: Creating 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:

  1. If you have not done so 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
    
  2. If you skipped the previous step, you could ensure that you're up to date with:

    cd mozilla-unified
    hg pull
    hg update
    
  3. Now you can apply your patch to Nightly:

    patch -p1 -i ../mypatch.patch
    
  4. Now, let Mercurial create the patch:

    hg diff > ../my-nightly-patch.patch
    
  5. After this, it can be uploaded to Bugzilla.

Development: Contributing

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.

MacOS and Windows

We understand, life isn't always fair 😺. The same steps as above apply you will 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.