Compare commits
227 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5cc029bd41 | ||
|
|
9f347e1fa9 | ||
|
|
531d6d5d8a | ||
|
|
264e65b71a | ||
|
|
855ab1b658 | ||
|
|
9ff7404248 | ||
|
|
b8eb667f83 | ||
|
|
36da860f4b | ||
|
|
69ef35c946 | ||
|
|
dafc371cf5 | ||
|
|
70b155aca4 | ||
|
|
7cc528056c | ||
|
|
c3af9a1a70 | ||
|
|
38cb5b9e02 | ||
|
|
b799f288ea | ||
|
|
d3e0b0661f | ||
|
|
0bd5407d46 | ||
|
|
420f1540b7 | ||
|
|
5fd44e22af | ||
|
|
b3b007f171 | ||
|
|
f4d764eb5e | ||
|
|
59547ac198 | ||
|
|
1838a4cb18 | ||
|
|
33336b6ac7 | ||
|
|
5f1dfb584c | ||
|
|
a58e35af23 | ||
|
|
89efcf05ac | ||
|
|
367b8a539c | ||
|
|
578c8fc99f | ||
|
|
bab3935d59 | ||
|
|
3ddf557f91 | ||
|
|
0fb55b6836 | ||
|
|
70f74b8551 | ||
| 33821c6166 | |||
| bbd7554753 | |||
| dd67d03258 | |||
| 654646ef5b | |||
| 98975b69ff | |||
| eeac2ffed7 | |||
| 8e3c9ccd09 | |||
| 88bd02314a | |||
| bbb00255ea | |||
|
|
5111065312 | ||
|
|
8da4524d85 | ||
|
|
746d573cf3 | ||
|
|
e35f1aad69 | ||
|
|
8fea42eb78 | ||
|
|
c8db5e4845 | ||
|
|
f891157b95 | ||
|
|
dbb4d7ba66 | ||
|
|
7195223960 | ||
|
|
f3a1a4faa2 | ||
|
|
adfc097a38 | ||
|
|
93965f80c8 | ||
|
|
920e8cb424 | ||
|
|
fca838f507 | ||
|
|
2f61f8e9e2 | ||
|
|
8f61f1a1fb | ||
|
|
91b0eaf892 | ||
|
|
5086a71785 | ||
|
|
b10bbadf70 | ||
|
|
8e14a9f643 | ||
|
|
d70d906de8 | ||
|
|
bc0c65f3df | ||
|
|
4c20e73711 | ||
|
|
4b82f6e8d0 | ||
|
|
e35068cf3d | ||
|
|
45fe3129c9 | ||
|
|
ae482c3f6b | ||
|
|
b48bef9ac5 | ||
|
|
3118747d0b | ||
|
|
11864a2395 | ||
|
|
705ec64d29 | ||
|
|
d276dc33d7 | ||
|
|
d19a684f80 | ||
|
|
2001f3ddfd | ||
|
|
d74f63ae74 | ||
|
|
27095a380e | ||
|
|
1eae334021 | ||
|
|
2fee2fff19 | ||
|
|
aeb599e6a0 | ||
|
|
adce09fbe2 | ||
|
|
ea4a8b3243 | ||
|
|
785e3a241d | ||
|
|
95045ac69a | ||
|
|
67e8a14fd9 | ||
|
|
c66ce4d63f | ||
|
|
0842264966 | ||
|
|
245ddc0d62 | ||
|
|
266894f2f3 | ||
|
|
b622286893 | ||
|
|
8ca4ad7f31 | ||
|
|
af49869667 | ||
|
|
1b63561748 | ||
|
|
0bb1c40bdf | ||
|
|
cbae6e21a6 | ||
|
|
72873723de | ||
|
|
5125126dea | ||
|
|
7e713025d6 | ||
|
|
4225d3d785 | ||
|
|
4a9aa95fd4 | ||
|
|
6a06c9132a | ||
|
|
1e05a22c03 | ||
|
|
925db910be | ||
|
|
2232157ddf | ||
|
|
95c8967a9c | ||
|
|
745124c791 | ||
|
|
75b604d472 | ||
|
|
d6b50bebf4 | ||
|
|
445e09979e | ||
|
|
50a02d8e11 | ||
|
|
67b8a5b60d | ||
|
|
31fb023542 | ||
|
|
bfcc829d87 | ||
|
|
f18a0b2393 | ||
|
|
3c8a6d50dd | ||
|
|
d7f10406da | ||
|
|
f84c661e1d | ||
|
|
78dcebb1eb | ||
|
|
dd49760cef | ||
|
|
e4d87bb6ea | ||
|
|
61a6317a5f | ||
|
|
7d48baebb8 | ||
|
|
eb1a66e6bc | ||
|
|
6ff3a792ef | ||
|
|
9a89e389fd | ||
|
|
0eefddf0f8 | ||
|
|
ea58161133 | ||
|
|
37b33ea0ca | ||
|
|
c267440255 | ||
|
|
19e72e78e8 | ||
|
|
0df1ee885f | ||
|
|
2976003f98 | ||
|
|
df807b3ce7 | ||
|
|
6775213808 | ||
|
|
15b76dfd61 | ||
|
|
90edceead9 | ||
|
|
fb6eb3ab72 | ||
|
|
34803dbebd | ||
|
|
6e9b4c57c4 | ||
|
|
a1339e613d | ||
|
|
7d208db7c4 | ||
|
|
48b0e79d5b | ||
|
|
7e8675b828 | ||
|
|
769f6c26f2 | ||
|
|
ee7cc19c6f | ||
|
|
a876d0cef6 | ||
|
|
f66f6f861d | ||
|
|
83b4c6db4d | ||
|
|
c41441bdbe | ||
|
|
f52a636d2d | ||
|
|
350fba377c | ||
|
|
975d085961 | ||
|
|
8c702fbdc5 | ||
| 6b786547d9 | |||
| eb5236f6f2 | |||
|
|
e1f03e41f7 | ||
|
|
e0081cf49e | ||
|
|
9709e3f62f | ||
|
|
5a14f06435 | ||
|
|
430cda40b1 | ||
|
|
762ee08b19 | ||
|
|
488bfd740d | ||
|
|
42b6233c55 | ||
|
|
35998e2a84 | ||
|
|
cba3ffd075 | ||
|
|
d82582a43a | ||
|
|
2ea06c6718 | ||
| 35bd388d25 | |||
|
|
709882a499 | ||
| 38061dd0bf | |||
|
|
6a5917ab48 | ||
|
|
d123a737dd | ||
|
|
467e842b38 | ||
|
|
34d3413e07 | ||
|
|
8540016455 | ||
|
|
c5364490f2 | ||
|
|
44773d461d | ||
|
|
e95da84da6 | ||
|
|
49cc4b9813 | ||
|
|
78aad0d382 | ||
|
|
6cfec04701 | ||
|
|
1ee0f36df4 | ||
|
|
7d5fecb789 | ||
|
|
eb4a264fd8 | ||
|
|
0cd22f9d3b | ||
|
|
084a314db5 | ||
|
|
db5d2ec46f | ||
|
|
216fb36503 | ||
|
|
e23bc0cf20 | ||
|
|
07973526bd | ||
|
|
7f3990f182 | ||
|
|
0a68621cd0 | ||
|
|
7386b46dc4 | ||
|
|
c92bc88455 | ||
|
|
084116c930 | ||
|
|
fc4f1e1424 | ||
|
|
2f7ecd2e1d | ||
|
|
22da218bb4 | ||
| 4641c4812d | |||
| b3245a5320 | |||
|
|
58b2271e34 | ||
|
|
563c053672 | ||
|
|
f0daa09d8c | ||
|
|
3aaeadc20b | ||
|
|
cca6c0dcfb | ||
|
|
6f350f04f1 | ||
|
|
0150e0b2d1 | ||
|
|
de2df4e571 | ||
|
|
ce1428938f | ||
|
|
3cb41798c6 | ||
|
|
545731c5c4 | ||
|
|
1e10e0ff63 | ||
|
|
b6836454e7 | ||
|
|
31eb346039 | ||
|
|
b2a92cc6ec | ||
|
|
a97c7dc4a2 | ||
|
|
954ad5a784 | ||
|
|
e5758b64da | ||
|
|
798d5300f9 | ||
|
|
89e19f0801 | ||
|
|
6d6eef5bcc | ||
|
|
bd1064205d | ||
| 64972b5b34 | |||
|
|
c4156370ba | ||
|
|
ec836c49f2 | ||
|
|
7fdbe2af4a |
24 changed files with 19 additions and 940 deletions
23
.gitignore
vendored
23
.gitignore
vendored
|
|
@ -1,23 +0,0 @@
|
|||
/.vs
|
||||
/firefox-*
|
||||
/librewolf
|
||||
/mozilla-unified
|
||||
/tor-browser
|
||||
/gecko-dev
|
||||
/bootstrap.py
|
||||
/mozconfig
|
||||
/dist
|
||||
/tmp.nsi
|
||||
/tmp-permissive.nsi
|
||||
/tmp-strict.nsi
|
||||
/__pycache__
|
||||
/sha256sums.txt
|
||||
/upload.txt
|
||||
build_tag
|
||||
/docker/librewolf/debian10/deb/artifacts
|
||||
/docker/librewolf/debian11/deb/artifacts
|
||||
/docker/librewolf/fedora34/rpm/artifacts
|
||||
/docker/librewolf/mint20/deb/artifacts
|
||||
/docker/librewolf/ubuntu20/deb/artifacts
|
||||
/docker/*.log
|
||||
/source_release
|
||||
43
Makefile
43
Makefile
|
|
@ -1,43 +0,0 @@
|
|||
.PHONY : help all clean veryclean fetch build artifacts check
|
||||
|
||||
help :
|
||||
@echo "Use: make [all] [clean] [veryclean] [check] ..."
|
||||
@echo ""
|
||||
@echo " all - Build librewolf and it's windows artifacts."
|
||||
@echo " clean - Remove output files and temporary files."
|
||||
@echo " veryclean - Like 'clean', but also remove all downloaded files."
|
||||
@echo " check - Check if there is a new version of Firefox."
|
||||
@echo ""
|
||||
@echo " fetch - Fetch the latest librewolf source."
|
||||
@echo " build - Perform './mach build && ./mach package' on it."
|
||||
@echo " artifacts - Create the setup.exe and the portable.zip."
|
||||
@echo ""
|
||||
@echo "Note: to upload, after artifacts, into the windows repo, use:"
|
||||
@echo ""
|
||||
@echo " python3 mk.py upload <token>"
|
||||
@echo ""
|
||||
|
||||
all : fetch build artifacts
|
||||
|
||||
clean :
|
||||
rm -rf work
|
||||
rm -f librewolf-$(shell cat version)*.en-US.win64* md5sums.txt upload.txt firefox-$(shell cat version).en-US.win64.zip
|
||||
|
||||
veryclean : clean
|
||||
rm -rf librewolf-$(shell cat version)
|
||||
rm -f source_release librewolf-$(shell cat version)-*.source.tar.gz
|
||||
|
||||
fetch :
|
||||
python3 mk.py fetch
|
||||
|
||||
build :
|
||||
python3 mk.py build
|
||||
|
||||
artifacts :
|
||||
python3 mk.py artifacts
|
||||
|
||||
check : README.md
|
||||
@python3 assets/update-version.py
|
||||
@echo "Current release:" $$(cat ./release)
|
||||
|
||||
|
||||
47
README.md
47
README.md
|
|
@ -1,39 +1,30 @@
|
|||
# LibreWolf for windows
|
||||
# LibreWolf Issue Tracker & Update Tools 🚀
|
||||
|
||||
* **[download latest release](https://gitlab.com/librewolf-community/browser/windows/-/releases)**
|
||||
* Visit [the FAQ](https://librewolf.net/docs/faq/).
|
||||
* Install via _[chocolatey](https://community.chocolatey.org/packages/librewolf)_: `choco install librewolf`
|
||||
* or install via _winget_: `winget install librewolf`
|
||||
* **If your LibreWolf crashes on startup**, you probably miss the right [Visual C++ Runtime](https://support.microsoft.com/en-us/topic/the-latest-supported-visual-c-downloads-2647da03-1eea-4433-9aff-95f26a218cc0). You want the _Visual Studio 2015, 2017 and 2019_ version for **x64**, which would be **[this file](https://aka.ms/vs/16/release/vc_redist.x64.exe)**.
|
||||
* The .zip files are _'portable zip files'_ that allows for a user profile in the extracted zip file folders. It is _self-contained_.
|
||||
Welcome to the **LibreWolf for Windows** repository! This repository is now dedicated to the **Issue Tracker**. Submit your issues and get the latest updates on LibreWolf for Windows.
|
||||
|
||||
# Where to submit tickets
|
||||
To download the latest release, visit the [official LibreWolf release page](https://gitlab.com/librewolf-community/browser/bsys6/-/releases). For installation options, check out the [FAQ](https://librewolf.net/docs/faq/).
|
||||
|
||||
* For all **about:config** and **librewolf.cfg** issues, go here: [[settings repository](https://gitlab.com/librewolf-community/settings/-/issues)].
|
||||
* For _all other issues_ and **setup/install** issues, go here: [[issues for windows repository](https://gitlab.com/librewolf-community/browser/windows/-/issues)].
|
||||
## Update Tools 🛠️
|
||||
|
||||
# Community links
|
||||
* [[reddit](https://www.reddit.com/r/LibreWolf/)] - [r/LibreWolf](https://www.reddit.com/r/LibreWolf/) 😺
|
||||
* [[gitter](https://gitter.im/librewolf-community/librewolf)], and the same room on [matrix](https://app.element.io/#/room/#librewolf-community_librewolf:gitter.im) (element.io).
|
||||
* The install instructions for Windows on [librewolf.net](https://librewolf.net/installation/windows/).
|
||||
Stay secure and up-to-date with these LibreWolf update tools:
|
||||
|
||||
# Compiling the windows version
|
||||
1. **LibreWolf WinUpdater**: Kudos to @ltguillaume for this [automatic updater](https://codeberg.org/ltguillaume/librewolf-winupdater) that can be set up to update LibreWolf automatically or run manually.
|
||||
|
||||
This segment is for people who want to build LibreWolf for themselves. The build of the LibreWolf source tarball is in public CI, so you can use that. Given that you have followed the steps in the Mozilla setup guide:
|
||||
2. **LibreWolf Update Checker Extension**: Created by Defkev, this [extension](https://addons.mozilla.org/en-US/firefox/addon/librewolf-updater/) will notify you when an update is available and guide you to the download link.
|
||||
|
||||
* [Building Firefox On Windows](https://firefox-source-docs.mozilla.org/setup/windows_build.html)
|
||||
> Please note: The *updater* can _install_ updates automatically, while the *extension* can only _check_ for updates.
|
||||
|
||||
Once that works, you can check out and compile LibreWolf like this:
|
||||
## LibreWolf for Windows 🖥️
|
||||
|
||||
```
|
||||
git clone https://gitlab.com/librewolf-community/browser/windows.git
|
||||
cd windows
|
||||
make fetch build
|
||||
```
|
||||
- LibreWolf supports multiple UI languages, available in settings.
|
||||
- The latest **-portable.zip** release is self-contained and can be run on removable storage.
|
||||
|
||||
Currently a bug in `./mach package` makes this build fail, but it did produce the distribution .zip file that we're after. So after this, you can just:
|
||||
## Issue Tracker 🎫
|
||||
|
||||
```
|
||||
make artifacts
|
||||
```
|
||||
This will produce the -setup.exe and portable .zip. Have fun!
|
||||
- For issues with Settings or Advanced Settings (`about:config`), submit them to the [settings repository](https://gitlab.com/librewolf-community/settings/-/issues).
|
||||
- For other issues, such as crashes/theme/graphics/speed problems, submit them to [issues for windows repository](https://gitlab.com/librewolf-community/browser/windows/-/issues).
|
||||
|
||||
## Building from Source 🏗️
|
||||
|
||||
- Our `bsys` build system supports cross-compiling from Linux to Windows. Building the Windows version from within Windows is not tested yet.
|
||||
- The build system can be found here: [bsys6](https://gitlab.com/librewolf-community/browser/bsys6).
|
||||
|
|
|
|||
Binary file not shown.
|
Before Width: | Height: | Size: 31 KiB |
|
|
@ -1,37 +0,0 @@
|
|||
ac_add_options --enable-application=browser
|
||||
|
||||
ac_add_options --allow-addon-sideload
|
||||
ac_add_options --disable-crashreporter
|
||||
ac_add_options --disable-debug
|
||||
ac_add_options --disable-default-browser-agent
|
||||
ac_add_options --disable-tests
|
||||
ac_add_options --disable-updater
|
||||
ac_add_options --enable-hardening
|
||||
ac_add_options --enable-optimize
|
||||
ac_add_options --enable-release
|
||||
ac_add_options --enable-rust-simd
|
||||
|
||||
ac_add_options --with-app-name=librewolf
|
||||
ac_add_options --with-branding=browser/branding/librewolf
|
||||
|
||||
ac_add_options --with-unsigned-addon-scopes=app,system
|
||||
|
||||
# see issue # https://gitlab.com/librewolf-community/browser/arch/-/issues/49
|
||||
mk_add_options MOZ_CRASHREPORTER=0
|
||||
mk_add_options MOZ_DATA_REPORTING=0
|
||||
mk_add_options MOZ_NORMANTY=0
|
||||
mk_add_options MOZ_REQUIRE_SIGNING=
|
||||
mk_add_options MOZ_SERVICES_HEALTHREPORT=0
|
||||
mk_add_options MOZ_TELEMETRY_REPORTING=0
|
||||
|
||||
#
|
||||
# windows specific.
|
||||
#
|
||||
# - no need to specify wasi sdk folder
|
||||
#
|
||||
|
||||
ac_add_options --disable-updater
|
||||
ac_add_options --disable-maintenance-service
|
||||
ac_add_options --enable-strip
|
||||
|
||||
ac_add_options --enable-default-toolkit=cairo-windows
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
|
||||
index 4daacdb..8edd77f 100644
|
||||
--- a/browser/installer/package-manifest.in
|
||||
+++ b/browser/installer/package-manifest.in
|
||||
@@ -397,8 +397,8 @@ bin/libfreebl_64int_3.so
|
||||
; [MaintenanceService]
|
||||
;
|
||||
#ifdef MOZ_MAINTENANCE_SERVICE
|
||||
-@BINPATH@/maintenanceservice.exe
|
||||
-@BINPATH@/maintenanceservice_installer.exe
|
||||
+;@BINPATH@/maintenanceservice.exe
|
||||
+;@BINPATH@/maintenanceservice_installer.exe
|
||||
#endif
|
||||
|
||||
; [Crash Reporter]
|
||||
125
assets/setup.nsi
125
assets/setup.nsi
|
|
@ -1,125 +0,0 @@
|
|||
#
|
||||
# Change these values to fit your application...
|
||||
#
|
||||
|
||||
!define APPNAME "LibreWolf" # Full app name, like: "Gtk+ 2.0 Hello World"
|
||||
!define PROGNAME "librewolf" # executable name, like: gtk2hello
|
||||
!define PROG_VERSION "pkg_version" # the program version, like: 0.3.0
|
||||
!define ICON_NAME "librewolf.ico" # filename of icon to use for this app
|
||||
!define COMPANYNAME "LibreWolf" # Your name, or company (or just the program name)
|
||||
!define ESTIMATED_SIZE 190000 # Estimated size (in KB) of installed program for use in "add or remove programs" / 190 MB
|
||||
|
||||
#
|
||||
# The actual installer/uninstaller, you should not need to change much here below
|
||||
#
|
||||
|
||||
Name "${PROGNAME}"
|
||||
OutFile "${PROGNAME}-${PROG_VERSION}.en-US.win64-setup.exe"
|
||||
InstallDir $PROGRAMFILES64\${APPNAME}
|
||||
RequestExecutionLevel admin
|
||||
|
||||
Page directory
|
||||
Page instfiles
|
||||
|
||||
function .onInit
|
||||
setShellVarContext all
|
||||
functionEnd
|
||||
|
||||
Section "${PROGNAME}"
|
||||
|
||||
# Copy files
|
||||
SetOutPath $INSTDIR
|
||||
File /r librewolf\*.*
|
||||
|
||||
# Start Menu
|
||||
createDirectory "$SMPROGRAMS\${COMPANYNAME}"
|
||||
createShortCut "$SMPROGRAMS\${COMPANYNAME}\${APPNAME}.lnk" "$INSTDIR\${PROGNAME}.exe" "" "$INSTDIR\${ICON_NAME}"
|
||||
createShortCut "$SMPROGRAMS\${COMPANYNAME}\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" ""
|
||||
|
||||
# Uninstaller
|
||||
writeUninstaller "$INSTDIR\uninstall.exe"
|
||||
|
||||
# Registry information for add/remove programs
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "DisplayName" "${APPNAME}"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "UninstallString" "$\"$INSTDIR\uninstall.exe$\""
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "QuietUninstallString" "$\"$INSTDIR\uninstall.exe$\" /S"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "InstallLocation" "$\"$INSTDIR$\""
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "DisplayIcon" "$\"$INSTDIR\${ICON_NAME}$\""
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "Publisher" "${COMPANYNAME}"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "DisplayVersion" "${PROG_VERSION}"
|
||||
# There is no option for modifying or repairing the install
|
||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "NoModify" 1
|
||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "NoRepair" 1
|
||||
# Set the INSTALLSIZE constant (!defined at the top of this script) so Add/Remove Programs can accurately report the size
|
||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "EstimatedSize" ${ESTIMATED_SIZE}
|
||||
|
||||
|
||||
#
|
||||
# Registry information to let Windows pick us up in the list of available browsers
|
||||
#
|
||||
|
||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf" "" "LibreWolf"
|
||||
|
||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities" "ApplicationDescription" "LibreWolf"
|
||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities" "ApplicationIcon" "$INSTDIR\librewolf.exe,0"
|
||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities" "ApplicationName" "LibreWolf"
|
||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities\FileAssociations" ".htm" "LibreWolfHTM"
|
||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities\FileAssociations" ".html" "LibreWolfHTM"
|
||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities\FileAssociations" ".pdf" "LibreWolfHTM"
|
||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities\Startmenu" "StartMenuInternet" "LibreWolf"
|
||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities\URLAssociations" "http" "LibreWolfHTM"
|
||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities\URLAssociations" "https" "LibreWolfHTM"
|
||||
|
||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\DefaultIcon" "" "$INSTDIR\librewolf.exe,0"
|
||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\shell\open\command" "" "$INSTDIR\librewolf.exe"
|
||||
|
||||
WriteRegStr HKLM "Software\RegisteredApplications" "LibreWolf" "Software\Clients\StartMenuInternet\LibreWolf\Capabilities"
|
||||
|
||||
WriteRegStr HKLM "Software\Classes\LibreWolfHTM" "" "LibreWolf Handler"
|
||||
WriteRegStr HKLM "Software\Classes\LibreWolfHTM" "AppUserModelId" "LibreWolf"
|
||||
WriteRegStr HKLM "Software\Classes\LibreWolfHTM\Application" "AppUserModelId" "LibreWolf"
|
||||
WriteRegStr HKLM "Software\Classes\LibreWolfHTM\Application" "ApplicationIcon" "$INSTDIR\librewolf.exe,0"
|
||||
WriteRegStr HKLM "Software\Classes\LibreWolfHTM\Application" "ApplicationName" "LibreWolf"
|
||||
WriteRegStr HKLM "Software\Classes\LibreWolfHTM\Application" "ApplicationDescription" "Start the LibreWolf Browser"
|
||||
WriteRegStr HKLM "Software\Classes\LibreWolfHTM\Application" "ApplicationCompany" "LibreWolf Community"
|
||||
WriteRegStr HKLM "Software\Classes\LibreWolfHTM\DefaultIcon" "" "$INSTDIR\librewolf.exe,0"
|
||||
WriteRegStr HKLM "Software\Classes\LibreWolfHTM\shell\open\command" "" "$INSTDIR\librewolf.exe %1"
|
||||
|
||||
SectionEnd
|
||||
|
||||
# Before uninstall, ask for confirmation
|
||||
function un.onInit
|
||||
SetShellVarContext all
|
||||
|
||||
# Verify the uninstaller - last chance to back out
|
||||
# (commented this out, it causes problems with Chocolatey.)
|
||||
# MessageBox MB_OKCANCEL "Permanantly remove ${APPNAME}?" IDOK next
|
||||
# Abort
|
||||
# next:
|
||||
|
||||
functionEnd
|
||||
|
||||
# Uninstaller
|
||||
section "uninstall"
|
||||
|
||||
# Remove Start Menu launcher
|
||||
delete "$SMPROGRAMS\${COMPANYNAME}\${APPNAME}.lnk"
|
||||
delete "$SMPROGRAMS\${COMPANYNAME}\Uninstall.lnk"
|
||||
# Try to remove the Start Menu folder - this will only happen if it is empty
|
||||
rmDir "$SMPROGRAMS\${COMPANYNAME}"
|
||||
|
||||
# Remove files
|
||||
rmDir /r $INSTDIR
|
||||
|
||||
# Remove uninstaller information from the registry
|
||||
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}"
|
||||
|
||||
#
|
||||
# Windows default browser integration
|
||||
#
|
||||
|
||||
DeleteRegKey HKLM "Software\Clients\StartMenuInternet\LibreWolf"
|
||||
DeleteRegKey HKLM "Software\RegisteredApplications"
|
||||
DeleteRegKey HKLM "Software\Classes\LibreWolfHTM"
|
||||
|
||||
sectionEnd
|
||||
|
|
@ -1,98 +0,0 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
import os
|
||||
import sys
|
||||
import optparse
|
||||
|
||||
parser = optparse.OptionParser()
|
||||
parser.add_option('-n', '--no-execute', dest='no_execute', default=False, action="store_true")
|
||||
options, remainder = parser.parse_args()
|
||||
|
||||
def exec(cmd, exit_on_fail = True, do_print = True):
|
||||
if cmd != '':
|
||||
if do_print:
|
||||
print(cmd)
|
||||
if not options.no_execute:
|
||||
retval = os.system(cmd)
|
||||
if retval != 0 and exit_on_fail:
|
||||
print("fatal error: command '{}' failed".format(cmd))
|
||||
sys.exit(1)
|
||||
return retval
|
||||
return None
|
||||
|
||||
def get_version_from_file(version_filename = './version'):
|
||||
with open(version_filename) as f:
|
||||
lines = f.readlines()
|
||||
if len(lines) != 1:
|
||||
sys.stderr.write('error: ./version contains too many lines.')
|
||||
os.exit(1)
|
||||
return lines[0].strip()
|
||||
return None
|
||||
|
||||
def make_version_string(major,minor,patch):
|
||||
if patch == 0:
|
||||
return '{}.{}'.format(major,minor)
|
||||
else:
|
||||
return '{}.{}.{}'.format(major,minor,patch)
|
||||
|
||||
def firefox_release_url(ver):
|
||||
return 'https://archive.mozilla.org/pub/firefox/releases/{}/source/firefox-{}.source.tar.xz'.format(ver, ver)
|
||||
|
||||
def check_url_exists(url):
|
||||
i = exec('wget --spider {} 2>/dev/null'.format(url), exit_on_fail=False, do_print=False)
|
||||
if i == 0:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
#
|
||||
# main script
|
||||
#
|
||||
|
||||
base_version = get_version_from_file()
|
||||
|
||||
# split base_version into major.minor.patch
|
||||
split_version = base_version.split(sep='.')
|
||||
if len(split_version) > 3 or len(split_version) < 1:
|
||||
sys.stderr.write('error: ./version file contains invalid version number')
|
||||
sys.exit(1)
|
||||
elif len(split_version) == 1:
|
||||
major = int(split_version[0])
|
||||
minor = 0
|
||||
patch = 0
|
||||
elif len(split_version) == 2:
|
||||
major = int(split_version[0])
|
||||
minor = int(split_version[1])
|
||||
patch = 0
|
||||
elif len(split_version) == 3:
|
||||
major = int(split_version[0])
|
||||
minor = int(split_version[1])
|
||||
patch = int(split_version[2])
|
||||
|
||||
# now check if this version exists with Mozilla
|
||||
if not check_url_exists(firefox_release_url(make_version_string(major,minor,patch))):
|
||||
sys.stderr.write('error: The current version is unavailable.')
|
||||
sys.exit(1)
|
||||
|
||||
# Check for releases..
|
||||
s = ''
|
||||
|
||||
if check_url_exists(firefox_release_url(make_version_string(major,minor,patch+1))):
|
||||
s = ('{}.{}.{}'.format(major,minor,patch+1))
|
||||
elif check_url_exists(firefox_release_url(make_version_string(major,minor+1,0))):
|
||||
s = ('{}.{}'.format(major,minor+1))
|
||||
elif check_url_exists(firefox_release_url(make_version_string(major+1,0,0))):
|
||||
s = ('{}.0'.format(major+1))
|
||||
else:
|
||||
s = base_version
|
||||
|
||||
if s != base_version:
|
||||
print('The wheel has turned, and version {} has been released.'.format(s))
|
||||
|
||||
with open('./version', 'w') as f:
|
||||
f.write(s)
|
||||
exec('echo 0 > release')
|
||||
else:
|
||||
print('Latest Firefox release is still {}.'.format(base_version))
|
||||
|
||||
sys.exit(0) # ensure 0 exit code
|
||||
3
librewolf-portable/.gitignore
vendored
3
librewolf-portable/.gitignore
vendored
|
|
@ -1,3 +0,0 @@
|
|||
librewolf-portable.aps
|
||||
.vs
|
||||
x64
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
# librewolf-portable
|
||||
|
||||
Execute librewolf.exe -profile Profiles\Default
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
//{{NO_DEPENDENCIES}}
|
||||
// Microsoft Visual C++ generated include file.
|
||||
// Used by librewolf-portable.rc
|
||||
|
||||
#define IDS_APP_TITLE 103
|
||||
|
||||
#define IDR_MAINFRAME 128
|
||||
#define IDD_LIBREWOLFPORTABLE_DIALOG 102
|
||||
#define IDD_ABOUTBOX 103
|
||||
#define IDM_ABOUT 104
|
||||
#define IDM_EXIT 105
|
||||
#define IDI_LIBREWOLFPORTABLE 107
|
||||
#define IDI_SMALL 108
|
||||
#define IDC_LIBREWOLFPORTABLE 109
|
||||
#define IDC_MYICON 2
|
||||
#ifndef IDC_STATIC
|
||||
#define IDC_STATIC -1
|
||||
#endif
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
#define _APS_NO_MFC 130
|
||||
#define _APS_NEXT_RESOURCE_VALUE 129
|
||||
#define _APS_NEXT_COMMAND_VALUE 32771
|
||||
#define _APS_NEXT_CONTROL_VALUE 1000
|
||||
#define _APS_NEXT_SYMED_VALUE 110
|
||||
#endif
|
||||
#endif
|
||||
|
|
@ -1 +0,0 @@
|
|||
msbuild /t:Clean,Build /p:Configuration=Release
|
||||
Binary file not shown.
|
|
@ -1,69 +0,0 @@
|
|||
// librewolf-portable.cpp : Run librewolf.exe with -profile parameter.
|
||||
//
|
||||
|
||||
|
||||
#define _CRT_SECURE_NO_WARNINGS
|
||||
#include <windows.h>
|
||||
|
||||
|
||||
int fileExists(TCHAR* file)
|
||||
{
|
||||
WIN32_FIND_DATA FindFileData;
|
||||
HANDLE handle = FindFirstFile(file, &FindFileData);
|
||||
int found = handle != INVALID_HANDLE_VALUE;
|
||||
if (found)
|
||||
{
|
||||
//FindClose(&handle); this will crash
|
||||
FindClose(handle);
|
||||
}
|
||||
return found;
|
||||
}
|
||||
|
||||
|
||||
int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
|
||||
_In_opt_ HINSTANCE hPrevInstance,
|
||||
_In_ LPWSTR lpCmdLine,
|
||||
_In_ int nCmdShow)
|
||||
{
|
||||
//https://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=cmd
|
||||
//constexpr int max_path = _MAX_PATH+1;
|
||||
constexpr int max_path = 32767+1;
|
||||
static wchar_t path[max_path], dir[max_path], exe[max_path], cmdline[max_path];
|
||||
|
||||
|
||||
|
||||
GetModuleFileName(NULL, path, _MAX_PATH);
|
||||
*wcsrchr(path,L'\\') = L'\0';
|
||||
|
||||
wcscpy(dir, path);
|
||||
wcscat(dir, L"\\Profiles\\Default");
|
||||
|
||||
wcscpy(exe, path);
|
||||
wcscat(exe, L"\\librewolf.exe");
|
||||
if (!fileExists(exe)) {
|
||||
wcscpy(exe, path);
|
||||
wcscat(exe, L"\\LibreWolf\\librewolf.exe");
|
||||
if (!fileExists(exe)) {
|
||||
MessageBox(NULL, L"Can\'t find librewolf.exe in . or LibreWolf", path, MB_OK);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
wsprintf(cmdline, L"\"%s\" -profile \"%s\"", exe, dir);
|
||||
|
||||
STARTUPINFOW siStartupInfo;
|
||||
PROCESS_INFORMATION piProcessInfo;
|
||||
memset(&siStartupInfo, 0, sizeof(siStartupInfo));
|
||||
memset(&piProcessInfo, 0, sizeof(piProcessInfo));
|
||||
siStartupInfo.cb = sizeof(siStartupInfo);
|
||||
|
||||
if (!CreateProcess(exe, cmdline, NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS, NULL, NULL, &siStartupInfo, &piProcessInfo))
|
||||
{
|
||||
DWORD i = GetLastError();
|
||||
wsprintf(dir, L"CreateProcess() failed with error %i", i);
|
||||
MessageBox(NULL, dir, L"librewolf-portable", MB_OK);
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 31 KiB |
Binary file not shown.
|
|
@ -1,31 +0,0 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.31424.327
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "librewolf-portable", "librewolf-portable.vcxproj", "{363A5584-2FEA-46A3-A52B-7254D932AABA}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{363A5584-2FEA-46A3-A52B-7254D932AABA}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{363A5584-2FEA-46A3-A52B-7254D932AABA}.Debug|x64.Build.0 = Debug|x64
|
||||
{363A5584-2FEA-46A3-A52B-7254D932AABA}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{363A5584-2FEA-46A3-A52B-7254D932AABA}.Debug|x86.Build.0 = Debug|Win32
|
||||
{363A5584-2FEA-46A3-A52B-7254D932AABA}.Release|x64.ActiveCfg = Release|x64
|
||||
{363A5584-2FEA-46A3-A52B-7254D932AABA}.Release|x64.Build.0 = Release|x64
|
||||
{363A5584-2FEA-46A3-A52B-7254D932AABA}.Release|x86.ActiveCfg = Release|Win32
|
||||
{363A5584-2FEA-46A3-A52B-7254D932AABA}.Release|x86.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {968E3E1E-9A31-4937-A7E9-FF45C074E14E}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
|
@ -1,160 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>16.0</VCProjectVersion>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<ProjectGuid>{363a5584-2fea-46a3-a52b-7254d932aaba}</ProjectGuid>
|
||||
<RootNamespace>librewolfportable</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="framework.h" />
|
||||
<ClInclude Include="librewolf-portable.h" />
|
||||
<ClInclude Include="Resource.h" />
|
||||
<ClInclude Include="targetver.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="librewolf-portable.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="librewolf-portable.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Image Include="librewolf-portable.ico" />
|
||||
<Image Include="small.ico" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="framework.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="targetver.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Resource.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="librewolf-portable.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="librewolf-portable.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="librewolf-portable.rc">
|
||||
<Filter>Resource Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Image Include="small.ico">
|
||||
<Filter>Resource Files</Filter>
|
||||
</Image>
|
||||
<Image Include="librewolf-portable.ico">
|
||||
<Filter>Resource Files</Filter>
|
||||
</Image>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup />
|
||||
</Project>
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
// // Including SDKDDKVer.h defines the highest available Windows platform.
|
||||
// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
|
||||
// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
|
||||
#include <SDKDDKVer.h>
|
||||
213
mk.py
213
mk.py
|
|
@ -1,213 +0,0 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
import os,sys,subprocess,os.path
|
||||
|
||||
# native()/bash()/exec() utility functions
|
||||
def native(cmd,do_print=True):
|
||||
sys.stdout.flush()
|
||||
if do_print:
|
||||
print(cmd)
|
||||
sys.stdout.flush()
|
||||
|
||||
retval = os.system(cmd)
|
||||
if retval != 0:
|
||||
sys.exit(retval)
|
||||
|
||||
def bash(cmd,do_print=True):
|
||||
tmp = []
|
||||
tmp += ['c:/mozilla-build/msys/bin/bash.exe', '-c', cmd]
|
||||
sys.stdout.flush()
|
||||
if do_print:
|
||||
print(cmd)
|
||||
sys.stdout.flush()
|
||||
|
||||
retval = subprocess.run(tmp).returncode
|
||||
if retval != 0:
|
||||
sys.exit(retval)
|
||||
|
||||
def exec(cmd,do_print=True):
|
||||
_native = False
|
||||
if not os.path.isfile('c:/mozilla-build/msys/bin/bash.exe'):
|
||||
_native = True
|
||||
if _native:
|
||||
return native(cmd,do_print)
|
||||
return bash(cmd,do_print)
|
||||
|
||||
def patch(patchfile):
|
||||
cmd = "patch -p1 -i {}".format(patchfile)
|
||||
sys.stdout.flush()
|
||||
print("\n*** -> {}".format(cmd))
|
||||
sys.stdout.flush()
|
||||
|
||||
retval = os.system(cmd)
|
||||
if retval != 0:
|
||||
sys.stdout.flush()
|
||||
print("fatal error: patch '{}' failed".format(patchfile))
|
||||
sys.stdout.flush()
|
||||
sys.exit(retval)
|
||||
|
||||
|
||||
|
||||
#
|
||||
# main functions
|
||||
#
|
||||
|
||||
|
||||
def fetch():
|
||||
|
||||
exec('wget -q -O version https://gitlab.com/librewolf-community/browser/source/-/raw/main/version')
|
||||
exec('wget -q -O source_release https://gitlab.com/librewolf-community/browser/source/-/raw/main/release')
|
||||
exec('wget -O librewolf-$(cat version)-$(cat source_release).source.tar.gz https://gitlab.com/librewolf-community/browser/source/-/jobs/artifacts/main/raw/librewolf-$(cat version)-$(cat source_release).source.tar.gz?job=build-job')
|
||||
|
||||
|
||||
|
||||
def build():
|
||||
|
||||
exec('rm -rf librewolf-$(cat version)')
|
||||
exec('tar xf librewolf-$(cat version)-$(cat source_release).source.tar.gz')
|
||||
|
||||
with open('version','r') as file:
|
||||
version = file.read().rstrip()
|
||||
os.chdir('librewolf-{}'.format(version))
|
||||
|
||||
# patches
|
||||
exec('cp -v ../assets/mozconfig.windows mozconfig')
|
||||
patch('../assets/package-manifest.patch')
|
||||
|
||||
# perform the build and package
|
||||
exec('MACH_USE_SYSTEM_PYTHON=1 ./mach build')
|
||||
exec('MACH_USE_SYSTEM_PYTHON=1 ./mach package')
|
||||
os.chdir('..')
|
||||
|
||||
|
||||
|
||||
def artifacts():
|
||||
|
||||
_with_app_name = True # Trying to fix issue #146 -> https://gitlab.com/librewolf-community/browser/windows/-/issues/146
|
||||
|
||||
with open('version','r') as file1:
|
||||
version = file1.read().rstrip()
|
||||
buildzip_filename = 'firefox-{}.en-US.win64.zip'.format(version)
|
||||
if _with_app_name:
|
||||
buildzip_filename = 'librewolf-{}.en-US.win64.zip'.format(version)
|
||||
exec('cp -v librewolf-{}/obj-x86_64-pc-mingw32/dist/{} .'.format(version,buildzip_filename))
|
||||
exec('rm -rf work && mkdir work')
|
||||
os.chdir('work')
|
||||
exec('unzip ../{}'.format(buildzip_filename))
|
||||
if not _with_app_name:
|
||||
exec('mv firefox librewolf')
|
||||
os.chdir('librewolf')
|
||||
if not _with_app_name:
|
||||
exec('mv firefox.exe librewolf.exe')
|
||||
os.chdir('..')
|
||||
os.chdir('..')
|
||||
|
||||
# let's get 'release'.
|
||||
with open('release','r') as file2:
|
||||
release = file2.read().rstrip()
|
||||
if release == '0' :
|
||||
full_version = '{}'.format(version)
|
||||
else:
|
||||
full_version = '{}.{}'.format(version,release)
|
||||
|
||||
# let's copy in the .ico icon.
|
||||
exec('cp -v assets/librewolf.ico work/librewolf')
|
||||
|
||||
# Let's make the portable zip first.
|
||||
os.chdir('work')
|
||||
exec('rm -rf librewolf-{}'.format(version))
|
||||
os.makedirs('librewolf-{}/Profiles/Default'.format(version), exist_ok=True)
|
||||
os.makedirs('librewolf-{}/LibreWolf'.format(version), exist_ok=True)
|
||||
exec('cp -vr librewolf/* librewolf-{}/LibreWolf'.format(version))
|
||||
exec('wget -q -O librewolf-{}/librewolf-portable.exe https://gitlab.com/librewolf-community/browser/windows/uploads/8347381f01806245121adcca11b7f35c/librewolf-portable.exe'.format(version))
|
||||
zipname = 'librewolf-{}.en-US.win64.zip'.format(full_version)
|
||||
exec("rm -f ../{}".format(zipname))
|
||||
exec("zip -qr9 ../{} librewolf-{}".format(zipname,version))
|
||||
os.chdir('..')
|
||||
|
||||
# With that out of the way, we need to create the nsis setup.
|
||||
os.chdir('work')
|
||||
setupname = 'librewolf-{}.en-US.win64-setup.exe'.format(full_version)
|
||||
exec('sed \"s/pkg_version/{}/g\" < ../assets/setup.nsi > tmp.nsi'.format(full_version))
|
||||
exec('makensis-3.01.exe -V1 tmp.nsi')
|
||||
exec('rm -f tmp.nsi')
|
||||
exec("mv {} ..".format(setupname))
|
||||
os.chdir('..')
|
||||
|
||||
|
||||
|
||||
# utility function
|
||||
def do_upload(filename,token):
|
||||
exec('echo _ >> upload.txt')
|
||||
exec('curl --request POST --header \"PRIVATE-TOKEN: {}\" --form \"file=@{}\" \"https://gitlab.com/api/v4/projects/13852981/uploads\" >> upload.txt'.format(token,filename),False)
|
||||
exec('echo _ >> upload.txt')
|
||||
|
||||
|
||||
def upload(token):
|
||||
|
||||
with open('version','r') as file1:
|
||||
version = file1.read().rstrip()
|
||||
with open('release','r') as file2:
|
||||
release = file2.read().rstrip()
|
||||
if release == '0' :
|
||||
full_version = '{}'.format(version)
|
||||
else:
|
||||
full_version = '{}.{}'.format(version,release)
|
||||
|
||||
# Files we need to upload..
|
||||
zip_filename = 'librewolf-{}.en-US.win64.zip'.format(full_version)
|
||||
setup_filename = 'librewolf-{}.en-US.win64-setup.exe'.format(full_version)
|
||||
exec('md5sum {} {} > md5sums.txt'.format(setup_filename,zip_filename))
|
||||
exec('rm -f upload.txt')
|
||||
do_upload(setup_filename,token)
|
||||
do_upload(zip_filename,token)
|
||||
do_upload('md5sums.txt',token)
|
||||
|
||||
|
||||
#
|
||||
# parse commandline for commands
|
||||
#
|
||||
|
||||
help_msg = '''
|
||||
Use: ./mk.py <command> ...
|
||||
|
||||
commands:
|
||||
fetch
|
||||
build
|
||||
artifacts
|
||||
upload <token>
|
||||
|
||||
'''
|
||||
|
||||
done_something = False
|
||||
|
||||
in_upload=False
|
||||
for arg in sys.argv:
|
||||
if in_upload:
|
||||
upload(arg)
|
||||
done_something=True
|
||||
elif arg == 'fetch':
|
||||
fetch()
|
||||
done_something = True
|
||||
elif arg == 'build':
|
||||
build()
|
||||
done_something = True
|
||||
elif arg == 'artifacts':
|
||||
artifacts()
|
||||
done_something = True
|
||||
elif arg == 'upload':
|
||||
in_upload = True
|
||||
else:
|
||||
if arg == sys.argv[0]:
|
||||
pass
|
||||
else:
|
||||
print(help_msg)
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
|
||||
if done_something:
|
||||
sys.exit(0)
|
||||
|
||||
print(help_msg)
|
||||
sys.exit(1)
|
||||
1
release
1
release
|
|
@ -1 +0,0 @@
|
|||
0
|
||||
1
version
1
version
|
|
@ -1 +0,0 @@
|
|||
96.0.1
|
||||
Loading…
Add table
Reference in a new issue