floorp: drop, replace with floorp-bin; init at 12.1.4 (#439994)
This commit is contained in:
@@ -120,6 +120,8 @@
|
||||
|
||||
- `python3Packages.triton` no longer takes an `enableRocm` argument and supports ROCm in all build configurations via runtime binding. In most cases no action will be needed. If triton is unable to find the HIP SDK add `rocmPackages.clr` as a build input or set the environment variable `HIP_PATH="${rocmPackages.clr}"`.
|
||||
|
||||
- `floorp` has been replaced with a binary build, available as `floorp-bin`. Due to major changes in the upstream project structure and build system, building Floorp from source has become unfeasible. No configuration or state migration is necessary.
|
||||
|
||||
- `inspircd` has been updated to the v4 release series. Please refer to the upstream documentation for [general information](https://docs.inspircd.org/4/overview/#v4-overview) and a list of [breaking changes](https://docs.inspircd.org/4/breaking-changes/).
|
||||
|
||||
- `lima` package now only includes the guest agent for the host's architecture by default. If your guest VM's architecture differs from your Lima host's, you'll need to enable the `lima-additional-guestagents` package by setting `withAdditionalGuestAgents = true` when overriding lima with this input.
|
||||
|
||||
@@ -559,10 +559,6 @@ in
|
||||
flannel = runTestOn [ "x86_64-linux" ] ./flannel.nix;
|
||||
flaresolverr = runTest ./flaresolverr.nix;
|
||||
flood = runTest ./flood.nix;
|
||||
floorp = runTest {
|
||||
imports = [ ./firefox.nix ];
|
||||
_module.args.firefoxPackage = pkgs.floorp;
|
||||
};
|
||||
fluent-bit = runTest ./fluent-bit.nix;
|
||||
fluentd = runTest ./fluentd.nix;
|
||||
fluidd = runTest ./fluidd.nix;
|
||||
|
||||
@@ -1,77 +0,0 @@
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
buildMozillaMach,
|
||||
nixosTests,
|
||||
}:
|
||||
|
||||
(
|
||||
(buildMozillaMach rec {
|
||||
pname = "floorp";
|
||||
packageVersion = "11.30.0";
|
||||
applicationName = "Floorp";
|
||||
binaryName = "floorp";
|
||||
branding = "browser/branding/official";
|
||||
requireSigning = false;
|
||||
allowAddonSideload = true;
|
||||
|
||||
# Must match the contents of `browser/config/version.txt` in the source tree
|
||||
version = "128.14.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Floorp-Projects";
|
||||
repo = "Floorp";
|
||||
fetchSubmodules = true;
|
||||
rev = "v${packageVersion}";
|
||||
hash = "sha256-4IAN0S9JWjaGXtnRUJz3HqUm+ZWL7KmryLu8ojSXiqg=";
|
||||
};
|
||||
|
||||
extraConfigureFlags = [
|
||||
"--with-app-basename=${applicationName}"
|
||||
"--with-unsigned-addon-scopes=app,system"
|
||||
"--enable-proxy-bypass-protection"
|
||||
];
|
||||
|
||||
extraPostPatch = ''
|
||||
# Fix .desktop files for PWAs generated by Floorp
|
||||
# The executable path returned by Services.dirsvc.get() is absolute and
|
||||
# thus is the full /nix/store/[..] path. To avoid breaking PWAs with each
|
||||
# update, rely on `floorp` being in $PATH, as before.
|
||||
substituteInPlace floorp/browser/base/content/modules/ssb/LinuxSupport.mjs \
|
||||
--replace-fail 'Services.dirsvc.get("XREExeF",Ci.nsIFile).path' '"floorp"'
|
||||
'';
|
||||
|
||||
updateScript = ./update.sh;
|
||||
|
||||
meta = {
|
||||
description = "Fork of Firefox that seeks balance between versatility, privacy and web openness";
|
||||
homepage = "https://floorp.app/";
|
||||
maintainers = with lib.maintainers; [ christoph-heiss ];
|
||||
platforms = lib.platforms.unix;
|
||||
broken = stdenv.buildPlatform.is32bit;
|
||||
# since Firefox 60, build on 32-bit platforms fails with "out of memory".
|
||||
# not in `badPlatforms` because cross-compilation on 64-bit machine might work.
|
||||
maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115)
|
||||
license = lib.licenses.mpl20;
|
||||
mainProgram = "floorp";
|
||||
};
|
||||
tests = {
|
||||
inherit (nixosTests) floorp;
|
||||
};
|
||||
}).override
|
||||
{
|
||||
# Upstream build configuration can be found at
|
||||
# .github/workflows/src/linux/shared/mozconfig_linux_base
|
||||
privacySupport = true;
|
||||
webrtcSupport = true;
|
||||
enableOfficialBranding = false;
|
||||
geolocationSupport = true;
|
||||
# https://github.com/NixOS/nixpkgs/issues/418473
|
||||
ltoSupport = false;
|
||||
}
|
||||
).overrideAttrs
|
||||
(prev: {
|
||||
MOZ_DATA_REPORTING = "";
|
||||
MOZ_TELEMETRY_REPORTING = "";
|
||||
})
|
||||
@@ -1,38 +0,0 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p curl nix-prefetch-github jq gnused
|
||||
|
||||
set -e
|
||||
|
||||
owner=Floorp-Projects
|
||||
repo=Floorp
|
||||
dirname="$(dirname "$0")"
|
||||
|
||||
updateVersion() {
|
||||
sed -i "s/packageVersion = \"[0-9.]*\";/packageVersion = \"$1\";/g" "$dirname/default.nix"
|
||||
}
|
||||
|
||||
updateBaseVersion() {
|
||||
local base
|
||||
base=$(curl -s "https://raw.githubusercontent.com/$owner/$repo/v$1/browser/config/version.txt")
|
||||
sed -i "s/version = \"[0-9.]*\";/version = \"$base\";/g" "$dirname/default.nix"
|
||||
}
|
||||
|
||||
updateHash() {
|
||||
local hash
|
||||
hash=$(nix-prefetch-github --fetch-submodules --rev "v$1" $owner $repo | jq -r .hash)
|
||||
sed -i "s|hash = \"[a-zA-Z0-9\/+-=]*\";|hash = \"$hash\";|g" "$dirname/default.nix"
|
||||
}
|
||||
|
||||
currentVersion=$(cd "$dirname" && nix eval --raw -f ../../../../.. floorp.version)
|
||||
|
||||
latestTag=$(curl -s https://api.github.com/repos/Floorp-Projects/Floorp/releases/latest | jq -r ".tag_name")
|
||||
latestVersion="$(expr "$latestTag" : 'v\(.*\)')"
|
||||
|
||||
if [[ "$currentVersion" == "$latestVersion" ]]; then
|
||||
echo "Floorp is up-to-date: ${currentVersion}"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
updateVersion "$latestVersion"
|
||||
updateBaseVersion "$latestVersion"
|
||||
updateHash "$latestVersion"
|
||||
139
pkgs/by-name/fl/floorp-bin-unwrapped/package.nix
Normal file
139
pkgs/by-name/fl/floorp-bin-unwrapped/package.nix
Normal file
@@ -0,0 +1,139 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
wrapGAppsHook3,
|
||||
autoPatchelfHook,
|
||||
alsa-lib,
|
||||
curl,
|
||||
dbus-glib,
|
||||
gtk3,
|
||||
libXtst,
|
||||
libva,
|
||||
pciutils,
|
||||
pipewire,
|
||||
adwaita-icon-theme,
|
||||
patchelfUnstable, # have to use patchelfUnstable to support --no-clobber-old-sections
|
||||
undmg,
|
||||
writeText,
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (lib.importJSON ./sources.json) version sources;
|
||||
|
||||
binaryName = "floorp";
|
||||
policies = {
|
||||
DisableAppUpdate = true;
|
||||
};
|
||||
|
||||
policiesJson = writeText "floorp-policies.json" (builtins.toJSON { inherit policies; });
|
||||
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "floorp-bin-unwrapped";
|
||||
inherit version;
|
||||
|
||||
src = fetchurl {
|
||||
inherit (sources.${stdenv.hostPlatform.system}) url sha256;
|
||||
};
|
||||
|
||||
sourceRoot = lib.optional stdenv.hostPlatform.isDarwin ".";
|
||||
|
||||
nativeBuildInputs = [
|
||||
wrapGAppsHook3
|
||||
]
|
||||
++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
|
||||
autoPatchelfHook
|
||||
patchelfUnstable
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
undmg
|
||||
];
|
||||
|
||||
buildInputs = lib.optionals (!stdenv.hostPlatform.isDarwin) [
|
||||
gtk3
|
||||
adwaita-icon-theme
|
||||
alsa-lib
|
||||
dbus-glib
|
||||
libXtst
|
||||
];
|
||||
|
||||
runtimeDependencies = [
|
||||
curl
|
||||
pciutils
|
||||
]
|
||||
++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
|
||||
libva.out
|
||||
];
|
||||
|
||||
appendRunpaths = lib.optionals (!stdenv.hostPlatform.isDarwin) [
|
||||
"${pipewire}/lib"
|
||||
];
|
||||
|
||||
# Firefox uses "relrhack" to manually process relocations from a fixed offset
|
||||
patchelfFlags = [ "--no-clobber-old-sections" ];
|
||||
|
||||
# don't break code signing
|
||||
dontFixup = stdenv.hostPlatform.isDarwin;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
''
|
||||
+ (
|
||||
if stdenv.hostPlatform.isDarwin then
|
||||
''
|
||||
# it's disabled, so remove these unused files
|
||||
rm -v \
|
||||
Floorp.app/Contents/Resources/updater.ini \
|
||||
Floorp.app/Contents/Library/LaunchServices/org.mozilla.updater
|
||||
rm -rvf Floorp.app/Contents/MacOS/updater.app
|
||||
|
||||
mkdir -p $out/Applications
|
||||
mv Floorp.app $out/Applications/
|
||||
''
|
||||
else
|
||||
''
|
||||
# it's disabled, so remove these unused files
|
||||
rm -v updater icons/updater.png updater.ini update-settings.ini
|
||||
|
||||
mkdir -p "$prefix/lib" "$prefix/bin"
|
||||
cp -r . "$prefix/lib/floorp-bin-${finalAttrs.version}"
|
||||
ln -s "$prefix/lib/floorp-bin-${finalAttrs.version}/floorp" "$out/bin/${binaryName}"
|
||||
|
||||
# See: https://github.com/mozilla/policy-templates/blob/master/README.md
|
||||
mkdir -p "$out/lib/floorp-bin-${finalAttrs.version}/distribution";
|
||||
ln -s ${policiesJson} "$out/lib/floorp-bin-${finalAttrs.version}/distribution/policies.json";
|
||||
''
|
||||
)
|
||||
+ ''
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
inherit binaryName;
|
||||
applicationName = "Floorp";
|
||||
libName = "floorp-bin-${finalAttrs.version}";
|
||||
ffmpegSupport = true;
|
||||
gssSupport = true;
|
||||
gtk3 = gtk3;
|
||||
updateScript = ./update.sh;
|
||||
};
|
||||
|
||||
meta = {
|
||||
changelog = "https://blog.floorp.app/en/release/${finalAttrs.version}.html";
|
||||
description = "Fork of Firefox that seeks balance between versatility, privacy and web openness";
|
||||
homepage = "https://floorp.app/";
|
||||
# https://github.com/Floorp-Projects/Floorp#-floorp-license-notices-
|
||||
license = with lib.licenses; [
|
||||
mpl20
|
||||
mit
|
||||
];
|
||||
platforms = builtins.attrNames sources;
|
||||
hydraPlatforms = [ ];
|
||||
maintainers = with lib.maintainers; [
|
||||
christoph-heiss
|
||||
];
|
||||
mainProgram = "floorp";
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
};
|
||||
})
|
||||
21
pkgs/by-name/fl/floorp-bin-unwrapped/sources.json
Normal file
21
pkgs/by-name/fl/floorp-bin-unwrapped/sources.json
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"version": "12.1.4",
|
||||
"sources": {
|
||||
"aarch64-linux": {
|
||||
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.1.4/floorp-linux-aarch64.tar.xz",
|
||||
"sha256": "3221bc1299edacf061f0c66a3543532fd67ef0b7f998f4c41b4c7f062f79685b"
|
||||
},
|
||||
"x86_64-linux": {
|
||||
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.1.4/floorp-linux-amd64.tar.xz",
|
||||
"sha256": "86a5d86a52f3778ca3d3b7b250c3e36820ab792232e8dd8cd4482586e9c1f2f1"
|
||||
},
|
||||
"aarch64-darwin": {
|
||||
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.1.4/floorp-macOS-universal.dmg",
|
||||
"sha256": "482723722b6bab68ce5353d49502b1db6d3d43d3f918de273ef8de77c5d7f03a"
|
||||
},
|
||||
"x86_64-darwin": {
|
||||
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.1.4/floorp-macOS-universal.dmg",
|
||||
"sha256": "482723722b6bab68ce5353d49502b1db6d3d43d3f918de273ef8de77c5d7f03a"
|
||||
}
|
||||
}
|
||||
}
|
||||
44
pkgs/by-name/fl/floorp-bin-unwrapped/update.sh
Executable file
44
pkgs/by-name/fl/floorp-bin-unwrapped/update.sh
Executable file
@@ -0,0 +1,44 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p curl jq gnused gawk
|
||||
|
||||
set -e
|
||||
|
||||
dirname="$(dirname "$0")"
|
||||
currentVersion=$(nix eval --raw -f . floorp-bin-unwrapped.version)
|
||||
|
||||
owner=Floorp-Projects
|
||||
repo=Floorp
|
||||
|
||||
release=$(curl -s "https://api.github.com/repos/$owner/$repo/releases/latest")
|
||||
|
||||
latestTag=$(jq -r ".tag_name" <<<"$release")
|
||||
latestVersion="$(expr "$latestTag" : 'v\(.*\)')"
|
||||
|
||||
if [[ "$currentVersion" == "$latestVersion" ]]; then
|
||||
echo "Floorp is up-to-date: ${currentVersion}"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
jq '
|
||||
{
|
||||
version: .tag_name[1:],
|
||||
sources: (
|
||||
.assets
|
||||
| map(
|
||||
select(.name | (endswith(".tar.xz") or endswith(".dmg")))
|
||||
| {url: .browser_download_url, sha256: (.digest | split(":").[1])}
|
||||
)
|
||||
| map(
|
||||
if .url | contains("linux-aarch64") then
|
||||
{key: "aarch64-linux", value: .}
|
||||
elif .url | contains("linux-amd64") then
|
||||
{key: "x86_64-linux", value: .}
|
||||
elif .url | contains("macOS-universal") then
|
||||
[{key: "aarch64-darwin", value: .}, {key: "x86_64-darwin", value: .}]
|
||||
else null end
|
||||
)
|
||||
| flatten
|
||||
| from_entries
|
||||
)
|
||||
}
|
||||
' <<<"$release" > "$dirname/sources.json"
|
||||
8
pkgs/by-name/fl/floorp-bin/package.nix
Normal file
8
pkgs/by-name/fl/floorp-bin/package.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
wrapFirefox,
|
||||
floorp-bin-unwrapped,
|
||||
}:
|
||||
|
||||
wrapFirefox floorp-bin-unwrapped {
|
||||
pname = "floorp-bin";
|
||||
}
|
||||
@@ -912,6 +912,8 @@ mapAliases {
|
||||
flashrom-stable = flashprog; # Added 2024-03-01
|
||||
flatbuffers_2_0 = flatbuffers; # Added 2022-05-12
|
||||
flatcam = throw "flatcam has been removed because it is unmaintained since 2022 and doesn't support Python > 3.10"; # Added 2025-01-25
|
||||
floorp = throw "floorp has been replaced with floorp-bin, as building from upstream sources has become unfeasible starting with version 12.x"; # Added 2025-09-06
|
||||
floorp-unwrapped = throw "floorp-unwrapped has been replaced with floorp-bin-unwrapped, as building from upstream sources has become unfeasible starting with version 12.x"; # Added 2025-09-06
|
||||
flow-editor = flow-control; # Added 2025-03-05
|
||||
flut-renamer = throw "flut-renamer is unmaintained and has been removed"; # Added 2025-08-26
|
||||
flutter313 = throw "flutter313 has been removed because it isn't updated anymore, and no packages in nixpkgs use it. If you still need it, use flutter.mkFlutter to get a custom version"; # Added 2024-10-05
|
||||
|
||||
@@ -11632,18 +11632,6 @@ with pkgs;
|
||||
];
|
||||
};
|
||||
|
||||
floorp-unwrapped = import ../applications/networking/browsers/floorp {
|
||||
inherit
|
||||
stdenv
|
||||
lib
|
||||
fetchFromGitHub
|
||||
buildMozillaMach
|
||||
nixosTests
|
||||
;
|
||||
};
|
||||
|
||||
floorp = wrapFirefox floorp-unwrapped { };
|
||||
|
||||
formiko =
|
||||
with python3Packages;
|
||||
callPackage ../applications/editors/formiko {
|
||||
|
||||
Reference in New Issue
Block a user