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}"`.
|
- `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/).
|
- `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.
|
- `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;
|
flannel = runTestOn [ "x86_64-linux" ] ./flannel.nix;
|
||||||
flaresolverr = runTest ./flaresolverr.nix;
|
flaresolverr = runTest ./flaresolverr.nix;
|
||||||
flood = runTest ./flood.nix;
|
flood = runTest ./flood.nix;
|
||||||
floorp = runTest {
|
|
||||||
imports = [ ./firefox.nix ];
|
|
||||||
_module.args.firefoxPackage = pkgs.floorp;
|
|
||||||
};
|
|
||||||
fluent-bit = runTest ./fluent-bit.nix;
|
fluent-bit = runTest ./fluent-bit.nix;
|
||||||
fluentd = runTest ./fluentd.nix;
|
fluentd = runTest ./fluentd.nix;
|
||||||
fluidd = runTest ./fluidd.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
|
flashrom-stable = flashprog; # Added 2024-03-01
|
||||||
flatbuffers_2_0 = flatbuffers; # Added 2022-05-12
|
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
|
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
|
flow-editor = flow-control; # Added 2025-03-05
|
||||||
flut-renamer = throw "flut-renamer is unmaintained and has been removed"; # Added 2025-08-26
|
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
|
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 =
|
formiko =
|
||||||
with python3Packages;
|
with python3Packages;
|
||||||
callPackage ../applications/editors/formiko {
|
callPackage ../applications/editors/formiko {
|
||||||
|
|||||||
Reference in New Issue
Block a user