Merge branch 'staging-next' into staging
This commit is contained in:
commit
cdb1d29692
|
@ -545,7 +545,26 @@ The following types of tests exists:
|
||||||
|
|
||||||
Here in the nixpkgs manual we describe mostly _package tests_; for _module tests_ head over to the corresponding [section in the NixOS manual](https://nixos.org/manual/nixos/stable/#sec-nixos-tests).
|
Here in the nixpkgs manual we describe mostly _package tests_; for _module tests_ head over to the corresponding [section in the NixOS manual](https://nixos.org/manual/nixos/stable/#sec-nixos-tests).
|
||||||
|
|
||||||
### Writing package tests {#ssec-package-tests-writing}
|
### Writing inline package tests {#ssec-inline-package-tests-writing}
|
||||||
|
|
||||||
|
For very simple tests, they can be written inline:
|
||||||
|
|
||||||
|
```nix
|
||||||
|
{ …, yq-go }:
|
||||||
|
|
||||||
|
buildGoModule rec {
|
||||||
|
…
|
||||||
|
|
||||||
|
passthru.tests = {
|
||||||
|
simple = runCommand "${pname}-test" {} ''
|
||||||
|
echo "test: 1" | ${yq-go}/bin/yq eval -j > $out
|
||||||
|
[ "$(cat $out | tr -d $'\n ')" = '{"test":1}' ]
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Writing larger package tests {#ssec-package-tests-writing}
|
||||||
|
|
||||||
This is an example using the `phoronix-test-suite` package with the current best practices.
|
This is an example using the `phoronix-test-suite` package with the current best practices.
|
||||||
|
|
||||||
|
|
|
@ -134,7 +134,28 @@ Attribute Set `lib.platforms` defines [various common lists](https://github.com/
|
||||||
This attribute is special in that it is not actually under the `meta` attribute set but rather under the `passthru` attribute set. This is due to how `meta` attributes work, and the fact that they are supposed to contain only metadata, not derivations.
|
This attribute is special in that it is not actually under the `meta` attribute set but rather under the `passthru` attribute set. This is due to how `meta` attributes work, and the fact that they are supposed to contain only metadata, not derivations.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
An attribute set with as values tests. A test is a derivation, which builds successfully when the test passes, and fails to build otherwise. A derivation that is a test needs to have `meta.timeout` defined.
|
An attribute set with tests as values. A test is a derivation that builds when the test passes and fails to build otherwise.
|
||||||
|
|
||||||
|
You can run these tests with:
|
||||||
|
|
||||||
|
```ShellSession
|
||||||
|
$ cd path/to/nixpkgs
|
||||||
|
$ nix-build -A your-package.tests
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Package tests
|
||||||
|
|
||||||
|
Tests that are part of the source package are often executed in the `installCheckPhase`.
|
||||||
|
|
||||||
|
Prefer `passthru.tests` for tests that are introduced in nixpkgs because:
|
||||||
|
|
||||||
|
* `passthru.tests` tests the 'real' package, independently from the environment in which it was built
|
||||||
|
* we can run `passthru.tests` independently
|
||||||
|
* `installCheckPhase` adds overhead to each build
|
||||||
|
|
||||||
|
For more on how to write and run package tests, see <xref linkend="sec-package-tests"/>.
|
||||||
|
|
||||||
|
#### NixOS tests
|
||||||
|
|
||||||
The NixOS tests are available as `nixosTests` in parameters of derivations. For instance, the OpenSMTPD derivation includes lines similar to:
|
The NixOS tests are available as `nixosTests` in parameters of derivations. For instance, the OpenSMTPD derivation includes lines similar to:
|
||||||
|
|
||||||
|
@ -148,6 +169,8 @@ The NixOS tests are available as `nixosTests` in parameters of derivations. For
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
NixOS tests run in a VM, so they are slower than regular package tests. For more information see [NixOS module tests](https://nixos.org/manual/nixos/stable/#sec-nixos-tests).
|
||||||
|
|
||||||
### `timeout` {#var-meta-timeout}
|
### `timeout` {#var-meta-timeout}
|
||||||
|
|
||||||
A timeout (in seconds) for building the derivation. If the derivation takes longer than this time to build, it can fail due to breaking the timeout. However, all computers do not have the same computing power, hence some builders may decide to apply a multiplicative factor to this value. When filling this value in, try to keep it approximately consistent with other values already present in `nixpkgs`.
|
A timeout (in seconds) for building the derivation. If the derivation takes longer than this time to build, it can fail due to breaking the timeout. However, all computers do not have the same computing power, hence some builders may decide to apply a multiplicative factor to this value. When filling this value in, try to keep it approximately consistent with other values already present in `nixpkgs`.
|
||||||
|
|
|
@ -714,6 +714,8 @@ to `~/.gdbinit`. GDB will then be able to find debug information installed via `
|
||||||
|
|
||||||
The installCheck phase checks whether the package was installed correctly by running its test suite against the installed directories. The default `installCheck` calls `make installcheck`.
|
The installCheck phase checks whether the package was installed correctly by running its test suite against the installed directories. The default `installCheck` calls `make installcheck`.
|
||||||
|
|
||||||
|
It is often better to add tests that are not part of the source distribution to `passthru.tests` (see <xref linkend="var-meta-tests"/>). This avoids adding overhead to every build and enables us to run them independently.
|
||||||
|
|
||||||
#### Variables controlling the installCheck phase {#variables-controlling-the-installcheck-phase}
|
#### Variables controlling the installCheck phase {#variables-controlling-the-installcheck-phase}
|
||||||
|
|
||||||
##### `doInstallCheck` {#var-stdenv-doInstallCheck}
|
##### `doInstallCheck` {#var-stdenv-doInstallCheck}
|
||||||
|
|
|
@ -248,7 +248,7 @@ rec {
|
||||||
then v.__pretty v.val
|
then v.__pretty v.val
|
||||||
else if v == {} then "{ }"
|
else if v == {} then "{ }"
|
||||||
else if v ? type && v.type == "derivation" then
|
else if v ? type && v.type == "derivation" then
|
||||||
"<derivation ${v.drvPath}>"
|
"<derivation ${v.drvPath or "???"}>"
|
||||||
else "{" + introSpace
|
else "{" + introSpace
|
||||||
+ libStr.concatStringsSep introSpace (libAttr.mapAttrsToList
|
+ libStr.concatStringsSep introSpace (libAttr.mapAttrsToList
|
||||||
(name: value:
|
(name: value:
|
||||||
|
|
|
@ -42,8 +42,6 @@ LOG_LEVELS = {
|
||||||
}
|
}
|
||||||
|
|
||||||
log = logging.getLogger()
|
log = logging.getLogger()
|
||||||
log.addHandler(logging.StreamHandler())
|
|
||||||
|
|
||||||
|
|
||||||
def retry(ExceptionToCheck: Any, tries: int = 4, delay: float = 3, backoff: float = 2):
|
def retry(ExceptionToCheck: Any, tries: int = 4, delay: float = 3, backoff: float = 2):
|
||||||
"""Retry calling the decorated function using an exponential backoff.
|
"""Retry calling the decorated function using an exponential backoff.
|
||||||
|
@ -88,7 +86,7 @@ class PluginDesc:
|
||||||
owner: str
|
owner: str
|
||||||
repo: str
|
repo: str
|
||||||
branch: str
|
branch: str
|
||||||
alias: str
|
alias: Optional[str]
|
||||||
|
|
||||||
|
|
||||||
class Repo:
|
class Repo:
|
||||||
|
@ -203,7 +201,6 @@ class Editor:
|
||||||
name: str,
|
name: str,
|
||||||
root: Path,
|
root: Path,
|
||||||
get_plugins: str,
|
get_plugins: str,
|
||||||
generate_nix: Callable[[List[Tuple[str, str, Plugin]], str], None],
|
|
||||||
default_in: Optional[Path] = None,
|
default_in: Optional[Path] = None,
|
||||||
default_out: Optional[Path] = None,
|
default_out: Optional[Path] = None,
|
||||||
deprecated: Optional[Path] = None,
|
deprecated: Optional[Path] = None,
|
||||||
|
@ -213,7 +210,6 @@ class Editor:
|
||||||
self.name = name
|
self.name = name
|
||||||
self.root = root
|
self.root = root
|
||||||
self.get_plugins = get_plugins
|
self.get_plugins = get_plugins
|
||||||
self._generate_nix = generate_nix
|
|
||||||
self.default_in = default_in or root.joinpath(f"{name}-plugin-names")
|
self.default_in = default_in or root.joinpath(f"{name}-plugin-names")
|
||||||
self.default_out = default_out or root.joinpath("generated.nix")
|
self.default_out = default_out or root.joinpath("generated.nix")
|
||||||
self.deprecated = deprecated or root.joinpath("deprecated.json")
|
self.deprecated = deprecated or root.joinpath("deprecated.json")
|
||||||
|
@ -226,9 +222,9 @@ class Editor:
|
||||||
def load_plugin_spec(self, plugin_file) -> List[PluginDesc]:
|
def load_plugin_spec(self, plugin_file) -> List[PluginDesc]:
|
||||||
return load_plugin_spec(plugin_file)
|
return load_plugin_spec(plugin_file)
|
||||||
|
|
||||||
def generate_nix(self, plugins, outfile):
|
def generate_nix(self, plugins, outfile: str):
|
||||||
'''Returns nothing for now, writes directly to outfile'''
|
'''Returns nothing for now, writes directly to outfile'''
|
||||||
self._generate_nix(plugins, outfile)
|
raise NotImplementedError()
|
||||||
|
|
||||||
def get_update(self, input_file: str, outfile: str, proc: int):
|
def get_update(self, input_file: str, outfile: str, proc: int):
|
||||||
return get_update(input_file, outfile, proc, editor=self)
|
return get_update(input_file, outfile, proc, editor=self)
|
||||||
|
@ -237,9 +233,58 @@ class Editor:
|
||||||
def attr_path(self):
|
def attr_path(self):
|
||||||
return self.name + "Plugins"
|
return self.name + "Plugins"
|
||||||
|
|
||||||
|
def get_drv_name(self, name: str):
|
||||||
|
return self.attr_path + "." + name
|
||||||
|
|
||||||
def rewrite_input(self, *args, **kwargs):
|
def rewrite_input(self, *args, **kwargs):
|
||||||
return rewrite_input(*args, **kwargs)
|
return rewrite_input(*args, **kwargs)
|
||||||
|
|
||||||
|
def create_parser(self):
|
||||||
|
parser = argparse.ArgumentParser(
|
||||||
|
description=(
|
||||||
|
f"Updates nix derivations for {self.name} plugins"
|
||||||
|
f"By default from {self.default_in} to {self.default_out}"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"--add",
|
||||||
|
dest="add_plugins",
|
||||||
|
default=[],
|
||||||
|
action="append",
|
||||||
|
help=f"Plugin to add to {self.attr_path} from Github in the form owner/repo",
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"--input-names",
|
||||||
|
"-i",
|
||||||
|
dest="input_file",
|
||||||
|
default=self.default_in,
|
||||||
|
help="A list of plugins in the form owner/repo",
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"--out",
|
||||||
|
"-o",
|
||||||
|
dest="outfile",
|
||||||
|
default=self.default_out,
|
||||||
|
help="Filename to save generated nix code",
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"--proc",
|
||||||
|
"-p",
|
||||||
|
dest="proc",
|
||||||
|
type=int,
|
||||||
|
default=30,
|
||||||
|
help="Number of concurrent processes to spawn.",
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"--no-commit", "-n", action="store_true", default=False,
|
||||||
|
help="Whether to autocommit changes"
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"--debug", "-d", choices=LOG_LEVELS.keys(),
|
||||||
|
default=logging.getLevelName(logging.WARN),
|
||||||
|
help="Adjust log level"
|
||||||
|
)
|
||||||
|
return parser
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -272,12 +317,10 @@ def get_current_plugins(editor: Editor) -> List[Plugin]:
|
||||||
|
|
||||||
|
|
||||||
def prefetch_plugin(
|
def prefetch_plugin(
|
||||||
user: str,
|
p: PluginDesc,
|
||||||
repo_name: str,
|
|
||||||
branch: str,
|
|
||||||
alias: Optional[str],
|
|
||||||
cache: "Optional[Cache]" = None,
|
cache: "Optional[Cache]" = None,
|
||||||
) -> Tuple[Plugin, Dict[str, str]]:
|
) -> Tuple[Plugin, Dict[str, str]]:
|
||||||
|
user, repo_name, branch, alias = p.owner, p.repo, p.branch, p.alias
|
||||||
log.info(f"Fetching last commit for plugin {user}/{repo_name}@{branch}")
|
log.info(f"Fetching last commit for plugin {user}/{repo_name}@{branch}")
|
||||||
repo = Repo(user, repo_name, branch, alias)
|
repo = Repo(user, repo_name, branch, alias)
|
||||||
commit, date = repo.latest_commit()
|
commit, date = repo.latest_commit()
|
||||||
|
@ -302,7 +345,7 @@ def prefetch_plugin(
|
||||||
|
|
||||||
|
|
||||||
def fetch_plugin_from_pluginline(plugin_line: str) -> Plugin:
|
def fetch_plugin_from_pluginline(plugin_line: str) -> Plugin:
|
||||||
plugin, _ = prefetch_plugin(*parse_plugin_line(plugin_line))
|
plugin, _ = prefetch_plugin(parse_plugin_line(plugin_line))
|
||||||
return plugin
|
return plugin
|
||||||
|
|
||||||
|
|
||||||
|
@ -421,11 +464,11 @@ class Cache:
|
||||||
|
|
||||||
|
|
||||||
def prefetch(
|
def prefetch(
|
||||||
args: PluginDesc, cache: Cache
|
pluginDesc: PluginDesc, cache: Cache
|
||||||
) -> Tuple[str, str, Union[Exception, Plugin], dict]:
|
) -> Tuple[str, str, Union[Exception, Plugin], dict]:
|
||||||
owner, repo = args.owner, args.repo
|
owner, repo = pluginDesc.owner, pluginDesc.repo
|
||||||
try:
|
try:
|
||||||
plugin, redirect = prefetch_plugin(owner, repo, args.branch, args.alias, cache)
|
plugin, redirect = prefetch_plugin(pluginDesc, cache)
|
||||||
cache[plugin.commit] = plugin
|
cache[plugin.commit] = plugin
|
||||||
return (owner, repo, plugin, redirect)
|
return (owner, repo, plugin, redirect)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
@ -466,54 +509,6 @@ def rewrite_input(
|
||||||
with open(input_file, "w") as f:
|
with open(input_file, "w") as f:
|
||||||
f.writelines(lines)
|
f.writelines(lines)
|
||||||
|
|
||||||
# TODO move to Editor ?
|
|
||||||
def parse_args(editor: Editor):
|
|
||||||
parser = argparse.ArgumentParser(
|
|
||||||
description=(
|
|
||||||
f"Updates nix derivations for {editor.name} plugins"
|
|
||||||
f"By default from {editor.default_in} to {editor.default_out}"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
parser.add_argument(
|
|
||||||
"--add",
|
|
||||||
dest="add_plugins",
|
|
||||||
default=[],
|
|
||||||
action="append",
|
|
||||||
help=f"Plugin to add to {editor.attr_path} from Github in the form owner/repo",
|
|
||||||
)
|
|
||||||
parser.add_argument(
|
|
||||||
"--input-names",
|
|
||||||
"-i",
|
|
||||||
dest="input_file",
|
|
||||||
default=editor.default_in,
|
|
||||||
help="A list of plugins in the form owner/repo",
|
|
||||||
)
|
|
||||||
parser.add_argument(
|
|
||||||
"--out",
|
|
||||||
"-o",
|
|
||||||
dest="outfile",
|
|
||||||
default=editor.default_out,
|
|
||||||
help="Filename to save generated nix code",
|
|
||||||
)
|
|
||||||
parser.add_argument(
|
|
||||||
"--proc",
|
|
||||||
"-p",
|
|
||||||
dest="proc",
|
|
||||||
type=int,
|
|
||||||
default=30,
|
|
||||||
help="Number of concurrent processes to spawn.",
|
|
||||||
)
|
|
||||||
parser.add_argument(
|
|
||||||
"--no-commit", "-n", action="store_true", default=False,
|
|
||||||
help="Whether to autocommit changes"
|
|
||||||
)
|
|
||||||
parser.add_argument(
|
|
||||||
"--debug", "-d", choices=LOG_LEVELS.keys(),
|
|
||||||
default=logging.getLevelName(logging.WARN),
|
|
||||||
help="Adjust log level"
|
|
||||||
)
|
|
||||||
return parser.parse_args()
|
|
||||||
|
|
||||||
|
|
||||||
def commit(repo: git.Repo, message: str, files: List[Path]) -> None:
|
def commit(repo: git.Repo, message: str, files: List[Path]) -> None:
|
||||||
repo.index.add([str(f.resolve()) for f in files])
|
repo.index.add([str(f.resolve()) for f in files])
|
||||||
|
@ -547,12 +542,10 @@ def get_update(input_file: str, outfile: str, proc: int, editor: Editor):
|
||||||
return update
|
return update
|
||||||
|
|
||||||
|
|
||||||
def update_plugins(editor: Editor):
|
def update_plugins(editor: Editor, args):
|
||||||
"""The main entry function of this module. All input arguments are grouped in the `Editor`."""
|
"""The main entry function of this module. All input arguments are grouped in the `Editor`."""
|
||||||
|
|
||||||
args = parse_args(editor)
|
|
||||||
log.setLevel(LOG_LEVELS[args.debug])
|
log.setLevel(LOG_LEVELS[args.debug])
|
||||||
|
|
||||||
log.info("Start updating plugins")
|
log.info("Start updating plugins")
|
||||||
nixpkgs_repo = git.Repo(editor.root, search_parent_directories=True)
|
nixpkgs_repo = git.Repo(editor.root, search_parent_directories=True)
|
||||||
update = editor.get_update(args.input_file, args.outfile, args.proc)
|
update = editor.get_update(args.input_file, args.outfile, args.proc)
|
||||||
|
@ -581,8 +574,9 @@ def update_plugins(editor: Editor):
|
||||||
if autocommit:
|
if autocommit:
|
||||||
commit(
|
commit(
|
||||||
nixpkgs_repo,
|
nixpkgs_repo,
|
||||||
"{editor.attr_path}.{name}: init at {version}".format(
|
"{drv_name}: init at {version}".format(
|
||||||
editor=editor.name, name=plugin.normalized_name, version=plugin.version
|
drv_name=editor.get_drv_name(plugin.normalized_name),
|
||||||
|
version=plugin.version
|
||||||
),
|
),
|
||||||
[args.outfile, args.input_file],
|
[args.outfile, args.input_file],
|
||||||
)
|
)
|
||||||
|
|
|
@ -16,20 +16,17 @@ from dataclasses import dataclass
|
||||||
import subprocess
|
import subprocess
|
||||||
import csv
|
import csv
|
||||||
import logging
|
import logging
|
||||||
|
import textwrap
|
||||||
|
from multiprocessing.dummy import Pool
|
||||||
|
|
||||||
from typing import List
|
from typing import List, Tuple
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
LOG_LEVELS = {
|
|
||||||
logging.getLevelName(level): level for level in [
|
|
||||||
logging.DEBUG, logging.INFO, logging.WARN, logging.ERROR ]
|
|
||||||
}
|
|
||||||
|
|
||||||
log = logging.getLogger()
|
log = logging.getLogger()
|
||||||
log.addHandler(logging.StreamHandler())
|
log.addHandler(logging.StreamHandler())
|
||||||
|
|
||||||
ROOT = Path(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))).parent.parent
|
ROOT = Path(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))).parent.parent
|
||||||
from pluginupdate import Editor, parse_args, update_plugins, PluginDesc, CleanEnvironment
|
from pluginupdate import Editor, update_plugins, PluginDesc, CleanEnvironment, LOG_LEVELS, Cache
|
||||||
|
|
||||||
PKG_LIST="maintainers/scripts/luarocks-packages.csv"
|
PKG_LIST="maintainers/scripts/luarocks-packages.csv"
|
||||||
TMP_FILE="$(mktemp)"
|
TMP_FILE="$(mktemp)"
|
||||||
|
@ -67,12 +64,11 @@ class LuaEditor(Editor):
|
||||||
def get_current_plugins(self):
|
def get_current_plugins(self):
|
||||||
return []
|
return []
|
||||||
|
|
||||||
def load_plugin_spec(self, input_file) -> List[PluginDesc]:
|
def load_plugin_spec(self, input_file) -> List[LuaPlugin]:
|
||||||
luaPackages = []
|
luaPackages = []
|
||||||
csvfilename=input_file
|
csvfilename=input_file
|
||||||
log.info("Loading package descriptions from %s", csvfilename)
|
log.info("Loading package descriptions from %s", csvfilename)
|
||||||
|
|
||||||
|
|
||||||
with open(csvfilename, newline='') as csvfile:
|
with open(csvfilename, newline='') as csvfile:
|
||||||
reader = csv.DictReader(csvfile,)
|
reader = csv.DictReader(csvfile,)
|
||||||
for row in reader:
|
for row in reader:
|
||||||
|
@ -81,96 +77,114 @@ class LuaEditor(Editor):
|
||||||
luaPackages.append(plugin)
|
luaPackages.append(plugin)
|
||||||
return luaPackages
|
return luaPackages
|
||||||
|
|
||||||
|
def generate_nix(
|
||||||
|
self,
|
||||||
|
results: List[Tuple[LuaPlugin, str]],
|
||||||
|
outfilename: str
|
||||||
|
):
|
||||||
|
|
||||||
|
with tempfile.NamedTemporaryFile("w+") as f:
|
||||||
|
f.write(HEADER)
|
||||||
|
header2 = textwrap.dedent(
|
||||||
|
# header2 = inspect.cleandoc(
|
||||||
|
"""
|
||||||
|
{ self, stdenv, lib, fetchurl, fetchgit, ... } @ args:
|
||||||
|
self: super:
|
||||||
|
with self;
|
||||||
|
{
|
||||||
|
""")
|
||||||
|
f.write(header2)
|
||||||
|
for (plugin, nix_expr) in results:
|
||||||
|
f.write(f"{plugin.normalized_name} = {nix_expr}")
|
||||||
|
f.write(FOOTER)
|
||||||
|
f.flush()
|
||||||
|
|
||||||
|
# if everything went fine, move the generated file to its destination
|
||||||
|
# using copy since move doesn't work across disks
|
||||||
|
shutil.copy(f.name, outfilename)
|
||||||
|
|
||||||
|
print(f"updated {outfilename}")
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def attr_path(self):
|
def attr_path(self):
|
||||||
return "luaPackages"
|
return "luaPackages"
|
||||||
|
|
||||||
def get_update(self, input_file: str, outfile: str, _: int):
|
def get_update(self, input_file: str, outfile: str, proc: int):
|
||||||
|
_prefetch = generate_pkg_nix
|
||||||
|
|
||||||
def update() -> dict:
|
def update() -> dict:
|
||||||
plugin_specs = self.load_plugin_spec(input_file)
|
plugin_specs = self.load_plugin_spec(input_file)
|
||||||
|
sorted_plugin_specs = sorted(plugin_specs, key=lambda v: v.name.lower())
|
||||||
|
|
||||||
self.generate_nix(plugin_specs, outfile)
|
try:
|
||||||
|
pool = Pool(processes=proc)
|
||||||
|
results = pool.map(_prefetch, sorted_plugin_specs)
|
||||||
|
finally:
|
||||||
|
pass
|
||||||
|
|
||||||
|
self.generate_nix(results, outfile)
|
||||||
|
|
||||||
redirects = []
|
redirects = []
|
||||||
return redirects
|
return redirects
|
||||||
|
|
||||||
return update
|
return update
|
||||||
|
|
||||||
def rewrite_input(self, *args, **kwargs):
|
def rewrite_input(self, input_file: str, *args, **kwargs):
|
||||||
|
# vim plugin reads the file before update but that shouldn't be our case
|
||||||
# not implemented yet
|
# not implemented yet
|
||||||
|
# fieldnames = ['name', 'server', 'version', 'luaversion', 'maintainers']
|
||||||
|
# input_file = "toto.csv"
|
||||||
|
# with open(input_file, newline='') as csvfile:
|
||||||
|
# writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
|
||||||
|
# writer.writeheader()
|
||||||
|
# for row in reader:
|
||||||
|
# # name,server,version,luaversion,maintainers
|
||||||
|
# plugin = LuaPlugin(**row)
|
||||||
|
# luaPackages.append(plugin)
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def generate_nix(
|
def generate_pkg_nix(plug: LuaPlugin):
|
||||||
plugins: List[LuaPlugin],
|
'''
|
||||||
outfilename: str
|
Generate nix expression for a luarocks package
|
||||||
):
|
Our cache key associates "p.name-p.version" to its rockspec
|
||||||
sorted_plugins = sorted(plugins, key=lambda v: v.name.lower())
|
'''
|
||||||
|
log.debug("Generating nix expression for %s", plug.name)
|
||||||
|
cmd = [ "luarocks", "nix", plug.name]
|
||||||
|
|
||||||
# plug = {}
|
if plug.server:
|
||||||
# selon le manifest luarocks.org/manifest
|
cmd.append(f"--only-server={plug.server}")
|
||||||
def _generate_pkg_nix(plug):
|
|
||||||
cmd = [ "luarocks", "nix", plug.name]
|
|
||||||
if plug.server:
|
|
||||||
cmd.append(f"--only-server={plug.server}")
|
|
||||||
|
|
||||||
if plug.maintainers:
|
if plug.maintainers:
|
||||||
cmd.append(f"--maintainers={plug.maintainers}")
|
cmd.append(f"--maintainers={plug.maintainers}")
|
||||||
|
|
||||||
if plug.version:
|
if plug.version:
|
||||||
cmd.append(plug.version)
|
cmd.append(plug.version)
|
||||||
|
|
||||||
if plug.luaversion:
|
if plug.luaversion:
|
||||||
with CleanEnvironment():
|
with CleanEnvironment():
|
||||||
local_pkgs = str(ROOT.resolve())
|
local_pkgs = str(ROOT.resolve())
|
||||||
cmd2 = ["nix-build", "--no-out-link", local_pkgs, "-A", f"{plug.luaversion}"]
|
cmd2 = ["nix-build", "--no-out-link", local_pkgs, "-A", f"{plug.luaversion}"]
|
||||||
|
|
||||||
log.debug("running %s", cmd2)
|
log.debug("running %s", ' '.join(cmd2))
|
||||||
lua_drv_path=subprocess.check_output(cmd2, text=True).strip()
|
lua_drv_path=subprocess.check_output(cmd2, text=True).strip()
|
||||||
cmd.append(f"--lua-dir={lua_drv_path}/bin")
|
cmd.append(f"--lua-dir={lua_drv_path}/bin")
|
||||||
|
|
||||||
log.debug("running %s", cmd)
|
|
||||||
output = subprocess.check_output(cmd, text=True)
|
|
||||||
return output
|
|
||||||
|
|
||||||
with tempfile.NamedTemporaryFile("w+") as f:
|
|
||||||
f.write(HEADER)
|
|
||||||
f.write("""
|
|
||||||
{ self, stdenv, lib, fetchurl, fetchgit, ... } @ args:
|
|
||||||
self: super:
|
|
||||||
with self;
|
|
||||||
{
|
|
||||||
""")
|
|
||||||
|
|
||||||
for plugin in sorted_plugins:
|
|
||||||
|
|
||||||
nix_expr = _generate_pkg_nix(plugin)
|
|
||||||
f.write(f"{plugin.normalized_name} = {nix_expr}"
|
|
||||||
)
|
|
||||||
f.write(FOOTER)
|
|
||||||
f.flush()
|
|
||||||
|
|
||||||
# if everything went fine, move the generated file to its destination
|
|
||||||
# using copy since move doesn't work across disks
|
|
||||||
shutil.copy(f.name, outfilename)
|
|
||||||
|
|
||||||
print(f"updated {outfilename}")
|
|
||||||
|
|
||||||
def load_plugin_spec():
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
log.debug("running %s", cmd)
|
||||||
|
output = subprocess.check_output(cmd, text=True)
|
||||||
|
return (plug, output)
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
|
||||||
editor = LuaEditor("lua", ROOT, '', generate_nix,
|
editor = LuaEditor("lua", ROOT, '',
|
||||||
default_in = ROOT.joinpath(PKG_LIST),
|
default_in = ROOT.joinpath(PKG_LIST),
|
||||||
default_out = ROOT.joinpath(GENERATED_NIXFILE)
|
default_out = ROOT.joinpath(GENERATED_NIXFILE)
|
||||||
)
|
)
|
||||||
|
|
||||||
args = parse_args(editor)
|
parser = editor.create_parser()
|
||||||
|
args = parser.parse_args()
|
||||||
log.setLevel(LOG_LEVELS[args.debug])
|
log.setLevel(LOG_LEVELS[args.debug])
|
||||||
|
|
||||||
update_plugins(editor)
|
update_plugins(editor, args)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|
|
@ -668,6 +668,11 @@
|
||||||
to use wildcards in the <literal>source</literal> argument.
|
to use wildcards in the <literal>source</literal> argument.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
<para>
|
||||||
|
<<<<<<< HEAD
|
||||||
|
</para>
|
||||||
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
The <literal>openrazer</literal> and
|
The <literal>openrazer</literal> and
|
||||||
|
@ -703,6 +708,13 @@
|
||||||
web UI this port needs to be opened in the firewall.
|
web UI this port needs to be opened in the firewall.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
The <literal>varnish</literal> package was upgraded from 6.3.x
|
||||||
|
to 6.5.x. <literal>varnish60</literal> for the last LTS
|
||||||
|
release is also still available.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
<section xml:id="sec-release-21.11-notable-changes">
|
<section xml:id="sec-release-21.11-notable-changes">
|
||||||
|
|
|
@ -171,6 +171,7 @@ pt-services.clipcat.enable).
|
||||||
|
|
||||||
- `programs.neovim.runtime` switched to a `linkFarm` internally, making it impossible to use wildcards in the `source` argument.
|
- `programs.neovim.runtime` switched to a `linkFarm` internally, making it impossible to use wildcards in the `source` argument.
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
- The `openrazer` and `openrazer-daemon` packages as well as the `hardware.openrazer` module now require users to be members of the `openrazer` group instead of `plugdev`. With this change, users no longer need be granted the entire set of `plugdev` group permissions, which can include permissions other than those required by `openrazer`. This is desirable from a security point of view. The setting [`harware.openrazer.users`](options.html#opt-services.hardware.openrazer.users) can be used to add users to the `openrazer` group.
|
- The `openrazer` and `openrazer-daemon` packages as well as the `hardware.openrazer` module now require users to be members of the `openrazer` group instead of `plugdev`. With this change, users no longer need be granted the entire set of `plugdev` group permissions, which can include permissions other than those required by `openrazer`. This is desirable from a security point of view. The setting [`harware.openrazer.users`](options.html#opt-services.hardware.openrazer.users) can be used to add users to the `openrazer` group.
|
||||||
|
|
||||||
- The `yambar` package has been split into `yambar` and `yambar-wayland`, corresponding to the xorg and wayland backend respectively. Please switch to `yambar-wayland` if you are on wayland.
|
- The `yambar` package has been split into `yambar` and `yambar-wayland`, corresponding to the xorg and wayland backend respectively. Please switch to `yambar-wayland` if you are on wayland.
|
||||||
|
@ -179,6 +180,8 @@ pt-services.clipcat.enable).
|
||||||
configures the address and port the web UI is listening, it defaults to `:9001`.
|
configures the address and port the web UI is listening, it defaults to `:9001`.
|
||||||
To be able to access the web UI this port needs to be opened in the firewall.
|
To be able to access the web UI this port needs to be opened in the firewall.
|
||||||
|
|
||||||
|
- The `varnish` package was upgraded from 6.3.x to 6.5.x. `varnish60` for the last LTS release is also still available.
|
||||||
|
|
||||||
## Other Notable Changes {#sec-release-21.11-notable-changes}
|
## Other Notable Changes {#sec-release-21.11-notable-changes}
|
||||||
|
|
||||||
- The setting [`services.openssh.logLevel`](options.html#opt-services.openssh.logLevel) `"VERBOSE"` `"INFO"`. This brings NixOS in line with upstream and other Linux distributions, and reduces log spam on servers due to bruteforcing botnets.
|
- The setting [`services.openssh.logLevel`](options.html#opt-services.openssh.logLevel) `"VERBOSE"` `"INFO"`. This brings NixOS in line with upstream and other Linux distributions, and reduces log spam on servers due to bruteforcing botnets.
|
||||||
|
|
|
@ -12,5 +12,6 @@ with lib;
|
||||||
boot.loader.systemd-boot.consoleMode = mkDefault "1";
|
boot.loader.systemd-boot.consoleMode = mkDefault "1";
|
||||||
|
|
||||||
# TODO Find reasonable defaults X11 & wayland
|
# TODO Find reasonable defaults X11 & wayland
|
||||||
|
services.xserver.dpi = lib.mkDefault 192;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,17 +14,6 @@ in
|
||||||
services.hqplayerd = {
|
services.hqplayerd = {
|
||||||
enable = mkEnableOption "HQPlayer Embedded";
|
enable = mkEnableOption "HQPlayer Embedded";
|
||||||
|
|
||||||
licenseFile = mkOption {
|
|
||||||
type = types.nullOr types.path;
|
|
||||||
default = null;
|
|
||||||
description = ''
|
|
||||||
Path to the HQPlayer license key file.
|
|
||||||
|
|
||||||
Without this, the service will run in trial mode and restart every 30
|
|
||||||
minutes.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
auth = {
|
auth = {
|
||||||
username = mkOption {
|
username = mkOption {
|
||||||
type = types.nullOr types.str;
|
type = types.nullOr types.str;
|
||||||
|
@ -49,11 +38,32 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
licenseFile = mkOption {
|
||||||
|
type = types.nullOr types.path;
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
Path to the HQPlayer license key file.
|
||||||
|
|
||||||
|
Without this, the service will run in trial mode and restart every 30
|
||||||
|
minutes.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
openFirewall = mkOption {
|
openFirewall = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
description = ''
|
description = ''
|
||||||
Open TCP port 8088 in the firewall for the server.
|
Opens ports needed for the WebUI and controller API.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkOption {
|
||||||
|
type = types.nullOr types.lines;
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
HQplayer daemon configuration, written to /etc/hqplayer/hqplayerd.xml.
|
||||||
|
|
||||||
|
Refer to ${pkg}/share/doc/hqplayerd/readme.txt for possible values.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -70,6 +80,7 @@ in
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
etc = {
|
etc = {
|
||||||
|
"hqplayer/hqplayerd.xml" = mkIf (cfg.config != null) { source = pkgs.writeText "hqplayerd.xml" cfg.config; };
|
||||||
"hqplayer/hqplayerd4-key.xml" = mkIf (cfg.licenseFile != null) { source = cfg.licenseFile; };
|
"hqplayer/hqplayerd4-key.xml" = mkIf (cfg.licenseFile != null) { source = cfg.licenseFile; };
|
||||||
"modules-load.d/taudio2.conf".source = "${pkg}/etc/modules-load.d/taudio2.conf";
|
"modules-load.d/taudio2.conf".source = "${pkg}/etc/modules-load.d/taudio2.conf";
|
||||||
};
|
};
|
||||||
|
@ -77,7 +88,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
networking.firewall = mkIf cfg.openFirewall {
|
networking.firewall = mkIf cfg.openFirewall {
|
||||||
allowedTCPPorts = [ 8088 ];
|
allowedTCPPorts = [ 8088 4321 ];
|
||||||
};
|
};
|
||||||
|
|
||||||
services.udev.packages = [ pkg ];
|
services.udev.packages = [ pkg ];
|
||||||
|
@ -99,6 +110,8 @@ in
|
||||||
|
|
||||||
unitConfig.ConditionPathExists = [ configDir stateDir ];
|
unitConfig.ConditionPathExists = [ configDir stateDir ];
|
||||||
|
|
||||||
|
restartTriggers = optionals (cfg.config != null) [ config.environment.etc."hqplayer/hqplayerd.xml".source ];
|
||||||
|
|
||||||
preStart = ''
|
preStart = ''
|
||||||
cp -r "${pkg}/var/lib/hqplayer/web" "${stateDir}"
|
cp -r "${pkg}/var/lib/hqplayer/web" "${stateDir}"
|
||||||
chmod -R u+wX "${stateDir}/web"
|
chmod -R u+wX "${stateDir}/web"
|
||||||
|
|
|
@ -150,6 +150,7 @@ in {
|
||||||
useDHCP = false;
|
useDHCP = false;
|
||||||
wireless = {
|
wireless = {
|
||||||
enable = mkIf (!enableIwd) true;
|
enable = mkIf (!enableIwd) true;
|
||||||
|
dbusControlled = true;
|
||||||
iwd = mkIf enableIwd {
|
iwd = mkIf enableIwd {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
|
@ -549,11 +549,7 @@ in
|
||||||
|
|
||||||
LogLevel ${cfg.logLevel}
|
LogLevel ${cfg.logLevel}
|
||||||
|
|
||||||
${if cfg.useDns then ''
|
UseDNS ${if cfg.useDns then "yes" else "no"}
|
||||||
UseDNS yes
|
|
||||||
'' else ''
|
|
||||||
UseDNS no
|
|
||||||
''}
|
|
||||||
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -8,28 +8,108 @@ let
|
||||||
else pkgs.wpa_supplicant;
|
else pkgs.wpa_supplicant;
|
||||||
|
|
||||||
cfg = config.networking.wireless;
|
cfg = config.networking.wireless;
|
||||||
configFile = if cfg.networks != {} || cfg.extraConfig != "" || cfg.userControlled.enable then pkgs.writeText "wpa_supplicant.conf" ''
|
|
||||||
${optionalString cfg.userControlled.enable ''
|
# Content of wpa_supplicant.conf
|
||||||
ctrl_interface=DIR=/run/wpa_supplicant GROUP=${cfg.userControlled.group}
|
generatedConfig = concatStringsSep "\n" (
|
||||||
update_config=1''}
|
(mapAttrsToList mkNetwork cfg.networks)
|
||||||
${cfg.extraConfig}
|
++ optional cfg.userControlled.enable (concatStringsSep "\n"
|
||||||
${concatStringsSep "\n" (mapAttrsToList (ssid: config: with config; let
|
[ "ctrl_interface=/run/wpa_supplicant"
|
||||||
key = if psk != null
|
"ctrl_interface_group=${cfg.userControlled.group}"
|
||||||
then ''"${psk}"''
|
"update_config=1"
|
||||||
else pskRaw;
|
])
|
||||||
baseAuth = if key != null
|
++ optional cfg.scanOnLowSignal ''bgscan="simple:30:-70:3600"''
|
||||||
then "psk=${key}"
|
++ optional (cfg.extraConfig != "") cfg.extraConfig);
|
||||||
else "key_mgmt=NONE";
|
|
||||||
in ''
|
configFile =
|
||||||
network={
|
if cfg.networks != {} || cfg.extraConfig != "" || cfg.userControlled.enable
|
||||||
ssid="${ssid}"
|
then pkgs.writeText "wpa_supplicant.conf" generatedConfig
|
||||||
${optionalString (priority != null) ''priority=${toString priority}''}
|
else "/etc/wpa_supplicant.conf";
|
||||||
${optionalString hidden "scan_ssid=1"}
|
|
||||||
${if (auth != null) then auth else baseAuth}
|
# Creates a network block for wpa_supplicant.conf
|
||||||
${extraConfig}
|
mkNetwork = ssid: opts:
|
||||||
}
|
let
|
||||||
'') cfg.networks)}
|
quote = x: ''"${x}"'';
|
||||||
'' else "/etc/wpa_supplicant.conf";
|
indent = x: " " + x;
|
||||||
|
|
||||||
|
pskString = if opts.psk != null
|
||||||
|
then quote opts.psk
|
||||||
|
else opts.pskRaw;
|
||||||
|
|
||||||
|
options = [
|
||||||
|
"ssid=${quote ssid}"
|
||||||
|
(if pskString != null || opts.auth != null
|
||||||
|
then "key_mgmt=${concatStringsSep " " opts.authProtocols}"
|
||||||
|
else "key_mgmt=NONE")
|
||||||
|
] ++ optional opts.hidden "scan_ssid=1"
|
||||||
|
++ optional (pskString != null) "psk=${pskString}"
|
||||||
|
++ optionals (opts.auth != null) (filter (x: x != "") (splitString "\n" opts.auth))
|
||||||
|
++ optional (opts.priority != null) "priority=${toString opts.priority}"
|
||||||
|
++ optional (opts.extraConfig != "") opts.extraConfig;
|
||||||
|
in ''
|
||||||
|
network={
|
||||||
|
${concatMapStringsSep "\n" indent options}
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
|
||||||
|
# Creates a systemd unit for wpa_supplicant bound to a given (or any) interface
|
||||||
|
mkUnit = iface:
|
||||||
|
let
|
||||||
|
deviceUnit = optional (iface != null) "sys-subsystem-net-devices-${utils.escapeSystemdPath iface}.device";
|
||||||
|
configStr = if cfg.allowAuxiliaryImperativeNetworks
|
||||||
|
then "-c /etc/wpa_supplicant.conf -I ${configFile}"
|
||||||
|
else "-c ${configFile}";
|
||||||
|
in {
|
||||||
|
description = "WPA Supplicant instance" + optionalString (iface != null) " for interface ${iface}";
|
||||||
|
|
||||||
|
after = deviceUnit;
|
||||||
|
before = [ "network.target" ];
|
||||||
|
wants = [ "network.target" ];
|
||||||
|
requires = deviceUnit;
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
stopIfChanged = false;
|
||||||
|
|
||||||
|
path = [ package ];
|
||||||
|
|
||||||
|
script =
|
||||||
|
''
|
||||||
|
if [ -f /etc/wpa_supplicant.conf -a "/etc/wpa_supplicant.conf" != "${configFile}" ]; then
|
||||||
|
echo >&2 "<3>/etc/wpa_supplicant.conf present but ignored. Generated ${configFile} is used instead."
|
||||||
|
fi
|
||||||
|
|
||||||
|
iface_args="-s ${optionalString cfg.dbusControlled "-u"} -D${cfg.driver} ${configStr}"
|
||||||
|
|
||||||
|
${if iface == null then ''
|
||||||
|
# detect interfaces automatically
|
||||||
|
|
||||||
|
# check if there are no wireless interfaces
|
||||||
|
if ! find -H /sys/class/net/* -name wireless | grep -q .; then
|
||||||
|
# if so, wait until one appears
|
||||||
|
echo "Waiting for wireless interfaces"
|
||||||
|
grep -q '^ACTION=add' < <(stdbuf -oL -- udevadm monitor -s net/wlan -pu)
|
||||||
|
# Note: the above line has been carefully written:
|
||||||
|
# 1. The process substitution avoids udevadm hanging (after grep has quit)
|
||||||
|
# until it tries to write to the pipe again. Not even pipefail works here.
|
||||||
|
# 2. stdbuf is needed because udevadm output is buffered by default and grep
|
||||||
|
# may hang until more udev events enter the pipe.
|
||||||
|
fi
|
||||||
|
|
||||||
|
# add any interface found to the daemon arguments
|
||||||
|
for name in $(find -H /sys/class/net/* -name wireless | cut -d/ -f 5); do
|
||||||
|
echo "Adding interface $name"
|
||||||
|
args+="''${args:+ -N} -i$name $iface_args"
|
||||||
|
done
|
||||||
|
'' else ''
|
||||||
|
# add known interface to the daemon arguments
|
||||||
|
args="-i${iface} $iface_args"
|
||||||
|
''}
|
||||||
|
|
||||||
|
# finally start daemon
|
||||||
|
exec wpa_supplicant $args
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
systemctl = "/run/current-system/systemd/bin/systemctl";
|
||||||
|
|
||||||
in {
|
in {
|
||||||
options = {
|
options = {
|
||||||
networking.wireless = {
|
networking.wireless = {
|
||||||
|
@ -42,6 +122,10 @@ in {
|
||||||
description = ''
|
description = ''
|
||||||
The interfaces <command>wpa_supplicant</command> will use. If empty, it will
|
The interfaces <command>wpa_supplicant</command> will use. If empty, it will
|
||||||
automatically use all wireless interfaces.
|
automatically use all wireless interfaces.
|
||||||
|
|
||||||
|
<note><para>
|
||||||
|
A separate wpa_supplicant instance will be started for each interface.
|
||||||
|
</para></note>
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -61,6 +145,16 @@ in {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
scanOnLowSignal = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = true;
|
||||||
|
description = ''
|
||||||
|
Whether to periodically scan for (better) networks when the signal of
|
||||||
|
the current one is low. This will make roaming between access points
|
||||||
|
faster, but will consume more power.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
networks = mkOption {
|
networks = mkOption {
|
||||||
type = types.attrsOf (types.submodule {
|
type = types.attrsOf (types.submodule {
|
||||||
options = {
|
options = {
|
||||||
|
@ -89,11 +183,52 @@ in {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
authProtocols = mkOption {
|
||||||
|
default = [
|
||||||
|
# WPA2 and WPA3
|
||||||
|
"WPA-PSK" "WPA-EAP" "SAE"
|
||||||
|
# 802.11r variants of the above
|
||||||
|
"FT-PSK" "FT-EAP" "FT-SAE"
|
||||||
|
];
|
||||||
|
# The list can be obtained by running this command
|
||||||
|
# awk '
|
||||||
|
# /^# key_mgmt: /{ run=1 }
|
||||||
|
# /^#$/{ run=0 }
|
||||||
|
# /^# [A-Z0-9-]{2,}/{ if(run){printf("\"%s\"\n", $2)} }
|
||||||
|
# ' /run/current-system/sw/share/doc/wpa_supplicant/wpa_supplicant.conf.example
|
||||||
|
type = types.listOf (types.enum [
|
||||||
|
"WPA-PSK"
|
||||||
|
"WPA-EAP"
|
||||||
|
"IEEE8021X"
|
||||||
|
"NONE"
|
||||||
|
"WPA-NONE"
|
||||||
|
"FT-PSK"
|
||||||
|
"FT-EAP"
|
||||||
|
"FT-EAP-SHA384"
|
||||||
|
"WPA-PSK-SHA256"
|
||||||
|
"WPA-EAP-SHA256"
|
||||||
|
"SAE"
|
||||||
|
"FT-SAE"
|
||||||
|
"WPA-EAP-SUITE-B"
|
||||||
|
"WPA-EAP-SUITE-B-192"
|
||||||
|
"OSEN"
|
||||||
|
"FILS-SHA256"
|
||||||
|
"FILS-SHA384"
|
||||||
|
"FT-FILS-SHA256"
|
||||||
|
"FT-FILS-SHA384"
|
||||||
|
"OWE"
|
||||||
|
"DPP"
|
||||||
|
]);
|
||||||
|
description = ''
|
||||||
|
The list of authentication protocols accepted by this network.
|
||||||
|
This corresponds to the <literal>key_mgmt</literal> option in wpa_supplicant.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
auth = mkOption {
|
auth = mkOption {
|
||||||
type = types.nullOr types.str;
|
type = types.nullOr types.str;
|
||||||
default = null;
|
default = null;
|
||||||
example = ''
|
example = ''
|
||||||
key_mgmt=WPA-EAP
|
|
||||||
eap=PEAP
|
eap=PEAP
|
||||||
identity="user@example.com"
|
identity="user@example.com"
|
||||||
password="secret"
|
password="secret"
|
||||||
|
@ -200,6 +335,16 @@ in {
|
||||||
description = "Members of this group can control wpa_supplicant.";
|
description = "Members of this group can control wpa_supplicant.";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
dbusControlled = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = lib.length cfg.interfaces < 2;
|
||||||
|
description = ''
|
||||||
|
Whether to enable the DBus control interface.
|
||||||
|
This is only needed when using NetworkManager or connman.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
extraConfig = mkOption {
|
extraConfig = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
default = "";
|
default = "";
|
||||||
|
@ -223,80 +368,47 @@ in {
|
||||||
assertions = flip mapAttrsToList cfg.networks (name: cfg: {
|
assertions = flip mapAttrsToList cfg.networks (name: cfg: {
|
||||||
assertion = with cfg; count (x: x != null) [ psk pskRaw auth ] <= 1;
|
assertion = with cfg; count (x: x != null) [ psk pskRaw auth ] <= 1;
|
||||||
message = ''options networking.wireless."${name}".{psk,pskRaw,auth} are mutually exclusive'';
|
message = ''options networking.wireless."${name}".{psk,pskRaw,auth} are mutually exclusive'';
|
||||||
});
|
}) ++ [
|
||||||
|
{
|
||||||
environment.systemPackages = [ package ];
|
assertion = length cfg.interfaces > 1 -> !cfg.dbusControlled;
|
||||||
|
message =
|
||||||
services.dbus.packages = [ package ];
|
let daemon = if config.networking.networkmanager.enable then "NetworkManager" else
|
||||||
|
if config.services.connman.enable then "connman" else null;
|
||||||
|
n = toString (length cfg.interfaces);
|
||||||
|
in ''
|
||||||
|
It's not possible to run multiple wpa_supplicant instances with DBus support.
|
||||||
|
Note: you're seeing this error because `networking.wireless.interfaces` has
|
||||||
|
${n} entries, implying an equal number of wpa_supplicant instances.
|
||||||
|
'' + optionalString (daemon != null) ''
|
||||||
|
You don't need to change `networking.wireless.interfaces` when using ${daemon}:
|
||||||
|
in this case the interfaces will be configured automatically for you.
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
hardware.wirelessRegulatoryDatabase = true;
|
hardware.wirelessRegulatoryDatabase = true;
|
||||||
|
|
||||||
# FIXME: start a separate wpa_supplicant instance per interface.
|
environment.systemPackages = [ package ];
|
||||||
systemd.services.wpa_supplicant = let
|
services.dbus.packages = optional cfg.dbusControlled package;
|
||||||
ifaces = cfg.interfaces;
|
|
||||||
deviceUnit = interface: [ "sys-subsystem-net-devices-${utils.escapeSystemdPath interface}.device" ];
|
|
||||||
in {
|
|
||||||
description = "WPA Supplicant";
|
|
||||||
|
|
||||||
after = lib.concatMap deviceUnit ifaces;
|
systemd.services =
|
||||||
before = [ "network.target" ];
|
if cfg.interfaces == []
|
||||||
wants = [ "network.target" ];
|
then { wpa_supplicant = mkUnit null; }
|
||||||
requires = lib.concatMap deviceUnit ifaces;
|
else listToAttrs (map (i: nameValuePair "wpa_supplicant-${i}" (mkUnit i)) cfg.interfaces);
|
||||||
wantedBy = [ "multi-user.target" ];
|
|
||||||
stopIfChanged = false;
|
|
||||||
|
|
||||||
path = [ package pkgs.udev ];
|
# Restart wpa_supplicant after resuming from sleep
|
||||||
|
powerManagement.resumeCommands = concatStringsSep "\n" (
|
||||||
|
optional (cfg.interfaces == []) "${systemctl} try-restart wpa_supplicant"
|
||||||
|
++ map (i: "${systemctl} try-restart wpa_supplicant-${i}") cfg.interfaces
|
||||||
|
);
|
||||||
|
|
||||||
script = let
|
# Restart wpa_supplicant when a wlan device appears or disappears. This is
|
||||||
configStr = if cfg.allowAuxiliaryImperativeNetworks
|
# only needed when an interface hasn't been specified by the user.
|
||||||
then "-c /etc/wpa_supplicant.conf -I ${configFile}"
|
services.udev.extraRules = optionalString (cfg.interfaces == []) ''
|
||||||
else "-c ${configFile}";
|
ACTION=="add|remove", SUBSYSTEM=="net", ENV{DEVTYPE}=="wlan", \
|
||||||
in ''
|
RUN+="${systemctl} try-restart wpa_supplicant.service"
|
||||||
if [ -f /etc/wpa_supplicant.conf -a "/etc/wpa_supplicant.conf" != "${configFile}" ]; then
|
|
||||||
echo >&2 "<3>/etc/wpa_supplicant.conf present but ignored. Generated ${configFile} is used instead."
|
|
||||||
fi
|
|
||||||
|
|
||||||
iface_args="-s -u -D${cfg.driver} ${configStr}"
|
|
||||||
|
|
||||||
${if ifaces == [] then ''
|
|
||||||
# detect interfaces automatically
|
|
||||||
|
|
||||||
# check if there are no wireless interface
|
|
||||||
if ! find -H /sys/class/net/* -name wireless | grep -q .; then
|
|
||||||
# if so, wait until one appears
|
|
||||||
echo "Waiting for wireless interfaces"
|
|
||||||
grep -q '^ACTION=add' < <(stdbuf -oL -- udevadm monitor -s net/wlan -pu)
|
|
||||||
# Note: the above line has been carefully written:
|
|
||||||
# 1. The process substitution avoids udevadm hanging (after grep has quit)
|
|
||||||
# until it tries to write to the pipe again. Not even pipefail works here.
|
|
||||||
# 2. stdbuf is needed because udevadm output is buffered by default and grep
|
|
||||||
# may hang until more udev events enter the pipe.
|
|
||||||
fi
|
|
||||||
|
|
||||||
# add any interface found to the daemon arguments
|
|
||||||
for name in $(find -H /sys/class/net/* -name wireless | cut -d/ -f 5); do
|
|
||||||
echo "Adding interface $name"
|
|
||||||
args+="''${args:+ -N} -i$name $iface_args"
|
|
||||||
done
|
|
||||||
'' else ''
|
|
||||||
# add known interfaces to the daemon arguments
|
|
||||||
args="${concatMapStringsSep " -N " (i: "-i${i} $iface_args") ifaces}"
|
|
||||||
''}
|
|
||||||
|
|
||||||
# finally start daemon
|
|
||||||
exec wpa_supplicant $args
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
powerManagement.resumeCommands = ''
|
|
||||||
/run/current-system/systemd/bin/systemctl try-restart wpa_supplicant
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Restart wpa_supplicant when a wlan device appears or disappears.
|
|
||||||
services.udev.extraRules = ''
|
|
||||||
ACTION=="add|remove", SUBSYSTEM=="net", ENV{DEVTYPE}=="wlan", RUN+="/run/current-system/systemd/bin/systemctl try-restart wpa_supplicant.service"
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
meta.maintainers = with lib.maintainers; [ globin ];
|
meta.maintainers = with lib.maintainers; [ globin rnhmjoj ];
|
||||||
}
|
}
|
||||||
|
|
|
@ -171,6 +171,14 @@ let
|
||||||
map_hash_max_size ${toString cfg.mapHashMaxSize};
|
map_hash_max_size ${toString cfg.mapHashMaxSize};
|
||||||
''}
|
''}
|
||||||
|
|
||||||
|
${optionalString (cfg.serverNamesHashBucketSize != null) ''
|
||||||
|
server_names_hash_bucket_size ${toString cfg.serverNamesHashBucketSize};
|
||||||
|
''}
|
||||||
|
|
||||||
|
${optionalString (cfg.serverNamesHashMaxSize != null) ''
|
||||||
|
server_names_hash_max_size ${toString cfg.serverNamesHashMaxSize};
|
||||||
|
''}
|
||||||
|
|
||||||
# $connection_upgrade is used for websocket proxying
|
# $connection_upgrade is used for websocket proxying
|
||||||
map $http_upgrade $connection_upgrade {
|
map $http_upgrade $connection_upgrade {
|
||||||
default upgrade;
|
default upgrade;
|
||||||
|
@ -232,13 +240,13 @@ let
|
||||||
|
|
||||||
defaultListen =
|
defaultListen =
|
||||||
if vhost.listen != [] then vhost.listen
|
if vhost.listen != [] then vhost.listen
|
||||||
else optionals (hasSSL || vhost.rejectSSL) (
|
else
|
||||||
singleton { addr = "0.0.0.0"; port = 443; ssl = true; }
|
let addrs = if vhost.listenAddresses != [] then vhost.listenAddreses else (
|
||||||
++ optional enableIPv6 { addr = "[::]"; port = 443; ssl = true; }
|
[ "0.0.0.0" ] ++ optional enableIPv6 "[::0]"
|
||||||
) ++ optionals (!onlySSL) (
|
);
|
||||||
singleton { addr = "0.0.0.0"; port = 80; ssl = false; }
|
in
|
||||||
++ optional enableIPv6 { addr = "[::]"; port = 80; ssl = false; }
|
optionals (hasSSL || vhost.rejectSSL) (map (addr: { inherit addr; port = 443; ssl = true; }) addrs)
|
||||||
);
|
++ optionals (!onlySSL) (map (addr: { inherit addr; port = 80; ssl = false; }) addrs);
|
||||||
|
|
||||||
hostListen =
|
hostListen =
|
||||||
if vhost.forceSSL
|
if vhost.forceSSL
|
||||||
|
@ -643,6 +651,23 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
serverNamesHashBucketSize = mkOption {
|
||||||
|
type = types.nullOr types.ints.positive;
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
Sets the bucket size for the server names hash tables. Default
|
||||||
|
value depends on the processor’s cache line size.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
serverNamesHashMaxSize = mkOption {
|
||||||
|
type = types.nullOr types.ints.positive;
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
Sets the maximum size of the server names hash tables.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
resolver = mkOption {
|
resolver = mkOption {
|
||||||
type = types.submodule {
|
type = types.submodule {
|
||||||
options = {
|
options = {
|
||||||
|
|
|
@ -43,9 +43,26 @@ with lib;
|
||||||
IPv6 addresses must be enclosed in square brackets.
|
IPv6 addresses must be enclosed in square brackets.
|
||||||
Note: this option overrides <literal>addSSL</literal>
|
Note: this option overrides <literal>addSSL</literal>
|
||||||
and <literal>onlySSL</literal>.
|
and <literal>onlySSL</literal>.
|
||||||
|
|
||||||
|
If you only want to set the addresses manually and not
|
||||||
|
the ports, take a look at <literal>listenAddresses</literal>
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
listenAddresses = mkOption {
|
||||||
|
type = with types; listOf str;
|
||||||
|
|
||||||
|
description = ''
|
||||||
|
Listen addresses for this virtual host.
|
||||||
|
Compared to <literal>listen</literal> this only sets the addreses
|
||||||
|
and the ports are choosen automatically.
|
||||||
|
|
||||||
|
Note: This option overrides <literal>enableIPv6</literal>
|
||||||
|
'';
|
||||||
|
default = [];
|
||||||
|
example = [ "127.0.0.1" "::1" ];
|
||||||
|
};
|
||||||
|
|
||||||
enableACME = mkOption {
|
enableACME = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
|
|
|
@ -164,6 +164,11 @@ in
|
||||||
systemd.packages = with pkgs.gnome; [ gdm gnome-session gnome-shell ];
|
systemd.packages = with pkgs.gnome; [ gdm gnome-session gnome-shell ];
|
||||||
environment.systemPackages = [ pkgs.gnome.adwaita-icon-theme ];
|
environment.systemPackages = [ pkgs.gnome.adwaita-icon-theme ];
|
||||||
|
|
||||||
|
# We dont use the upstream gdm service
|
||||||
|
# it has to be disabled since the gdm package has it
|
||||||
|
# https://github.com/NixOS/nixpkgs/issues/108672
|
||||||
|
systemd.services.gdm.enable = false;
|
||||||
|
|
||||||
systemd.services.display-manager.wants = [
|
systemd.services.display-manager.wants = [
|
||||||
# Because sd_login_monitor_new requires /run/systemd/machines
|
# Because sd_login_monitor_new requires /run/systemd/machines
|
||||||
"systemd-machined.service"
|
"systemd-machined.service"
|
||||||
|
|
|
@ -681,7 +681,7 @@ in
|
||||||
systemd.services.display-manager =
|
systemd.services.display-manager =
|
||||||
{ description = "X11 Server";
|
{ description = "X11 Server";
|
||||||
|
|
||||||
after = [ "acpid.service" "systemd-logind.service" ];
|
after = [ "acpid.service" "systemd-logind.service" "systemd-user-sessions.service" ];
|
||||||
|
|
||||||
restartIfChanged = false;
|
restartIfChanged = false;
|
||||||
|
|
||||||
|
|
|
@ -36,6 +36,14 @@ in
|
||||||
`<nixpkgs/nixos/modules/virtualisation/google-compute-image.nix>`.
|
`<nixpkgs/nixos/modules/virtualisation/google-compute-image.nix>`.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
virtualisation.googleComputeImage.compressionLevel = mkOption {
|
||||||
|
type = types.int;
|
||||||
|
default = 6;
|
||||||
|
description = ''
|
||||||
|
GZIP compression level of the resulting disk image (1-9).
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
#### implementation
|
#### implementation
|
||||||
|
@ -47,7 +55,8 @@ in
|
||||||
PATH=$PATH:${with pkgs; lib.makeBinPath [ gnutar gzip ]}
|
PATH=$PATH:${with pkgs; lib.makeBinPath [ gnutar gzip ]}
|
||||||
pushd $out
|
pushd $out
|
||||||
mv $diskImage disk.raw
|
mv $diskImage disk.raw
|
||||||
tar -Szcf nixos-image-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}.raw.tar.gz disk.raw
|
tar -Sc disk.raw | gzip -${toString cfg.compressionLevel} > \
|
||||||
|
nixos-image-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}.raw.tar.gz
|
||||||
rm $out/disk.raw
|
rm $out/disk.raw
|
||||||
popd
|
popd
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -78,6 +78,13 @@ import ./make-test-python.nix (
|
||||||
'su - test7 -c "SSH_AUTH_SOCK=HOLEY doas env"'
|
'su - test7 -c "SSH_AUTH_SOCK=HOLEY doas env"'
|
||||||
):
|
):
|
||||||
raise Exception("failed to exclude SSH_AUTH_SOCK")
|
raise Exception("failed to exclude SSH_AUTH_SOCK")
|
||||||
|
|
||||||
|
# Test that the doas setuid wrapper precedes the unwrapped version in PATH after
|
||||||
|
# calling doas.
|
||||||
|
# The PATH set by doas is defined in
|
||||||
|
# ../../pkgs/tools/security/doas/0001-add-NixOS-specific-dirs-to-safe-PATH.patch
|
||||||
|
with subtest("recursive calls to doas from subprocesses should succeed"):
|
||||||
|
machine.succeed('doas -u test0 sh -c "doas -u test0 true"')
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
|
@ -28,11 +28,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "kid3";
|
pname = "kid3";
|
||||||
version = "3.8.6";
|
version = "3.8.7";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.kde.org/stable/${pname}/${version}/${pname}-${version}.tar.xz";
|
url = "https://download.kde.org/stable/${pname}/${version}/${pname}-${version}.tar.xz";
|
||||||
hash = "sha256-R4gAWlCw8RezhYbw1XDo+wdp797IbLoM3wqHwr+ul6k=";
|
sha256 = "sha256-Dr+NLh5ajG42jRKt1Swq6mccPfuAXRvhhoTNuO8lnI0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -13,13 +13,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "mympd";
|
pname = "mympd";
|
||||||
version = "7.0.2";
|
version = "8.0.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "jcorporation";
|
owner = "jcorporation";
|
||||||
repo = "myMPD";
|
repo = "myMPD";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-2V3LbgnJfTIO71quZ+hfLnw/lNLYxXt19jw2Od6BVvM=";
|
sha256 = "sha256-J37PH+yRSsPeNCdY2mslrjMoBwutm5xTSIt+TWyf21M=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config cmake ];
|
nativeBuildInputs = [ pkg-config cmake ];
|
||||||
|
|
|
@ -15,13 +15,13 @@ in
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "btcpayserver";
|
pname = "btcpayserver";
|
||||||
version = "1.1.2";
|
version = "1.2.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = pname;
|
owner = pname;
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-A9XIKCw1dL4vUQYSu6WdmpR82dAbtKVTyjllquyRGgs=";
|
sha256 = "sha256-pRc0oud8k6ulC6tVXv6Mr7IEC2a/+FhkMDyxz1zFKTE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ dotnetSdk dotnetPackages.Nuget makeWrapper ];
|
nativeBuildInputs = [ dotnetSdk dotnetPackages.Nuget makeWrapper ];
|
||||||
|
|
76
pkgs/applications/blockchains/btcpayserver/deps.nix
generated
76
pkgs/applications/blockchains/btcpayserver/deps.nix
generated
|
@ -26,53 +26,48 @@
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "BTCPayServer.Hwi";
|
name = "BTCPayServer.Hwi";
|
||||||
version = "1.1.3";
|
version = "2.0.1";
|
||||||
sha256 = "1c8hfnrjh2ad8qh75d63gsl170q8czf3j1hk8sv8fnbgnxdnkm7a";
|
sha256 = "18pp3f0z10c0q1bbllxi2j6ix8f0x58d0dndi5faf9p3hb58ly9k";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "BTCPayServer.Lightning.All";
|
name = "BTCPayServer.Lightning.All";
|
||||||
version = "1.2.7";
|
version = "1.2.10";
|
||||||
sha256 = "0jzmzvlpf6iba2fsc6cyi69vlaim9slqm2sapknmd7drl3gcn2zj";
|
sha256 = "0c3bi5r7sckzml44bqy0j1cd6l3xc29cdyf6rib52b5gmgrvcam2";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "BTCPayServer.Lightning.Charge";
|
name = "BTCPayServer.Lightning.Charge";
|
||||||
version = "1.2.3";
|
version = "1.2.5";
|
||||||
sha256 = "1rdrwmijx0v4z0xsq4acyvdcj7hv6arfh3hwjy89rqnkkznrzgwv";
|
sha256 = "02mf7yhr9lfy5368c5mn1wgxxka52f0s5vx31w97sdkpc5pivng5";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "BTCPayServer.Lightning.CLightning";
|
name = "BTCPayServer.Lightning.CLightning";
|
||||||
version = "1.2.3";
|
version = "1.2.6";
|
||||||
sha256 = "02197rh03q8d0mv40zf67wp1rd2gbxi5l8krd2rzj84n267bcfvc";
|
sha256 = "1p4bzbrd2d0izjd9q06mnagl31q50hpz5jla9gfja1bhn3xqvwsy";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "BTCPayServer.Lightning.Common";
|
name = "BTCPayServer.Lightning.Common";
|
||||||
version = "1.2.0";
|
version = "1.2.4";
|
||||||
sha256 = "17di8ndkw8z0ci0zk15mcrqpmganwkz9ys2snr2rqpw5mrlhpwa0";
|
sha256 = "1bdj1cdf6sirwm19hq1k2fmh2jiqkcyzrqms6q9d0wqba9xggwyn";
|
||||||
})
|
|
||||||
(fetchNuGet {
|
|
||||||
name = "BTCPayServer.Lightning.Common";
|
|
||||||
version = "1.2.2";
|
|
||||||
sha256 = "07xb7fsqvfjmcawxylriw60i73h0cvfb765aznhp9ffyrmjaql7z";
|
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "BTCPayServer.Lightning.Eclair";
|
name = "BTCPayServer.Lightning.Eclair";
|
||||||
version = "1.2.2";
|
version = "1.2.4";
|
||||||
sha256 = "03dymhwxb5s28kb187g5h4aysnz2xzml89p47nmwz9lkg2h4s73h";
|
sha256 = "1l68sc9g4ffsi1bbgrbbx8zmqw811hjq17761q1han9gsykl5rr1";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "BTCPayServer.Lightning.LND";
|
name = "BTCPayServer.Lightning.LND";
|
||||||
version = "1.2.4";
|
version = "1.2.6";
|
||||||
sha256 = "0qnj5rsp6hnybsr58zny9dfbsxksg1674q0z9944jwkzm7pcqyg4";
|
sha256 = "16wipkzzfrcjhi3whqxdfjq7qxnwjzf4gckpf1qjgdxbzggh6l3d";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "BTCPayServer.Lightning.Ptarmigan";
|
name = "BTCPayServer.Lightning.Ptarmigan";
|
||||||
version = "1.2.2";
|
version = "1.2.4";
|
||||||
sha256 = "17yl85vqfp7l12bv3f3w1b861hm41i7cfhs78gaq04s4drvcnj6k";
|
sha256 = "1j80m4pb3nn4dnqmxda13lp87pgviwxai456pki097rmc0vmqj83";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "BuildBundlerMinifier";
|
name = "BuildBundlerMinifier";
|
||||||
version = "3.2.435";
|
version = "3.2.449";
|
||||||
sha256 = "0y1p226dbvs7q2ngm9w4mpkhfrhw2y122plv1yff7lx5m84ia02l";
|
sha256 = "1dcjlfl5w2vfppx2hq3jj6xy24id2x3hcajwylhphlz9jw2bnhsv";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "BundlerMinifier.Core";
|
name = "BundlerMinifier.Core";
|
||||||
|
@ -761,18 +756,8 @@
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "NBitcoin.Altcoins";
|
name = "NBitcoin.Altcoins";
|
||||||
version = "2.0.31";
|
version = "3.0.3";
|
||||||
sha256 = "13gcfsxpfq8slmsvgzf6iv581x7n535zq0p9c88bqs5p88r6lygm";
|
sha256 = "0129mgnyyb55haz68d8z694g1q2rlc0qylx08d5qnfpq1r03cdqd";
|
||||||
})
|
|
||||||
(fetchNuGet {
|
|
||||||
name = "NBitcoin";
|
|
||||||
version = "5.0.33";
|
|
||||||
sha256 = "030q609b9lhapq4wfl1w3impjw5m40kz2rg1s9jn3bn8yjfmsi4a";
|
|
||||||
})
|
|
||||||
(fetchNuGet {
|
|
||||||
name = "NBitcoin";
|
|
||||||
version = "5.0.4";
|
|
||||||
sha256 = "04iafda61izzxb691brk72qs01m5dadqb4970nw5ayck6275s71i";
|
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "NBitcoin";
|
name = "NBitcoin";
|
||||||
|
@ -786,13 +771,18 @@
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "NBitcoin";
|
name = "NBitcoin";
|
||||||
version = "5.0.73";
|
version = "5.0.81";
|
||||||
sha256 = "0vqgcb0ws5fnkrdzqfkyh78041c6q4l22b93rr0006dd4bmqrmg1";
|
sha256 = "1fba94kc8yzykb1m5lvpx1hm63mpycpww9cz5zfp85phs1spdn8x";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "NBitcoin";
|
name = "NBitcoin";
|
||||||
version = "5.0.77";
|
version = "6.0.3";
|
||||||
sha256 = "0ykz4ii6lh6gdlz6z264wnib5pfnmq9q617qqbg0f04mq654jygb";
|
sha256 = "1kfq1q86844ssp8myy5vmvg33h3x0p9gqrlc99fl9gm1vzjc723f";
|
||||||
|
})
|
||||||
|
(fetchNuGet {
|
||||||
|
name = "NBitcoin";
|
||||||
|
version = "6.0.7";
|
||||||
|
sha256 = "0mk8n8isrrww0240x63rx3zx12nz5v08i3w62qp1n18mmdw3rdy6";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "NBitpayClient";
|
name = "NBitpayClient";
|
||||||
|
@ -801,8 +791,8 @@
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "NBXplorer.Client";
|
name = "NBXplorer.Client";
|
||||||
version = "3.0.21";
|
version = "4.0.3";
|
||||||
sha256 = "1asri2wsjq3ljf2p4r4x52ba9cirh8ccc5ysxpnv4cvladkdazbi";
|
sha256 = "0x9iggc5cyv06gnwnwrk3riv2j3g0833imdf3jx8ghmrxvim88b3";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "Nethereum.ABI";
|
name = "Nethereum.ABI";
|
||||||
|
@ -1116,8 +1106,8 @@
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "Selenium.WebDriver.ChromeDriver";
|
name = "Selenium.WebDriver.ChromeDriver";
|
||||||
version = "88.0.4324.9600";
|
version = "90.0.4430.2400";
|
||||||
sha256 = "0jm8dpfp329xsrg69lzq2m6x9yin1m43qgrhs15cz2qx9f02pdx9";
|
sha256 = "18gjm92nzzvxf0hk7c0nnabs0vmh6yyzq3m4si7p21m6xa3bqiga";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "Selenium.WebDriver";
|
name = "Selenium.WebDriver";
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "erigon";
|
pname = "erigon";
|
||||||
version = "2021.08.01";
|
version = "2021.08.02";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ledgerwatch";
|
owner = "ledgerwatch";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-fjMkCCeQa/IHB4yXlL7Qi8J9wtZm90l3xIA72LeoW8M=";
|
sha256 = "sha256-pyqvzpsDk24UEtSx4qmDew9zRK45pD5i4Qv1uJ03tmk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "1vsgd19an592dblm9afasmh8cd0x2frw5pvnxkxd2fikhy2mibbs";
|
vendorSha256 = "sha256-FwKlQH8vEtWNDql1pmHzKneIwmJ7cg5LYkETVswO6pc=";
|
||||||
runVend = true;
|
runVend = true;
|
||||||
|
|
||||||
# Build errors in mdbx when format hardening is enabled:
|
# Build errors in mdbx when format hardening is enabled:
|
||||||
|
|
|
@ -9,17 +9,17 @@ let
|
||||||
|
|
||||||
in buildGoModule rec {
|
in buildGoModule rec {
|
||||||
pname = "go-ethereum";
|
pname = "go-ethereum";
|
||||||
version = "1.10.6";
|
version = "1.10.7";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ethereum";
|
owner = "ethereum";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-4lapkoxSKdXlD6rmUxnlSKrfH+DeV6/wV05CqJjuzjA=";
|
sha256 = "sha256-P0+XPSpvVsjia21F3FIg7KO6Qe2ZbY90tM/dRwBBuBk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
runVend = true;
|
runVend = true;
|
||||||
vendorSha256 = "sha256-5qi01y0SIEI0WRYu2I2RN94QFS8rrlioFvnRqqp6wtk=";
|
vendorSha256 = "sha256-51jt5oBb/3avZnDRfo/NKAtZAU6QBFkzNdVxFnJ+erM=";
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
|
|
@ -5,16 +5,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "lightning-loop";
|
pname = "lightning-loop";
|
||||||
version = "0.14.2-beta";
|
version = "0.15.0-beta";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "lightninglabs";
|
owner = "lightninglabs";
|
||||||
repo = "loop";
|
repo = "loop";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "02ndln0n5k2pin9pngjcmn3wak761ml923111fyqb379zcfscrfv";
|
sha256 = "1yjc04jiam3836w7vn3b1jqj1dq1k8wwfnccir0vh29cn6v0cf63";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "1izdd9i4bqzmwagq0ilz2s37jajvzf1xwx3hmmbd1k3ss7mjm72r";
|
vendorSha256 = "0c3ly0s438sr9iql2ps4biaswphp7dfxshddyw5fcm0ajqzvhrmw";
|
||||||
|
|
||||||
subPackages = [ "cmd/loop" "cmd/loopd" ];
|
subPackages = [ "cmd/loop" "cmd/loopd" ];
|
||||||
|
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
pname = "lndmanage";
|
pname = "lndmanage";
|
||||||
version = "0.12.0";
|
version = "0.13.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "bitromortac";
|
owner = "bitromortac";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1p73wdxv3fca2ga4nqpjk5lig7bj2v230lh8niw490p5y7hhnggl";
|
sha256 = "1vnv03k2d11rw6mry6fmspiy3hqsza8y3daxnn4lp038gw1y0f4z";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = with python3Packages; [
|
propagatedBuildInputs = with python3Packages; [
|
||||||
|
|
|
@ -15,13 +15,13 @@ in
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "nbxplorer";
|
pname = "nbxplorer";
|
||||||
version = "2.1.52";
|
version = "2.1.58";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "dgarage";
|
owner = "dgarage";
|
||||||
repo = "NBXplorer";
|
repo = "NBXplorer";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-+BP71TQ8BTGZ/SbS7CrI4D7hcQaVLt+hCpInbOdU5GY=";
|
sha256 = "sha256-rhD0owLEx7WxZnGPNaq4QpZopMsFQDOTnA0fs539Wxg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ dotnetSdk dotnetPackages.Nuget makeWrapper ];
|
nativeBuildInputs = [ dotnetSdk dotnetPackages.Nuget makeWrapper ];
|
||||||
|
|
16
pkgs/applications/blockchains/nbxplorer/deps.nix
generated
16
pkgs/applications/blockchains/nbxplorer/deps.nix
generated
|
@ -181,23 +181,23 @@
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "NBitcoin.Altcoins";
|
name = "NBitcoin.Altcoins";
|
||||||
version = "2.0.33";
|
version = "3.0.3";
|
||||||
sha256 = "12r4w89247xzrl2g01iv13kg1wl7gzfz1zikimx6dyhr4iipbmgf";
|
sha256 = "0129mgnyyb55haz68d8z694g1q2rlc0qylx08d5qnfpq1r03cdqd";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "NBitcoin.TestFramework";
|
name = "NBitcoin.TestFramework";
|
||||||
version = "2.0.23";
|
version = "3.0.3";
|
||||||
sha256 = "03jw3gay7brm7s7jwn4zbk1n1sq7gck523cx3ckx87v3wi2062lx";
|
sha256 = "1j3ajj4jrwqzlhzhkg7vicwab0aq2y50x53rindd8cq09jxvzk62";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "NBitcoin";
|
name = "NBitcoin";
|
||||||
version = "5.0.78";
|
version = "6.0.6";
|
||||||
sha256 = "1mfn045l489bm2xgjhvddhfy4xxcy42q6jhq4nyd6fnxg4scxyg9";
|
sha256 = "1kf2rjrnh97zlh00affsv95f94bwgr2h7b00njqac4qgv9cac7sa";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "NBitcoin";
|
name = "NBitcoin";
|
||||||
version = "5.0.81";
|
version = "6.0.8";
|
||||||
sha256 = "1fba94kc8yzykb1m5lvpx1hm63mpycpww9cz5zfp85phs1spdn8x";
|
sha256 = "1f90zyrd35fzx0vgvd83jhd6hczd4037h2k198xiyxj04l4m3wm5";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "NETStandard.Library";
|
name = "NETStandard.Library";
|
||||||
|
|
|
@ -1,20 +1,28 @@
|
||||||
{ fetchFromGitHub, lib, rustPlatform }:
|
{ fetchFromGitHub, lib, rustPlatform, makeWrapper }:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "helix";
|
pname = "helix";
|
||||||
version = "0.3.0";
|
version = "0.4.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "helix-editor";
|
owner = "helix-editor";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
sha256 = "sha256-dI5yIP5uUmM9pyMpvvdrk8/0jE/REkU/m9BF081LwMU=";
|
sha256 = "sha256-iCNA+gZer6BycWnhosDFRuxfS6QAb06XTix/vFsaey0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "sha256-l3Ikr4IyUsHItJIC4BaIZZb6vio3bchumbbPI+nxIjQ=";
|
cargoSha256 = "sha256-sqXPgtLMXa3kMQlnw2xDBEsVfjeRXO6Zp6NEFS/0h20=";
|
||||||
|
|
||||||
cargoBuildFlags = [ "--features embed_runtime" ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
mkdir -p $out/lib
|
||||||
|
cp -r runtime $out/lib
|
||||||
|
'';
|
||||||
|
postFixup = ''
|
||||||
|
wrapProgram $out/bin/hx --set HELIX_RUNTIME $out/lib/runtime
|
||||||
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A post-modern modal text editor";
|
description = "A post-modern modal text editor";
|
||||||
|
|
|
@ -39,52 +39,57 @@ in lib.filterAttrs (n: v: v != null) checksums)"""
|
||||||
|
|
||||||
HEADER = "# This file has been generated by ./pkgs/applications/editors/kakoune/plugins/update.py. Do not edit!"
|
HEADER = "# This file has been generated by ./pkgs/applications/editors/kakoune/plugins/update.py. Do not edit!"
|
||||||
|
|
||||||
|
class KakouneEditor(pluginupdate.Editor):
|
||||||
|
|
||||||
def generate_nix(plugins: List[Tuple[str, str, pluginupdate.Plugin]], outfile: str):
|
|
||||||
sorted_plugins = sorted(plugins, key=lambda v: v[2].name.lower())
|
|
||||||
|
|
||||||
with open(outfile, "w+") as f:
|
def generate_nix(plugins: List[Tuple[str, str, pluginupdate.Plugin]], outfile: str):
|
||||||
f.write(HEADER)
|
sorted_plugins = sorted(plugins, key=lambda v: v[2].name.lower())
|
||||||
f.write(
|
|
||||||
"""
|
|
||||||
{ lib, buildKakounePluginFrom2Nix, fetchFromGitHub, overrides ? (self: super: {}) }:
|
|
||||||
let
|
|
||||||
packages = ( self:
|
|
||||||
{"""
|
|
||||||
)
|
|
||||||
for owner, repo, plugin in sorted_plugins:
|
|
||||||
if plugin.has_submodules:
|
|
||||||
submodule_attr = "\n fetchSubmodules = true;"
|
|
||||||
else:
|
|
||||||
submodule_attr = ""
|
|
||||||
|
|
||||||
|
with open(outfile, "w+") as f:
|
||||||
|
f.write(HEADER)
|
||||||
f.write(
|
f.write(
|
||||||
f"""
|
"""
|
||||||
{plugin.normalized_name} = buildKakounePluginFrom2Nix {{
|
{ lib, buildKakounePluginFrom2Nix, fetchFromGitHub, overrides ? (self: super: {}) }:
|
||||||
pname = "{plugin.normalized_name}";
|
let
|
||||||
version = "{plugin.version}";
|
packages = ( self:
|
||||||
src = fetchFromGitHub {{
|
{"""
|
||||||
owner = "{owner}";
|
|
||||||
repo = "{repo}";
|
|
||||||
rev = "{plugin.commit}";
|
|
||||||
sha256 = "{plugin.sha256}";{submodule_attr}
|
|
||||||
}};
|
|
||||||
meta.homepage = "https://github.com/{owner}/{repo}/";
|
|
||||||
}};
|
|
||||||
"""
|
|
||||||
)
|
)
|
||||||
f.write(
|
for owner, repo, plugin in sorted_plugins:
|
||||||
"""
|
if plugin.has_submodules:
|
||||||
});
|
submodule_attr = "\n fetchSubmodules = true;"
|
||||||
in lib.fix' (lib.extends overrides packages)
|
else:
|
||||||
"""
|
submodule_attr = ""
|
||||||
)
|
|
||||||
print(f"updated {outfile}")
|
f.write(
|
||||||
|
f"""
|
||||||
|
{plugin.normalized_name} = buildKakounePluginFrom2Nix {{
|
||||||
|
pname = "{plugin.normalized_name}";
|
||||||
|
version = "{plugin.version}";
|
||||||
|
src = fetchFromGitHub {{
|
||||||
|
owner = "{owner}";
|
||||||
|
repo = "{repo}";
|
||||||
|
rev = "{plugin.commit}";
|
||||||
|
sha256 = "{plugin.sha256}";{submodule_attr}
|
||||||
|
}};
|
||||||
|
meta.homepage = "https://github.com/{owner}/{repo}/";
|
||||||
|
}};
|
||||||
|
"""
|
||||||
|
)
|
||||||
|
f.write(
|
||||||
|
"""
|
||||||
|
});
|
||||||
|
in lib.fix' (lib.extends overrides packages)
|
||||||
|
"""
|
||||||
|
)
|
||||||
|
print(f"updated {outfile}")
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
editor = pluginupdate.Editor("kakoune", ROOT, GET_PLUGINS, generate_nix)
|
editor = KakouneEditor("kakoune", ROOT, GET_PLUGINS)
|
||||||
pluginupdate.update_plugins(editor)
|
parser = editor.create_parser()
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
pluginupdate.update_plugins(editor, args)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|
|
@ -10,14 +10,14 @@
|
||||||
|
|
||||||
python3Packages.buildPythonPackage rec {
|
python3Packages.buildPythonPackage rec {
|
||||||
pname = "hydrus";
|
pname = "hydrus";
|
||||||
version = "448";
|
version = "450";
|
||||||
format = "other";
|
format = "other";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "hydrusnetwork";
|
owner = "hydrusnetwork";
|
||||||
repo = "hydrus";
|
repo = "hydrus";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-h7FQRgxqXDEXDFRQEPeJUIbJYf9fs68oUQv5rCUS0zw=";
|
sha256 = "sha256-sMy5Yv7PGK3U/XnB8IrutSqSBiq1cfD6pAO5BxbWG5A=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
, qtbase
|
, qtbase
|
||||||
, qttools
|
, qttools
|
||||||
, qtsvg
|
, qtsvg
|
||||||
|
, qtimageformats
|
||||||
|
|
||||||
, exiv2
|
, exiv2
|
||||||
, opencv4
|
, opencv4
|
||||||
|
@ -46,6 +47,7 @@ mkDerivation rec {
|
||||||
buildInputs = [qtbase
|
buildInputs = [qtbase
|
||||||
qttools
|
qttools
|
||||||
qtsvg
|
qtsvg
|
||||||
|
qtimageformats
|
||||||
exiv2
|
exiv2
|
||||||
opencv4
|
opencv4
|
||||||
libraw
|
libraw
|
||||||
|
|
|
@ -11,17 +11,18 @@
|
||||||
, glib
|
, glib
|
||||||
, gtk3
|
, gtk3
|
||||||
, libgee
|
, libgee
|
||||||
, wrapGAppsHook }:
|
, wrapGAppsHook
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "appeditor";
|
pname = "appeditor";
|
||||||
version = "1.1.0";
|
version = "1.1.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "donadigo";
|
owner = "donadigo";
|
||||||
repo = "appeditor";
|
repo = "appeditor";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "04x2f4x4dp5ca2y3qllqjgirbyl6383pfl4bi9bkcqlg8b5081rg";
|
sha256 = "14ycw1b6v2sa4vljpnx2lpx4w89mparsxk6s8w3yx4dqjglcg5bp";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -41,11 +42,6 @@ stdenv.mkDerivation rec {
|
||||||
libgee
|
libgee
|
||||||
];
|
];
|
||||||
|
|
||||||
patches = [
|
|
||||||
# See: https://github.com/donadigo/appeditor/issues/88
|
|
||||||
./fix-build-vala-0.46.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
chmod +x meson/post_install.py
|
chmod +x meson/post_install.py
|
||||||
patchShebangs meson/post_install.py
|
patchShebangs meson/post_install.py
|
||||||
|
@ -62,6 +58,6 @@ stdenv.mkDerivation rec {
|
||||||
homepage = "https://github.com/donadigo/appeditor";
|
homepage = "https://github.com/donadigo/appeditor";
|
||||||
maintainers = with maintainers; [ xiorcale ] ++ pantheon.maintainers;
|
maintainers = with maintainers; [ xiorcale ] ++ pantheon.maintainers;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3Plus;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
diff --git a/src/DesktopApp.vala b/src/DesktopApp.vala
|
|
||||||
index 0e6fa47..ebcde0c 100644
|
|
||||||
--- a/src/DesktopApp.vala
|
|
||||||
+++ b/src/DesktopApp.vala
|
|
||||||
@@ -130,7 +130,7 @@ public class AppEditor.DesktopApp : Object {
|
|
||||||
|
|
||||||
public unowned string get_path () {
|
|
||||||
if (path == null) {
|
|
||||||
- unowned string _path = info.get_string (KeyFileDesktop.KEY_PATH);
|
|
||||||
+ string _path = info.get_string (KeyFileDesktop.KEY_PATH);
|
|
||||||
if (_path == null) {
|
|
||||||
_path = "";
|
|
||||||
}
|
|
||||||
@@ -150,7 +150,7 @@ public class AppEditor.DesktopApp : Object {
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool get_should_show () {
|
|
||||||
- return info.should_show () && !get_terminal ();
|
|
||||||
+ return info.should_show () && !get_terminal ();
|
|
||||||
}
|
|
||||||
|
|
||||||
public string[] get_categories () {
|
|
|
@ -26,11 +26,11 @@ let
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "blender";
|
pname = "blender";
|
||||||
version = "2.93.1";
|
version = "2.93.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.blender.org/source/${pname}-${version}.tar.xz";
|
url = "https://download.blender.org/source/${pname}-${version}.tar.xz";
|
||||||
sha256 = "sha256-IdriOBw/DlpH6B0GKqC1nKnhTZwrIL8U9hkMS20BHNg=";
|
sha256 = "sha256-nG1Kk6UtiCwsQBDz7VELcMRVEovS49QiO3haIpvSfu4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = lib.optional stdenv.isDarwin ./darwin.patch;
|
patches = lib.optional stdenv.isDarwin ./darwin.patch;
|
||||||
|
|
|
@ -87,6 +87,7 @@ mkDerivation rec {
|
||||||
feedparser
|
feedparser
|
||||||
html2text
|
html2text
|
||||||
html5-parser
|
html5-parser
|
||||||
|
jeepney
|
||||||
lxml
|
lxml
|
||||||
markdown
|
markdown
|
||||||
mechanize
|
mechanize
|
||||||
|
|
|
@ -3,12 +3,15 @@
|
||||||
let
|
let
|
||||||
pname = "chrysalis";
|
pname = "chrysalis";
|
||||||
version = "0.8.4";
|
version = "0.8.4";
|
||||||
in appimageTools.wrapType2 rec {
|
in appimageTools.wrapAppImage rec {
|
||||||
name = "${pname}-${version}-binary";
|
name = "${pname}-${version}-binary";
|
||||||
|
|
||||||
src = fetchurl {
|
src = appimageTools.extract {
|
||||||
url = "https://github.com/keyboardio/${pname}/releases/download/v${version}/${pname}-${version}.AppImage";
|
inherit name;
|
||||||
sha256 = "b41f3e23dac855b1588cff141e3d317f96baff929a0543c79fccee0c6f095bc7";
|
src = fetchurl {
|
||||||
|
url = "https://github.com/keyboardio/${pname}/releases/download/v${version}/${pname}-${version}.AppImage";
|
||||||
|
sha256 = "b41f3e23dac855b1588cff141e3d317f96baff929a0543c79fccee0c6f095bc7";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
profile = ''
|
profile = ''
|
||||||
|
@ -20,7 +23,18 @@ in appimageTools.wrapType2 rec {
|
||||||
p.glib
|
p.glib
|
||||||
];
|
];
|
||||||
|
|
||||||
extraInstallCommands = "mv $out/bin/${name} $out/bin/${pname}";
|
# Also expose the udev rules here, so it can be used as:
|
||||||
|
# services.udev.packages = [ pkgs.chrysalis ];
|
||||||
|
# to allow non-root modifications to the keyboards.
|
||||||
|
|
||||||
|
extraInstallCommands = ''
|
||||||
|
mv $out/bin/${name} $out/bin/${pname}
|
||||||
|
|
||||||
|
mkdir -p $out/lib/udev/rules.d
|
||||||
|
ln -s \
|
||||||
|
--target-directory=$out/lib/udev/rules.d \
|
||||||
|
${src}/resources/static/udev/60-kaleidoscope.rules
|
||||||
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A graphical configurator for Kaleidoscope-powered keyboards";
|
description = "A graphical configurator for Kaleidoscope-powered keyboards";
|
||||||
|
|
|
@ -34,31 +34,37 @@ let
|
||||||
qonlinetranslator = fetchFromGitHub {
|
qonlinetranslator = fetchFromGitHub {
|
||||||
owner = "crow-translate";
|
owner = "crow-translate";
|
||||||
repo = "QOnlineTranslator";
|
repo = "QOnlineTranslator";
|
||||||
rev = "1.4.1";
|
rev = "1.4.4";
|
||||||
sha256 = "1c6a8mdxms5vh8l7shi2kqdhafbzm50pbz6g1hhgg6qslla0vfn0";
|
sha256 = "sha256-ogO6ovkQmyvTUPCYAQ4U3AxOju9r3zHB9COnAAfKSKA=";
|
||||||
};
|
};
|
||||||
circleflags = fetchFromGitHub {
|
circleflags = fetchFromGitHub {
|
||||||
owner = "HatScripts";
|
owner = "HatScripts";
|
||||||
repo = "circle-flags";
|
repo = "circle-flags";
|
||||||
rev = "v2.0.0";
|
rev = "v2.1.0";
|
||||||
sha256 = "1xz5b6nhcxxzalcgwnw36npap71i70s50g6b63avjgjkwz1ys5j4";
|
sha256 = "sha256-E0iTDjicfdGqK4r+anUZanEII9SBafeEUcMLf7BGdp0=";
|
||||||
|
};
|
||||||
|
we10x = fetchFromGitHub {
|
||||||
|
owner = "yeyushengfan258";
|
||||||
|
repo = "We10X-icon-theme";
|
||||||
|
rev = "bd2c68482a06d38b2641503af1ca127b9e6540db";
|
||||||
|
sha256 = "sha256-T1oPstmjLffnVrIIlmTTpHv38nJHBBGJ070ilRwAjk8=";
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "crow-translate";
|
pname = "crow-translate";
|
||||||
version = "2.8.1";
|
version = "2.8.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "crow-translate";
|
owner = "crow-translate";
|
||||||
repo = "crow-translate";
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-fmlNUhNorV/MUdfdDXM6puAblTTa6p2slVT/EKy5THg=";
|
sha256 = "sha256-TPJgKTZqsh18BQGFWgp0wsw1ehtI8ydQ7ZCvYNX6pH8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
(substituteAll {
|
(substituteAll {
|
||||||
src = ./dont-fetch-external-libs.patch;
|
src = ./dont-fetch-external-libs.patch;
|
||||||
inherit singleapplication qtaskbarcontrol qhotkey qonlinetranslator circleflags;
|
inherit singleapplication qtaskbarcontrol qhotkey qonlinetranslator circleflags we10x;
|
||||||
})
|
})
|
||||||
(substituteAll {
|
(substituteAll {
|
||||||
# See https://github.com/NixOS/nixpkgs/issues/86054
|
# See https://github.com/NixOS/nixpkgs/issues/86054
|
||||||
|
@ -67,7 +73,10 @@ mkDerivation rec {
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = "cp -r ${circleflags}/flags/* data/icons";
|
postPatch = ''
|
||||||
|
cp -r ${circleflags}/flags/* data/icons
|
||||||
|
cp -r ${we10x}/src/* data/icons
|
||||||
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake extra-cmake-modules qttools ];
|
nativeBuildInputs = [ cmake extra-cmake-modules qttools ];
|
||||||
|
|
||||||
|
|
|
@ -1,26 +1,28 @@
|
||||||
diff --git i/CMakeLists.txt w/CMakeLists.txt
|
diff --git i/CMakeLists.txt w/CMakeLists.txt
|
||||||
index 2576203..26162a0 100644
|
index 0cd2140..16e3190 100644
|
||||||
--- i/CMakeLists.txt
|
--- i/CMakeLists.txt
|
||||||
+++ w/CMakeLists.txt
|
+++ w/CMakeLists.txt
|
||||||
@@ -91,12 +91,11 @@ qt5_add_translation(QM_FILES
|
@@ -97,13 +97,11 @@ qt5_add_translation(QM_FILES
|
||||||
)
|
)
|
||||||
|
|
||||||
configure_file(src/cmake.h.in cmake.h)
|
configure_file(src/cmake.h.in cmake.h)
|
||||||
-configure_file(data/icons/flags.qrc ${CircleFlags_SOURCE_DIR}/flags/flags.qrc COPYONLY)
|
-configure_file(data/icons/flags.qrc ${CircleFlags_SOURCE_DIR}/flags/flags.qrc COPYONLY)
|
||||||
|
-configure_file(data/icons/we10x.qrc ${We10X_SOURCE_DIR}/src/we10x.qrc COPYONLY)
|
||||||
|
|
||||||
add_executable(${PROJECT_NAME}
|
add_executable(${PROJECT_NAME}
|
||||||
${QM_FILES}
|
|
||||||
data/icons/engines/engines.qrc
|
|
||||||
- ${CircleFlags_SOURCE_DIR}/flags/flags.qrc
|
- ${CircleFlags_SOURCE_DIR}/flags/flags.qrc
|
||||||
+ data/icons/flags.qrc
|
+ data/icons/flags.qrc
|
||||||
|
${QM_FILES}
|
||||||
|
- ${We10X_SOURCE_DIR}/src/we10x.qrc
|
||||||
|
+ data/icons/we10x.qrc
|
||||||
|
data/icons/engines/engines.qrc
|
||||||
src/addlanguagedialog.cpp
|
src/addlanguagedialog.cpp
|
||||||
src/addlanguagedialog.ui
|
src/addlanguagedialog.ui
|
||||||
src/cli.cpp
|
|
||||||
diff --git i/cmake/ExternalLibraries.cmake w/cmake/ExternalLibraries.cmake
|
diff --git i/cmake/ExternalLibraries.cmake w/cmake/ExternalLibraries.cmake
|
||||||
index 21eba0a..b613d3e 100644
|
index d738716..fb01f3d 100644
|
||||||
--- i/cmake/ExternalLibraries.cmake
|
--- i/cmake/ExternalLibraries.cmake
|
||||||
+++ w/cmake/ExternalLibraries.cmake
|
+++ w/cmake/ExternalLibraries.cmake
|
||||||
@@ -2,29 +2,24 @@ include(FetchContent)
|
@@ -2,34 +2,28 @@ include(FetchContent)
|
||||||
|
|
||||||
set(QAPPLICATION_CLASS QApplication)
|
set(QAPPLICATION_CLASS QApplication)
|
||||||
FetchContent_Declare(SingleApplication
|
FetchContent_Declare(SingleApplication
|
||||||
|
@ -44,14 +46,20 @@ index 21eba0a..b613d3e 100644
|
||||||
|
|
||||||
FetchContent_Declare(QOnlineTranslator
|
FetchContent_Declare(QOnlineTranslator
|
||||||
- GIT_REPOSITORY https://github.com/crow-translate/QOnlineTranslator
|
- GIT_REPOSITORY https://github.com/crow-translate/QOnlineTranslator
|
||||||
- GIT_TAG 1.4.1
|
- GIT_TAG 1.4.4
|
||||||
+ SOURCE_DIR @qonlinetranslator@
|
+ SOURCE_DIR @qonlinetranslator@
|
||||||
)
|
)
|
||||||
|
|
||||||
FetchContent_Declare(CircleFlags
|
FetchContent_Declare(CircleFlags
|
||||||
- GIT_REPOSITORY https://github.com/HatScripts/circle-flags
|
- GIT_REPOSITORY https://github.com/HatScripts/circle-flags
|
||||||
- GIT_TAG v2.0.0
|
- GIT_TAG v2.1.0
|
||||||
+ SOURCE_DIR @circleflags@
|
+ SOURCE_DIR @circleflags@
|
||||||
)
|
)
|
||||||
|
|
||||||
FetchContent_MakeAvailable(SingleApplication QTaskbarControl QHotkey QOnlineTranslator CircleFlags)
|
FetchContent_Declare(We10X
|
||||||
|
- GIT_REPOSITORY https://github.com/yeyushengfan258/We10X-icon-theme
|
||||||
|
- GIT_TAG bd2c68482a06d38b2641503af1ca127b9e6540db
|
||||||
|
+ SOURCE_DIR @we10x@
|
||||||
|
)
|
||||||
|
|
||||||
|
FetchContent_MakeAvailable(SingleApplication QTaskbarControl QHotkey QOnlineTranslator CircleFlags We10X)
|
||||||
|
|
|
@ -5,13 +5,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "dasel";
|
pname = "dasel";
|
||||||
version = "1.17.0";
|
version = "1.18.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "TomWright";
|
owner = "TomWright";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-VZsYwsYec6Q9T8xkb60F0CvPVFd2WJgyOfegm5GuN8c=";
|
sha256 = "sha256-wp5GrOchNvGfQN9trcaq2hnhIHQ+W7zolvCzhCRDSqw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-BdX4DO77mIf/+aBdkNVFUzClsIml1UMcgvikDbbdgcY=";
|
vendorSha256 = "sha256-BdX4DO77mIf/+aBdkNVFUzClsIml1UMcgvikDbbdgcY=";
|
||||||
|
|
|
@ -18,13 +18,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "dbeaver";
|
pname = "dbeaver";
|
||||||
version = "21.1.2"; # When updating also update fetchedMavenDeps.sha256
|
version = "21.1.4"; # When updating also update fetchedMavenDeps.sha256
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "dbeaver";
|
owner = "dbeaver";
|
||||||
repo = "dbeaver";
|
repo = "dbeaver";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-3q5LTllyqw7s8unJHTuasBCM4iaJ9lLpwgbXwBGUtIw=";
|
sha256 = "jW4ZSHnjBHckfbcvhl+uTuNJb1hu77D6dzoSTA6y8l4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
fetchedMavenDeps = stdenv.mkDerivation {
|
fetchedMavenDeps = stdenv.mkDerivation {
|
||||||
|
@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
|
||||||
dontFixup = true;
|
dontFixup = true;
|
||||||
outputHashAlgo = "sha256";
|
outputHashAlgo = "sha256";
|
||||||
outputHashMode = "recursive";
|
outputHashMode = "recursive";
|
||||||
outputHash = "sha256-QPDnIXP3yB1Dn0LBbBBLvRDbCyguWvG9Zzb1Vjh72UA=";
|
outputHash = "1K3GvNUT+zC7e8pD15UUCHDRWD7dtxtl8MfAJIsuaYs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -150,6 +150,6 @@ stdenv.mkDerivation rec {
|
||||||
'';
|
'';
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" ];
|
platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" ];
|
||||||
maintainers = with maintainers; [ jojosch ];
|
maintainers = with maintainers; [ jojosch mkg20001 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
pname = "etesync-dav";
|
pname = "etesync-dav";
|
||||||
version = "0.30.7";
|
version = "0.30.8";
|
||||||
|
|
||||||
src = python3Packages.fetchPypi {
|
src = python3Packages.fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "16b3105834dd6d9e374e976cad0978e1acfed0f0328c5054bc214550aea3e2c5";
|
sha256 = "sha256-HBLQsq3B6TMdcnUt8ukbk3+S0Ed44+gePkpuGZ2AyC4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = with python3Packages; [
|
propagatedBuildInputs = with python3Packages; [
|
||||||
|
|
|
@ -1,36 +0,0 @@
|
||||||
{ fetchurl, lib, stdenv, dpkg, makeWrapper, openssl }:
|
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
version = "8.2";
|
|
||||||
pname = "minergate-cli";
|
|
||||||
src = fetchurl {
|
|
||||||
url = "https://minergate.com/download/ubuntu-cli";
|
|
||||||
sha256 = "393c5ba236f6f92c449496fcda9509f4bfd3887422df98ffa59b3072124a99d8";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [ dpkg makeWrapper ];
|
|
||||||
|
|
||||||
phases = [ "installPhase" ];
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
dpkg-deb -x $src $out
|
|
||||||
pgm=$out/opt/minergate-cli/minergate-cli
|
|
||||||
|
|
||||||
interpreter=${stdenv.glibc}/lib/ld-linux-x86-64.so.2
|
|
||||||
patchelf --set-interpreter "$interpreter" $pgm
|
|
||||||
|
|
||||||
wrapProgram $pgm --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ openssl stdenv.cc.cc ]}
|
|
||||||
|
|
||||||
rm $out/usr/bin/minergate-cli
|
|
||||||
mkdir -p $out/bin
|
|
||||||
ln -s $pgm $out/bin
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "Minergate CPU/GPU console client mining software";
|
|
||||||
homepage = "https://www.minergate.com/";
|
|
||||||
license = licenses.unfree;
|
|
||||||
maintainers = with maintainers; [ bfortz ];
|
|
||||||
platforms = [ "x86_64-linux" ];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,36 +0,0 @@
|
||||||
{ fetchurl, lib, stdenv, dpkg, makeWrapper, fontconfig, freetype, openssl, xorg, xkeyboard_config }:
|
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
version = "8.1";
|
|
||||||
pname = "minergate";
|
|
||||||
src = fetchurl {
|
|
||||||
url = "https://minergate.com/download/ubuntu";
|
|
||||||
sha256 = "1dbbbb8e0735cde239fca9e82c096dcc882f6cecda20bba7c14720a614c16e13";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [ dpkg makeWrapper ];
|
|
||||||
|
|
||||||
phases = [ "installPhase" ];
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
dpkg-deb -x $src $out
|
|
||||||
pgm=$out/opt/minergate/minergate
|
|
||||||
|
|
||||||
interpreter=${stdenv.glibc}/lib/ld-linux-x86-64.so.2
|
|
||||||
patchelf --set-interpreter "$interpreter" $pgm
|
|
||||||
|
|
||||||
wrapProgram $pgm --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ fontconfig freetype openssl stdenv.cc.cc xorg.libX11 xorg.libxcb ]} --prefix "QT_XKB_CONFIG_ROOT" ":" "${xkeyboard_config}/share/X11/xkb"
|
|
||||||
|
|
||||||
rm $out/usr/bin/minergate
|
|
||||||
mkdir -p $out/bin
|
|
||||||
ln -s $out/opt/minergate/minergate $out/bin
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "Minergate CPU/GPU mining software";
|
|
||||||
homepage = "https://www.minergate.com/";
|
|
||||||
license = licenses.unfree;
|
|
||||||
maintainers = with maintainers; [ bfortz ];
|
|
||||||
platforms = [ "x86_64-linux" ];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -19,6 +19,8 @@ stdenv.mkDerivation rec {
|
||||||
preInstall = ''
|
preInstall = ''
|
||||||
substituteInPlace unipicker --replace "/etc/unipickerrc" "$out/etc/unipickerrc"
|
substituteInPlace unipicker --replace "/etc/unipickerrc" "$out/etc/unipickerrc"
|
||||||
substituteInPlace unipickerrc --replace "/usr/local" "$out"
|
substituteInPlace unipickerrc --replace "/usr/local" "$out"
|
||||||
|
substituteInPlace unipicker --replace "fzf" "${fzf}/bin/fzf"
|
||||||
|
substituteInPlace unipickerrc --replace "fzf" "${fzf}/bin/fzf"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
makeFlags = [
|
makeFlags = [
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
{ lib, stdenv, fetchurl, dpkg, wrapGAppsHook, autoPatchelfHook
|
{ lib, stdenv, fetchurl, dpkg, wrapGAppsHook, autoPatchelfHook
|
||||||
, alsa-lib, atk, at-spi2-atk, at-spi2-core, cairo, cups, dbus, expat, fontconfig, freetype
|
, alsa-lib, atk, at-spi2-atk, at-spi2-core, cairo, cups, dbus, expat, fontconfig, freetype
|
||||||
, gdk-pixbuf, glib, gtk3, libnotify, libX11, libXcomposite, libXcursor, libXdamage, libuuid
|
, gdk-pixbuf, glib, gtk3, libcxx, libdrm, libnotify, libpulseaudio, libuuid, libX11, libxcb
|
||||||
, libXext, libXfixes, libXi, libXrandr, libXrender, libXtst, nspr, nss, libxcb
|
, libXcomposite, libXcursor, libXdamage, libXext, libXfixes, libXi, libXrandr, libXrender
|
||||||
, pango, systemd, libXScrnSaver, libcxx, libpulseaudio }:
|
, libXScrnSaver, libXtst, mesa, nspr, nss, pango, systemd }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "upwork";
|
pname = "upwork";
|
||||||
version = "5.5.0.11";
|
version = "5.6.7.13";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://upwork-usw2-desktopapp.upwork.com/binaries/v5_5_0_11_61df9c99b6df4e7b/${pname}_${version}_amd64.deb";
|
url = "https://upwork-usw2-desktopapp.upwork.com/binaries/v5_6_7_13_9f0e0a44a59e4331/${pname}_${version}_amd64.deb";
|
||||||
sha256 = "db83d5fb1b5383992c6156284f6f3cd3a6b23f727ce324ba90c82817553fb4f7";
|
sha256 = "f1d3168cda47f77100192ee97aa629e2452fe62fb364dd59ad361adbc0d1da87";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontWrapGApps = true;
|
dontWrapGApps = true;
|
||||||
|
@ -23,10 +23,10 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
libcxx systemd libpulseaudio
|
libcxx systemd libpulseaudio
|
||||||
stdenv.cc.cc alsa-lib atk at-spi2-atk at-spi2-core cairo cups dbus expat fontconfig freetype
|
stdenv.cc.cc alsa-lib atk at-spi2-atk at-spi2-core cairo cups
|
||||||
gdk-pixbuf glib gtk3 libnotify libX11 libXcomposite libuuid
|
dbus expat fontconfig freetype gdk-pixbuf glib gtk3 libdrm libnotify
|
||||||
libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender
|
libuuid libX11 libxcb libXcomposite libXcursor libXdamage libXext libXfixes
|
||||||
libXtst nspr nss libxcb pango systemd libXScrnSaver
|
libXi libXrandr libXrender libXScrnSaver libXtst mesa nspr nss pango systemd
|
||||||
];
|
];
|
||||||
|
|
||||||
libPath = lib.makeLibraryPath buildInputs;
|
libPath = lib.makeLibraryPath buildInputs;
|
||||||
|
@ -40,7 +40,6 @@ stdenv.mkDerivation rec {
|
||||||
mv usr $out
|
mv usr $out
|
||||||
mv opt $out
|
mv opt $out
|
||||||
sed -e "s|/opt/Upwork|$out/bin|g" -i $out/share/applications/upwork.desktop
|
sed -e "s|/opt/Upwork|$out/bin|g" -i $out/share/applications/upwork.desktop
|
||||||
|
|
||||||
makeWrapper $out/opt/Upwork/upwork \
|
makeWrapper $out/opt/Upwork/upwork \
|
||||||
$out/bin/upwork \
|
$out/bin/upwork \
|
||||||
--prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
|
--prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "asuka";
|
pname = "asuka";
|
||||||
version = "0.8.1";
|
version = "0.8.3";
|
||||||
|
|
||||||
src = fetchFromSourcehut {
|
src = fetchFromSourcehut {
|
||||||
owner = "~julienxx";
|
owner = "~julienxx";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "1y8v4qc5dng3v9k0bky1xlf3qi9pk2vdsi29lff4ha5310467f0k";
|
sha256 = "sha256-l3SgIyApASllHVhAc2yoUYc2x7QtCdzBrMYaXCp65m8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "0b8wf12bjsy334g04sv3knw8f177xsmh7lrkyvx9gnn0fax0lmnr";
|
cargoSha256 = "sha256-twECZM1KcWeQptLhlKlIz16r3Q/xMb0e+lBG+EX79mU=";
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [ pkg-config ];
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,8 @@ mkChromiumDerivation (base: rec {
|
||||||
cp -v "$buildPath/"*.so "$buildPath/"*.pak "$buildPath/"*.bin "$libExecPath/"
|
cp -v "$buildPath/"*.so "$buildPath/"*.pak "$buildPath/"*.bin "$libExecPath/"
|
||||||
cp -v "$buildPath/icudtl.dat" "$libExecPath/"
|
cp -v "$buildPath/icudtl.dat" "$libExecPath/"
|
||||||
cp -vLR "$buildPath/locales" "$buildPath/resources" "$libExecPath/"
|
cp -vLR "$buildPath/locales" "$buildPath/resources" "$libExecPath/"
|
||||||
cp -v "$buildPath/crashpad_handler" "$libExecPath/"
|
${lib.optionalString (channel != "dev") ''cp -v "$buildPath/crashpad_handler" "$libExecPath/"''}
|
||||||
|
${lib.optionalString (channel == "dev") ''cp -v "$buildPath/chrome_crashpad_handler" "$libExecPath/"''}
|
||||||
cp -v "$buildPath/chrome" "$libExecPath/$packageName"
|
cp -v "$buildPath/chrome" "$libExecPath/$packageName"
|
||||||
|
|
||||||
# Swiftshader
|
# Swiftshader
|
||||||
|
|
|
@ -1,40 +1,49 @@
|
||||||
{ stdenv, lib, llvmPackages, gnChromium, ninja, which, nodejs, fetchpatch, fetchurl
|
{ stdenv, lib, fetchurl, fetchpatch
|
||||||
|
# Channel data:
|
||||||
|
, channel, upstream-info
|
||||||
|
|
||||||
# default dependencies
|
# Native build inputs:
|
||||||
, gnutar, bzip2, flac, speex, libopus
|
, ninja, pkg-config
|
||||||
|
, python2, python3, perl
|
||||||
|
, gnutar, which
|
||||||
|
, llvmPackages
|
||||||
|
# postPatch:
|
||||||
|
, pkgsBuildHost
|
||||||
|
# configurePhase:
|
||||||
|
, gnChromium
|
||||||
|
|
||||||
|
# Build inputs:
|
||||||
|
, libpng
|
||||||
|
, bzip2, flac, speex, libopus
|
||||||
, libevent, expat, libjpeg, snappy
|
, libevent, expat, libjpeg, snappy
|
||||||
, libpng, libcap
|
, libcap
|
||||||
, xdg-utils, yasm, nasm, minizip, libwebp
|
, xdg-utils, minizip, libwebp
|
||||||
, libusb1, pciutils, nss, re2
|
, libusb1, re2
|
||||||
|
, ffmpeg, libxslt, libxml2
|
||||||
, python2, python3, perl, pkg-config
|
, nasm
|
||||||
, nspr, systemd, libkrb5
|
, nspr, nss, systemd
|
||||||
, util-linux, alsa-lib
|
, util-linux, alsa-lib
|
||||||
, bison, gperf
|
, bison, gperf, libkrb5
|
||||||
, glib, gtk3, dbus-glib
|
, glib, gtk3, dbus-glib
|
||||||
, glibc
|
|
||||||
, libXScrnSaver, libXcursor, libXtst, libxshmfence, libGLU, libGL
|
, libXScrnSaver, libXcursor, libXtst, libxshmfence, libGLU, libGL
|
||||||
, protobuf, speechd, libXdamage, cups
|
, mesa
|
||||||
, ffmpeg, libxslt, libxml2, at-spi2-core
|
, pciutils, protobuf, speechd, libXdamage, at-spi2-core
|
||||||
, jre8
|
|
||||||
, pipewire
|
, pipewire
|
||||||
, libva
|
, libva
|
||||||
, libdrm, wayland, mesa, libxkbcommon # Ozone
|
, libdrm, wayland, libxkbcommon # Ozone
|
||||||
, curl
|
, curl
|
||||||
|
# postPatch:
|
||||||
|
, glibc # gconv + locale
|
||||||
|
|
||||||
# optional dependencies
|
# Package customization:
|
||||||
, libgcrypt ? null # gnomeSupport || cupsSupport
|
|
||||||
|
|
||||||
# package customization
|
|
||||||
, gnomeSupport ? false, gnome2 ? null
|
, gnomeSupport ? false, gnome2 ? null
|
||||||
, gnomeKeyringSupport ? false, libgnome-keyring3 ? null
|
, gnomeKeyringSupport ? false, libgnome-keyring3 ? null
|
||||||
|
, cupsSupport ? true, cups ? null
|
||||||
, proprietaryCodecs ? true
|
, proprietaryCodecs ? true
|
||||||
, cupsSupport ? true
|
|
||||||
, pulseSupport ? false, libpulseaudio ? null
|
, pulseSupport ? false, libpulseaudio ? null
|
||||||
, ungoogled ? false, ungoogled-chromium
|
, ungoogled ? false, ungoogled-chromium
|
||||||
|
# Optional dependencies:
|
||||||
, channel
|
, libgcrypt ? null # gnomeSupport || cupsSupport
|
||||||
, upstream-info
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildFun:
|
buildFun:
|
||||||
|
@ -91,17 +100,6 @@ let
|
||||||
withCustomModes = true;
|
withCustomModes = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
defaultDependencies = [
|
|
||||||
(libpng.override { apngSupport = false; }) # https://bugs.chromium.org/p/chromium/issues/detail?id=752403
|
|
||||||
bzip2 flac speex opusWithCustomModes
|
|
||||||
libevent expat libjpeg snappy
|
|
||||||
libcap
|
|
||||||
xdg-utils minizip libwebp
|
|
||||||
libusb1 re2
|
|
||||||
ffmpeg libxslt libxml2
|
|
||||||
nasm
|
|
||||||
];
|
|
||||||
|
|
||||||
# build paths and release info
|
# build paths and release info
|
||||||
packageName = extraAttrs.packageName or extraAttrs.name;
|
packageName = extraAttrs.packageName or extraAttrs.name;
|
||||||
buildType = "Release";
|
buildType = "Release";
|
||||||
|
@ -136,12 +134,20 @@ let
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
ninja pkg-config
|
ninja pkg-config
|
||||||
python2WithPackages python3WithPackages perl nodejs
|
python2WithPackages python3WithPackages perl
|
||||||
gnutar which
|
gnutar which
|
||||||
llvmPackages.bintools
|
llvmPackages.bintools
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = defaultDependencies ++ [
|
buildInputs = [
|
||||||
|
(libpng.override { apngSupport = false; }) # https://bugs.chromium.org/p/chromium/issues/detail?id=752403
|
||||||
|
bzip2 flac speex opusWithCustomModes
|
||||||
|
libevent expat libjpeg snappy
|
||||||
|
libcap
|
||||||
|
xdg-utils minizip libwebp
|
||||||
|
libusb1 re2
|
||||||
|
ffmpeg libxslt libxml2
|
||||||
|
nasm
|
||||||
nspr nss systemd
|
nspr nss systemd
|
||||||
util-linux alsa-lib
|
util-linux alsa-lib
|
||||||
bison gperf libkrb5
|
bison gperf libkrb5
|
||||||
|
@ -153,14 +159,16 @@ let
|
||||||
libva
|
libva
|
||||||
libdrm wayland mesa.drivers libxkbcommon
|
libdrm wayland mesa.drivers libxkbcommon
|
||||||
curl
|
curl
|
||||||
] ++ optional gnomeKeyringSupport libgnome-keyring3
|
] ++ optionals gnomeSupport [ gnome2.GConf libgcrypt ]
|
||||||
++ optionals gnomeSupport [ gnome2.GConf libgcrypt ]
|
++ optional gnomeKeyringSupport libgnome-keyring3
|
||||||
++ optionals cupsSupport [ libgcrypt cups ]
|
++ optionals cupsSupport [ libgcrypt cups ]
|
||||||
++ optional pulseSupport libpulseaudio;
|
++ optional pulseSupport libpulseaudio;
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./patches/no-build-timestamps.patch # Optional patch to use SOURCE_DATE_EPOCH in compute_build_timestamp.py (should be upstreamed)
|
# Optional patch to use SOURCE_DATE_EPOCH in compute_build_timestamp.py (should be upstreamed):
|
||||||
./patches/widevine-79.patch # For bundling Widevine (DRM), might be replaceable via bundle_widevine_cdm=true in gnFlags
|
./patches/no-build-timestamps.patch
|
||||||
|
# For bundling Widevine (DRM), might be replaceable via bundle_widevine_cdm=true in gnFlags:
|
||||||
|
./patches/widevine-79.patch
|
||||||
# Fix the build by adding a missing dependency (s. https://crbug.com/1197837):
|
# Fix the build by adding a missing dependency (s. https://crbug.com/1197837):
|
||||||
./patches/fix-missing-atspi2-dependency.patch
|
./patches/fix-missing-atspi2-dependency.patch
|
||||||
] ++ lib.optionals (versionRange "91" "94.0.4583.0") [
|
] ++ lib.optionals (versionRange "91" "94.0.4583.0") [
|
||||||
|
@ -176,14 +184,6 @@ let
|
||||||
commit = "60d5e803ef2a4874d29799b638754152285e0ed9";
|
commit = "60d5e803ef2a4874d29799b638754152285e0ed9";
|
||||||
sha256 = "0apmsqqlfxprmdmi3qzp3kr9jc52mcc4xzps206kwr8kzwv48b70";
|
sha256 = "0apmsqqlfxprmdmi3qzp3kr9jc52mcc4xzps206kwr8kzwv48b70";
|
||||||
})
|
})
|
||||||
] ++ lib.optionals (chromiumVersionAtLeast "93") [
|
|
||||||
# We need to revert this patch to build M93 with LLVM 12.
|
|
||||||
(githubPatch {
|
|
||||||
# Reland "Replace 'blacklist' with 'ignorelist' in ./tools/msan/."
|
|
||||||
commit = "9d080c0934b848ee4a05013c78641e612fcc1e03";
|
|
||||||
sha256 = "1bxdhxmiy6h4acq26lq43x2mxx6rawmfmlgsh5j7w8kyhkw5af0c";
|
|
||||||
revert = true;
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
@ -239,8 +239,8 @@ let
|
||||||
patchShebangs .
|
patchShebangs .
|
||||||
# Link to our own Node.js and Java (required during the build):
|
# Link to our own Node.js and Java (required during the build):
|
||||||
mkdir -p third_party/node/linux/node-linux-x64/bin
|
mkdir -p third_party/node/linux/node-linux-x64/bin
|
||||||
ln -s "$(command -v node)" third_party/node/linux/node-linux-x64/bin/node
|
ln -s "${pkgsBuildHost.nodejs}/bin/node" third_party/node/linux/node-linux-x64/bin/node
|
||||||
ln -s "${jre8}/bin/java" third_party/jdk/current/bin/
|
ln -s "${pkgsBuildHost.jre8}/bin/java" third_party/jdk/current/bin/
|
||||||
|
|
||||||
# Allow building against system libraries in official builds
|
# Allow building against system libraries in official builds
|
||||||
sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' tools/generate_shim_headers/generate_shim_headers.py
|
sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' tools/generate_shim_headers/generate_shim_headers.py
|
||||||
|
@ -272,9 +272,9 @@ let
|
||||||
google_api_key = "AIzaSyDGi15Zwl11UNe6Y-5XW_upsfyw31qwZPI";
|
google_api_key = "AIzaSyDGi15Zwl11UNe6Y-5XW_upsfyw31qwZPI";
|
||||||
|
|
||||||
# Optional features:
|
# Optional features:
|
||||||
use_cups = cupsSupport;
|
|
||||||
use_gio = gnomeSupport;
|
use_gio = gnomeSupport;
|
||||||
use_gnome_keyring = gnomeKeyringSupport;
|
use_gnome_keyring = gnomeKeyringSupport;
|
||||||
|
use_cups = cupsSupport;
|
||||||
|
|
||||||
# Feature overrides:
|
# Feature overrides:
|
||||||
# Native Client support was deprecated in 2020 and support will end in June 2021:
|
# Native Client support was deprecated in 2020 and support will end in June 2021:
|
||||||
|
|
|
@ -38,7 +38,7 @@ let
|
||||||
inherit (upstream-info.deps.gn) url rev sha256;
|
inherit (upstream-info.deps.gn) url rev sha256;
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
} // lib.optionalAttrs (lib.versionAtLeast upstream-info.version "94") rec {
|
} // lib.optionalAttrs (lib.versionAtLeast upstream-info.version "93") rec {
|
||||||
llvmPackages = llvmPackages_13;
|
llvmPackages = llvmPackages_13;
|
||||||
stdenv = llvmPackages.stdenv;
|
stdenv = llvmPackages.stdenv;
|
||||||
});
|
});
|
||||||
|
|
|
@ -18,9 +18,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"beta": {
|
"beta": {
|
||||||
"version": "93.0.4577.25",
|
"version": "93.0.4577.42",
|
||||||
"sha256": "09v7wyy9xwrpzmsa030j8jjww30jps3lbvlq4bzppdg04fk6rbsn",
|
"sha256": "180lywcimhlcwbxmn37814hd96bqnqrp3whbzv6ln3hwca2da4hl",
|
||||||
"sha256bin64": "1l86aqym4dxsrp81ppv5cwyki4wnh7cpqy4dw88kdxgqbiwwii27",
|
"sha256bin64": "19px9h9vf9p2ipirv8ryaxvhfkls0nfiw7jz1d4h61r3r6ay5fc4",
|
||||||
"deps": {
|
"deps": {
|
||||||
"gn": {
|
"gn": {
|
||||||
"version": "2021-07-08",
|
"version": "2021-07-08",
|
||||||
|
@ -31,9 +31,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dev": {
|
"dev": {
|
||||||
"version": "94.0.4595.0",
|
"version": "94.0.4603.0",
|
||||||
"sha256": "0ksd7vqpbiplbg2xpm566z7p7qp57r27a3pk6ss1qz8v18490092",
|
"sha256": "1mhb7y7mhjbi5m79izcqvc6pjmgxvlk9vvr273k29gr2zq2m2fv3",
|
||||||
"sha256bin64": "1kibyhgwcgby3hnhjdg2vrgbj4dvvbicqlcj4id9761zw1jhz8r4",
|
"sha256bin64": "1rqprc2vkyygwwwjk25xa2av30bqbx5dzs6nwhnzsdqwic5wdbbz",
|
||||||
"deps": {
|
"deps": {
|
||||||
"gn": {
|
"gn": {
|
||||||
"version": "2021-07-31",
|
"version": "2021-07-31",
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{ pname, ffversion, meta, updateScript ? null
|
{ pname, version, meta, updateScript ? null
|
||||||
|
, binaryName ? "firefox", application ? "browser"
|
||||||
, src, unpackPhase ? null, patches ? []
|
, src, unpackPhase ? null, patches ? []
|
||||||
, extraNativeBuildInputs ? [], extraConfigureFlags ? [], extraMakeFlags ? [], tests ? [] }:
|
, extraNativeBuildInputs ? [], extraConfigureFlags ? [], extraMakeFlags ? [], tests ? [] }:
|
||||||
|
|
||||||
|
@ -81,17 +82,16 @@ let
|
||||||
default-toolkit = if stdenv.isDarwin then "cairo-cocoa"
|
default-toolkit = if stdenv.isDarwin then "cairo-cocoa"
|
||||||
else "cairo-gtk3${lib.optionalString waylandSupport "-wayland"}";
|
else "cairo-gtk3${lib.optionalString waylandSupport "-wayland"}";
|
||||||
|
|
||||||
binaryName = "firefox";
|
|
||||||
binaryNameCapitalized = lib.toUpper (lib.substring 0 1 binaryName) + lib.substring 1 (-1) binaryName;
|
binaryNameCapitalized = lib.toUpper (lib.substring 0 1 binaryName) + lib.substring 1 (-1) binaryName;
|
||||||
|
|
||||||
browserName = if stdenv.isDarwin then binaryNameCapitalized else binaryName;
|
applicationName = if stdenv.isDarwin then binaryNameCapitalized else binaryName;
|
||||||
|
|
||||||
execdir = if stdenv.isDarwin
|
execdir = if stdenv.isDarwin
|
||||||
then "/Applications/${binaryNameCapitalized}.app/Contents/MacOS"
|
then "/Applications/${binaryNameCapitalized}.app/Contents/MacOS"
|
||||||
else "/bin";
|
else "/bin";
|
||||||
|
|
||||||
# 78 ESR won't build with rustc 1.47
|
# 78 ESR won't build with rustc 1.47
|
||||||
inherit (if lib.versionAtLeast ffversion "82" then rustPackages else rustPackages_1_45)
|
inherit (if lib.versionAtLeast version "82" then rustPackages else rustPackages_1_45)
|
||||||
rustc cargo;
|
rustc cargo;
|
||||||
|
|
||||||
# Darwin's stdenv provides the default llvmPackages version, match that since
|
# Darwin's stdenv provides the default llvmPackages version, match that since
|
||||||
|
@ -118,7 +118,7 @@ let
|
||||||
|
|
||||||
# Disable p11-kit support in nss until our cacert packages has caught up exposing CKA_NSS_MOZILLA_CA_POLICY
|
# Disable p11-kit support in nss until our cacert packages has caught up exposing CKA_NSS_MOZILLA_CA_POLICY
|
||||||
# https://github.com/NixOS/nixpkgs/issues/126065
|
# https://github.com/NixOS/nixpkgs/issues/126065
|
||||||
nss_pkg = if lib.versionOlder ffversion "83" then nss_3_53 else nss.override { useP11kit = false; };
|
nss_pkg = if lib.versionOlder version "83" then nss_3_53 else nss.override { useP11kit = false; };
|
||||||
|
|
||||||
# --enable-release adds -ffunction-sections & LTO that require a big amount of
|
# --enable-release adds -ffunction-sections & LTO that require a big amount of
|
||||||
# RAM and the 32-bit memory space cannot handle that linking
|
# RAM and the 32-bit memory space cannot handle that linking
|
||||||
|
@ -129,26 +129,26 @@ let
|
||||||
in
|
in
|
||||||
|
|
||||||
buildStdenv.mkDerivation ({
|
buildStdenv.mkDerivation ({
|
||||||
name = "${pname}-unwrapped-${ffversion}";
|
name = "${pname}-unwrapped-${version}";
|
||||||
version = ffversion;
|
inherit version;
|
||||||
|
|
||||||
inherit src unpackPhase meta;
|
inherit src unpackPhase meta;
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
] ++
|
] ++
|
||||||
lib.optional (lib.versionOlder ffversion "86") ./env_var_for_system_dir-ff85.patch ++
|
lib.optional (lib.versionOlder version "86") ./env_var_for_system_dir-ff85.patch ++
|
||||||
lib.optional (lib.versionAtLeast ffversion "86") ./env_var_for_system_dir-ff86.patch ++
|
lib.optional (lib.versionAtLeast version "86") ./env_var_for_system_dir-ff86.patch ++
|
||||||
lib.optional (lib.versionOlder ffversion "83") ./no-buildconfig-ffx76.patch ++
|
lib.optional (lib.versionOlder version "83") ./no-buildconfig-ffx76.patch ++
|
||||||
lib.optional (lib.versionAtLeast ffversion "90") ./no-buildconfig-ffx90.patch ++
|
lib.optional (lib.versionAtLeast version "90") ./no-buildconfig-ffx90.patch ++
|
||||||
lib.optional (ltoSupport && lib.versionOlder ffversion "84") ./lto-dependentlibs-generation-ffx83.patch ++
|
lib.optional (ltoSupport && lib.versionOlder version "84") ./lto-dependentlibs-generation-ffx83.patch ++
|
||||||
lib.optional (ltoSupport && lib.versionAtLeast ffversion "84" && lib.versionOlder ffversion "86")
|
lib.optional (ltoSupport && lib.versionAtLeast version "84" && lib.versionOlder version "86")
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
url = "https://hg.mozilla.org/mozilla-central/raw-rev/fdff20c37be3";
|
url = "https://hg.mozilla.org/mozilla-central/raw-rev/fdff20c37be3";
|
||||||
sha256 = "135n9brliqy42lj3nqgb9d9if7x6x9nvvn0z4anbyf89bikixw48";
|
sha256 = "135n9brliqy42lj3nqgb9d9if7x6x9nvvn0z4anbyf89bikixw48";
|
||||||
})
|
})
|
||||||
|
|
||||||
# This patch adds pipewire support for the ESR release
|
# This patch adds pipewire support for the ESR release
|
||||||
++ lib.optional (pipewireSupport && lib.versionOlder ffversion "83")
|
++ lib.optional (pipewireSupport && lib.versionOlder version "83")
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
# https://src.fedoraproject.org/rpms/firefox/blob/master/f/firefox-pipewire-0-3.patch
|
# https://src.fedoraproject.org/rpms/firefox/blob/master/f/firefox-pipewire-0-3.patch
|
||||||
url = "https://src.fedoraproject.org/rpms/firefox/raw/e99b683a352cf5b2c9ff198756859bae408b5d9d/f/firefox-pipewire-0-3.patch";
|
url = "https://src.fedoraproject.org/rpms/firefox/raw/e99b683a352cf5b2c9ff198756859bae408b5d9d/f/firefox-pipewire-0-3.patch";
|
||||||
|
@ -185,11 +185,11 @@ buildStdenv.mkDerivation ({
|
||||||
++ lib.optional gssSupport libkrb5
|
++ lib.optional gssSupport libkrb5
|
||||||
++ lib.optionals waylandSupport [ libxkbcommon libdrm ]
|
++ lib.optionals waylandSupport [ libxkbcommon libdrm ]
|
||||||
++ lib.optional pipewireSupport pipewire
|
++ lib.optional pipewireSupport pipewire
|
||||||
++ lib.optional (lib.versionAtLeast ffversion "82") gnum4
|
++ lib.optional (lib.versionAtLeast version "82") gnum4
|
||||||
++ lib.optionals buildStdenv.isDarwin [ CoreMedia ExceptionHandling Kerberos
|
++ lib.optionals buildStdenv.isDarwin [ CoreMedia ExceptionHandling Kerberos
|
||||||
AVFoundation MediaToolbox CoreLocation
|
AVFoundation MediaToolbox CoreLocation
|
||||||
Foundation libobjc AddressBook cups ]
|
Foundation libobjc AddressBook cups ]
|
||||||
++ lib.optional (lib.versionOlder ffversion "90") gtk2;
|
++ lib.optional (lib.versionOlder version "90") gtk2;
|
||||||
|
|
||||||
NIX_LDFLAGS = lib.optionalString ltoSupport ''
|
NIX_LDFLAGS = lib.optionalString ltoSupport ''
|
||||||
-rpath ${llvmPackages.libunwind.out}/lib
|
-rpath ${llvmPackages.libunwind.out}/lib
|
||||||
|
@ -201,14 +201,14 @@ buildStdenv.mkDerivation ({
|
||||||
rm -rf obj-x86_64-pc-linux-gnu
|
rm -rf obj-x86_64-pc-linux-gnu
|
||||||
substituteInPlace toolkit/xre/glxtest.cpp \
|
substituteInPlace toolkit/xre/glxtest.cpp \
|
||||||
--replace 'dlopen("libpci.so' 'dlopen("${pciutils}/lib/libpci.so'
|
--replace 'dlopen("libpci.so' 'dlopen("${pciutils}/lib/libpci.so'
|
||||||
'' + lib.optionalString (pipewireSupport && lib.versionOlder ffversion "83") ''
|
'' + lib.optionalString (pipewireSupport && lib.versionOlder version "83") ''
|
||||||
# substitute the /usr/include/ lines for the libraries that pipewire provides.
|
# substitute the /usr/include/ lines for the libraries that pipewire provides.
|
||||||
# The patch we pick from fedora only contains the generated moz.build files
|
# The patch we pick from fedora only contains the generated moz.build files
|
||||||
# which hardcode the dependency paths instead of running pkg_config.
|
# which hardcode the dependency paths instead of running pkg_config.
|
||||||
substituteInPlace \
|
substituteInPlace \
|
||||||
media/webrtc/trunk/webrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build \
|
media/webrtc/trunk/webrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build \
|
||||||
--replace /usr/include ${pipewire.dev}/include
|
--replace /usr/include ${pipewire.dev}/include
|
||||||
'' + lib.optionalString (lib.versionAtLeast ffversion "80" && lib.versionOlder ffversion "81") ''
|
'' + lib.optionalString (lib.versionAtLeast version "80" && lib.versionOlder version "81") ''
|
||||||
substituteInPlace dom/system/IOUtils.h \
|
substituteInPlace dom/system/IOUtils.h \
|
||||||
--replace '#include "nspr/prio.h"' '#include "prio.h"'
|
--replace '#include "nspr/prio.h"' '#include "prio.h"'
|
||||||
|
|
||||||
|
@ -273,10 +273,13 @@ buildStdenv.mkDerivation ({
|
||||||
'') + ''
|
'') + ''
|
||||||
# AS=as in the environment causes build failure https://bugzilla.mozilla.org/show_bug.cgi?id=1497286
|
# AS=as in the environment causes build failure https://bugzilla.mozilla.org/show_bug.cgi?id=1497286
|
||||||
unset AS
|
unset AS
|
||||||
'';
|
'' + (lib.optionalString enableOfficialBranding ''
|
||||||
|
export MOZILLA_OFFICIAL=1
|
||||||
|
export BUILD_OFFICIAL=1
|
||||||
|
'');
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--enable-application=browser"
|
"--enable-application=${application}"
|
||||||
"--with-system-jpeg"
|
"--with-system-jpeg"
|
||||||
"--with-system-zlib"
|
"--with-system-zlib"
|
||||||
"--with-system-libevent"
|
"--with-system-libevent"
|
||||||
|
@ -325,11 +328,7 @@ buildStdenv.mkDerivation ({
|
||||||
cd obj-*
|
cd obj-*
|
||||||
'';
|
'';
|
||||||
|
|
||||||
makeFlags = lib.optionals enableOfficialBranding [
|
makeFlags = lib.optionals ltoSupport [
|
||||||
"MOZILLA_OFFICIAL=1"
|
|
||||||
"BUILD_OFFICIAL=1"
|
|
||||||
]
|
|
||||||
++ lib.optionals ltoSupport [
|
|
||||||
"AR=${buildStdenv.cc.bintools.bintools}/bin/llvm-ar"
|
"AR=${buildStdenv.cc.bintools.bintools}/bin/llvm-ar"
|
||||||
"LLVM_OBJDUMP=${buildStdenv.cc.bintools.bintools}/bin/llvm-objdump"
|
"LLVM_OBJDUMP=${buildStdenv.cc.bintools.bintools}/bin/llvm-objdump"
|
||||||
"NM=${buildStdenv.cc.bintools.bintools}/bin/llvm-nm"
|
"NM=${buildStdenv.cc.bintools.bintools}/bin/llvm-nm"
|
||||||
|
@ -357,19 +356,19 @@ buildStdenv.mkDerivation ({
|
||||||
doInstallCheck = true;
|
doInstallCheck = true;
|
||||||
installCheckPhase = ''
|
installCheckPhase = ''
|
||||||
# Some basic testing
|
# Some basic testing
|
||||||
"$out${execdir}/${browserName}" --version
|
"$out${execdir}/${applicationName}" --version
|
||||||
'';
|
'';
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
inherit updateScript;
|
inherit updateScript;
|
||||||
version = ffversion;
|
inherit version;
|
||||||
inherit alsaSupport;
|
inherit alsaSupport;
|
||||||
inherit pipewireSupport;
|
inherit pipewireSupport;
|
||||||
inherit nspr;
|
inherit nspr;
|
||||||
inherit ffmpegSupport;
|
inherit ffmpegSupport;
|
||||||
inherit gssSupport;
|
inherit gssSupport;
|
||||||
inherit execdir;
|
inherit execdir;
|
||||||
inherit browserName;
|
inherit applicationName;
|
||||||
inherit tests;
|
inherit tests;
|
||||||
inherit gtk3;
|
inherit gtk3;
|
||||||
};
|
};
|
||||||
|
|
|
@ -7,9 +7,9 @@ in
|
||||||
rec {
|
rec {
|
||||||
firefox = common rec {
|
firefox = common rec {
|
||||||
pname = "firefox";
|
pname = "firefox";
|
||||||
ffversion = "91.0";
|
version = "91.0";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
|
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
||||||
sha512 = "a02486a3996570e0cc815e92c98890bca1d27ce0018c2ee3d4bff9a6e54dbc8f5926fea8b5864f208e15389d631685b2add1e4e9e51146e40224d16d5c02f730";
|
sha512 = "a02486a3996570e0cc815e92c98890bca1d27ce0018c2ee3d4bff9a6e54dbc8f5926fea8b5864f208e15389d631685b2add1e4e9e51146e40224d16d5c02f730";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -27,15 +27,14 @@ rec {
|
||||||
tests = [ nixosTests.firefox ];
|
tests = [ nixosTests.firefox ];
|
||||||
updateScript = callPackage ./update.nix {
|
updateScript = callPackage ./update.nix {
|
||||||
attrPath = "firefox-unwrapped";
|
attrPath = "firefox-unwrapped";
|
||||||
versionKey = "ffversion";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
firefox-esr-91 = common rec {
|
firefox-esr-91 = common rec {
|
||||||
pname = "firefox-esr";
|
pname = "firefox-esr";
|
||||||
ffversion = "91.0esr";
|
version = "91.0esr";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
|
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
||||||
sha512 = "e518e1536094a1da44eb45b3b0f3adc1b5532f17da2dbcc994715419ec4fcec40574fdf633349a8e5de6382942f5706757a35f1b96b11de4754855b9cf7946ae";
|
sha512 = "e518e1536094a1da44eb45b3b0f3adc1b5532f17da2dbcc994715419ec4fcec40574fdf633349a8e5de6382942f5706757a35f1b96b11de4754855b9cf7946ae";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -53,15 +52,14 @@ rec {
|
||||||
updateScript = callPackage ./update.nix {
|
updateScript = callPackage ./update.nix {
|
||||||
attrPath = "firefox-esr-91-unwrapped";
|
attrPath = "firefox-esr-91-unwrapped";
|
||||||
versionSuffix = "esr";
|
versionSuffix = "esr";
|
||||||
versionKey = "ffversion";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
firefox-esr-78 = common rec {
|
firefox-esr-78 = common rec {
|
||||||
pname = "firefox-esr";
|
pname = "firefox-esr";
|
||||||
ffversion = "78.12.0esr";
|
version = "78.12.0esr";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
|
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
||||||
sha512 = "646eb803e0d0e541773e3111708c7eaa85e784e4bae6e4a77dcecdc617ee29e2e349c9ef16ae7e663311734dd7491aebd904359124dda62672dbc18bfb608f0a";
|
sha512 = "646eb803e0d0e541773e3111708c7eaa85e784e4bae6e4a77dcecdc617ee29e2e349c9ef16ae7e663311734dd7491aebd904359124dda62672dbc18bfb608f0a";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -79,7 +77,6 @@ rec {
|
||||||
updateScript = callPackage ./update.nix {
|
updateScript = callPackage ./update.nix {
|
||||||
attrPath = "firefox-esr-78-unwrapped";
|
attrPath = "firefox-esr-78-unwrapped";
|
||||||
versionSuffix = "esr";
|
versionSuffix = "esr";
|
||||||
versionKey = "ffversion";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,18 +20,18 @@ browser:
|
||||||
|
|
||||||
let
|
let
|
||||||
wrapper =
|
wrapper =
|
||||||
{ browserName ? browser.browserName or (lib.getName browser)
|
{ applicationName ? browser.applicationName or (lib.getName browser)
|
||||||
, pname ? browserName
|
, pname ? applicationName
|
||||||
, version ? lib.getVersion browser
|
, version ? lib.getVersion browser
|
||||||
, desktopName ? # browserName with first letter capitalized
|
, desktopName ? # applicationName with first letter capitalized
|
||||||
(lib.toUpper (lib.substring 0 1 browserName) + lib.substring 1 (-1) browserName)
|
(lib.toUpper (lib.substring 0 1 applicationName) + lib.substring 1 (-1) applicationName)
|
||||||
, nameSuffix ? ""
|
, nameSuffix ? ""
|
||||||
, icon ? browserName
|
, icon ? applicationName
|
||||||
, extraNativeMessagingHosts ? []
|
, extraNativeMessagingHosts ? []
|
||||||
, pkcs11Modules ? []
|
, pkcs11Modules ? []
|
||||||
, forceWayland ? false
|
, forceWayland ? false
|
||||||
, useGlvnd ? true
|
, useGlvnd ? true
|
||||||
, cfg ? config.${browserName} or {}
|
, cfg ? config.${applicationName} or {}
|
||||||
|
|
||||||
## Following options are needed for extra prefs & policies
|
## Following options are needed for extra prefs & policies
|
||||||
# For more information about anti tracking (german website)
|
# For more information about anti tracking (german website)
|
||||||
|
@ -40,7 +40,7 @@ let
|
||||||
# For more information about policies visit
|
# For more information about policies visit
|
||||||
# https://github.com/mozilla/policy-templates#enterprisepoliciesenabled
|
# https://github.com/mozilla/policy-templates#enterprisepoliciesenabled
|
||||||
, extraPolicies ? {}
|
, extraPolicies ? {}
|
||||||
, firefoxLibName ? "firefox" # Important for tor package or the like
|
, libName ? "firefox" # Important for tor package or the like
|
||||||
, nixExtensions ? null
|
, nixExtensions ? null
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -162,15 +162,15 @@ let
|
||||||
"jre"
|
"jre"
|
||||||
];
|
];
|
||||||
pluginsError =
|
pluginsError =
|
||||||
"Your configuration mentions ${lib.concatMapStringsSep ", " (p: browserName + "." + p) configPlugins}. All plugin related options have been removed, since Firefox from version 52 onwards no longer supports npapi plugins (see https://support.mozilla.org/en-US/kb/npapi-plugins).";
|
"Your configuration mentions ${lib.concatMapStringsSep ", " (p: applicationName + "." + p) configPlugins}. All plugin related options have been removed, since Firefox from version 52 onwards no longer supports npapi plugins (see https://support.mozilla.org/en-US/kb/npapi-plugins).";
|
||||||
|
|
||||||
in if configPlugins != [] then throw pluginsError else
|
in if configPlugins != [] then throw pluginsError else
|
||||||
(stdenv.mkDerivation {
|
(stdenv.mkDerivation {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
|
|
||||||
desktopItem = makeDesktopItem {
|
desktopItem = makeDesktopItem {
|
||||||
name = browserName;
|
name = applicationName;
|
||||||
exec = "${browserName}${nameSuffix} %U";
|
exec = "${applicationName}${nameSuffix} %U";
|
||||||
inherit icon;
|
inherit icon;
|
||||||
comment = "";
|
comment = "";
|
||||||
desktopName = "${desktopName}${nameSuffix}${lib.optionalString forceWayland " (Wayland)"}";
|
desktopName = "${desktopName}${nameSuffix}${lib.optionalString forceWayland " (Wayland)"}";
|
||||||
|
@ -193,12 +193,12 @@ let
|
||||||
|
|
||||||
buildCommand = lib.optionalString stdenv.isDarwin ''
|
buildCommand = lib.optionalString stdenv.isDarwin ''
|
||||||
mkdir -p $out/Applications
|
mkdir -p $out/Applications
|
||||||
cp -R --no-preserve=mode,ownership ${browser}/Applications/${browserName}.app $out/Applications
|
cp -R --no-preserve=mode,ownership ${browser}/Applications/${applicationName}.app $out/Applications
|
||||||
rm -f $out${browser.execdir or "/bin"}/${browserName}
|
rm -f $out${browser.execdir or "/bin"}/${applicationName}
|
||||||
'' + ''
|
'' + ''
|
||||||
if [ ! -x "${browser}${browser.execdir or "/bin"}/${browserName}" ]
|
if [ ! -x "${browser}${browser.execdir or "/bin"}/${applicationName}" ]
|
||||||
then
|
then
|
||||||
echo "cannot find executable file \`${browser}${browser.execdir or "/bin"}/${browserName}'"
|
echo "cannot find executable file \`${browser}${browser.execdir or "/bin"}/${applicationName}'"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -213,9 +213,9 @@ let
|
||||||
cd "${browser}"
|
cd "${browser}"
|
||||||
find . -type d -exec mkdir -p "$out"/{} \;
|
find . -type d -exec mkdir -p "$out"/{} \;
|
||||||
|
|
||||||
find . -type f \( -not -name "${browserName}" \) -exec ln -sT "${browser}"/{} "$out"/{} \;
|
find . -type f \( -not -name "${applicationName}" \) -exec ln -sT "${browser}"/{} "$out"/{} \;
|
||||||
|
|
||||||
find . -type f -name "${browserName}" -print0 | while read -d $'\0' f; do
|
find . -type f -name "${applicationName}" -print0 | while read -d $'\0' f; do
|
||||||
cp -P --no-preserve=mode,ownership "${browser}/$f" "$out/$f"
|
cp -P --no-preserve=mode,ownership "${browser}/$f" "$out/$f"
|
||||||
chmod a+rwx "$out/$f"
|
chmod a+rwx "$out/$f"
|
||||||
done
|
done
|
||||||
|
@ -236,11 +236,11 @@ let
|
||||||
# create the wrapper
|
# create the wrapper
|
||||||
|
|
||||||
executablePrefix="$out${browser.execdir or "/bin"}"
|
executablePrefix="$out${browser.execdir or "/bin"}"
|
||||||
executablePath="$executablePrefix/${browserName}"
|
executablePath="$executablePrefix/${applicationName}"
|
||||||
|
|
||||||
if [ ! -x "$executablePath" ]
|
if [ ! -x "$executablePath" ]
|
||||||
then
|
then
|
||||||
echo "cannot find executable file \`${browser}${browser.execdir or "/bin"}/${browserName}'"
|
echo "cannot find executable file \`${browser}${browser.execdir or "/bin"}/${applicationName}'"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -249,25 +249,25 @@ let
|
||||||
# Careful here, the file at executablePath may already be
|
# Careful here, the file at executablePath may already be
|
||||||
# a wrapper. That is why we postfix it with -old instead
|
# a wrapper. That is why we postfix it with -old instead
|
||||||
# of -wrapped.
|
# of -wrapped.
|
||||||
oldExe="$executablePrefix"/".${browserName}"-old
|
oldExe="$executablePrefix"/".${applicationName}"-old
|
||||||
mv "$executablePath" "$oldExe"
|
mv "$executablePath" "$oldExe"
|
||||||
else
|
else
|
||||||
oldExe="$(readlink -v --canonicalize-existing "$executablePath")"
|
oldExe="$(readlink -v --canonicalize-existing "$executablePath")"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -x "${browser}${browser.execdir or "/bin"}/${browserName}" ]
|
if [ ! -x "${browser}${browser.execdir or "/bin"}/${applicationName}" ]
|
||||||
then
|
then
|
||||||
echo "cannot find executable file \`${browser}${browser.execdir or "/bin"}/${browserName}'"
|
echo "cannot find executable file \`${browser}${browser.execdir or "/bin"}/${applicationName}'"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
makeWrapper "$oldExe" \
|
makeWrapper "$oldExe" \
|
||||||
"$out${browser.execdir or "/bin"}/${browserName}${nameSuffix}" \
|
"$out${browser.execdir or "/bin"}/${applicationName}${nameSuffix}" \
|
||||||
--prefix LD_LIBRARY_PATH ':' "$libs" \
|
--prefix LD_LIBRARY_PATH ':' "$libs" \
|
||||||
--suffix-each GTK_PATH ':' "$gtk_modules" \
|
--suffix-each GTK_PATH ':' "$gtk_modules" \
|
||||||
--prefix PATH ':' "${xdg-utils}/bin" \
|
--prefix PATH ':' "${xdg-utils}/bin" \
|
||||||
--suffix PATH ':' "$out${browser.execdir or "/bin"}" \
|
--suffix PATH ':' "$out${browser.execdir or "/bin"}" \
|
||||||
--set MOZ_APP_LAUNCHER "${browserName}${nameSuffix}" \
|
--set MOZ_APP_LAUNCHER "${applicationName}${nameSuffix}" \
|
||||||
--set MOZ_SYSTEM_DIR "$out/lib/mozilla" \
|
--set MOZ_SYSTEM_DIR "$out/lib/mozilla" \
|
||||||
--set MOZ_LEGACY_PROFILES 1 \
|
--set MOZ_LEGACY_PROFILES 1 \
|
||||||
--set MOZ_ALLOW_DOWNGRADE 1 \
|
--set MOZ_ALLOW_DOWNGRADE 1 \
|
||||||
|
@ -290,7 +290,7 @@ let
|
||||||
mkdir -p "$out/share/icons/hicolor/''${res}x''${res}/apps"
|
mkdir -p "$out/share/icons/hicolor/''${res}x''${res}/apps"
|
||||||
icon=( "${browser}/lib/"*"/browser/chrome/icons/default/default''${res}.png" )
|
icon=( "${browser}/lib/"*"/browser/chrome/icons/default/default''${res}.png" )
|
||||||
if [ -e "$icon" ]; then ln -s "$icon" \
|
if [ -e "$icon" ]; then ln -s "$icon" \
|
||||||
"$out/share/icons/hicolor/''${res}x''${res}/apps/${browserName}.png"
|
"$out/share/icons/hicolor/''${res}x''${res}/apps/${applicationName}.png"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
@ -314,24 +314,24 @@ let
|
||||||
# #
|
# #
|
||||||
#########################
|
#########################
|
||||||
# user customization
|
# user customization
|
||||||
mkdir -p $out/lib/${firefoxLibName}
|
mkdir -p $out/lib/${libName}
|
||||||
|
|
||||||
# creating policies.json
|
# creating policies.json
|
||||||
mkdir -p "$out/lib/${firefoxLibName}/distribution"
|
mkdir -p "$out/lib/${libName}/distribution"
|
||||||
|
|
||||||
POL_PATH="$out/lib/${firefoxLibName}/distribution/policies.json"
|
POL_PATH="$out/lib/${libName}/distribution/policies.json"
|
||||||
rm -f "$POL_PATH"
|
rm -f "$POL_PATH"
|
||||||
cat ${policiesJson} >> "$POL_PATH"
|
cat ${policiesJson} >> "$POL_PATH"
|
||||||
|
|
||||||
# preparing for autoconfig
|
# preparing for autoconfig
|
||||||
mkdir -p "$out/lib/${firefoxLibName}/defaults/pref"
|
mkdir -p "$out/lib/${libName}/defaults/pref"
|
||||||
|
|
||||||
echo 'pref("general.config.filename", "mozilla.cfg");' > "$out/lib/${firefoxLibName}/defaults/pref/autoconfig.js"
|
echo 'pref("general.config.filename", "mozilla.cfg");' > "$out/lib/${libName}/defaults/pref/autoconfig.js"
|
||||||
echo 'pref("general.config.obscure_value", 0);' >> "$out/lib/${firefoxLibName}/defaults/pref/autoconfig.js"
|
echo 'pref("general.config.obscure_value", 0);' >> "$out/lib/${libName}/defaults/pref/autoconfig.js"
|
||||||
|
|
||||||
cat > "$out/lib/${firefoxLibName}/mozilla.cfg" < ${mozillaCfg}
|
cat > "$out/lib/${libName}/mozilla.cfg" < ${mozillaCfg}
|
||||||
|
|
||||||
mkdir -p $out/lib/${firefoxLibName}/distribution/extensions
|
mkdir -p $out/lib/${libName}/distribution/extensions
|
||||||
|
|
||||||
#############################
|
#############################
|
||||||
# #
|
# #
|
||||||
|
|
|
@ -18,11 +18,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "filezilla";
|
pname = "filezilla";
|
||||||
version = "3.55.0";
|
version = "3.55.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.filezilla-project.org/client/FileZilla_${version}_src.tar.bz2";
|
url = "https://download.filezilla-project.org/client/FileZilla_${version}_src.tar.bz2";
|
||||||
sha256 = "sha256-rnDrQYDRNr4pu61vzdGI5JfiBfxBbqPkE9znzYyrnII=";
|
sha256 = "sha256-Z/jQ4R9T/SMgfTy/yULQPz4j7kOe5IoUohQ8mVD3dqU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# https://www.linuxquestions.org/questions/slackware-14/trouble-building-filezilla-3-47-2-1-current-4175671182/#post6099769
|
# https://www.linuxquestions.org/questions/slackware-14/trouble-building-filezilla-3-47-2-1-current-4175671182/#post6099769
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
, gobject-introspection
|
, gobject-introspection
|
||||||
, gtk3
|
, gtk3
|
||||||
, libgee
|
, libgee
|
||||||
|
, libhandy
|
||||||
, libsecret
|
, libsecret
|
||||||
, libsoup
|
, libsoup
|
||||||
, meson
|
, meson
|
||||||
|
@ -18,13 +19,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "taxi";
|
pname = "taxi";
|
||||||
version = "0.0.1-unstable=2020-09-03";
|
version = "2.0.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Alecaddd";
|
owner = "Alecaddd";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "74aade67fd9ba9e5bc10c950ccd8d7e48adc2ea1";
|
rev = version;
|
||||||
sha256 = "sha256-S/FeKJxIdA30CpfFVrQsALdq7Gy4F4+P50Ky5tmqKvM=";
|
sha256 = "1a4a14b2d5vqbk56drzbbldp0nngfqhwycpyv8d3svi2nchkvpqa";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -40,6 +41,7 @@ stdenv.mkDerivation rec {
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
gtk3
|
gtk3
|
||||||
libgee
|
libgee
|
||||||
|
libhandy
|
||||||
libsecret
|
libsecret
|
||||||
libsoup
|
libsoup
|
||||||
pantheon.granite
|
pantheon.granite
|
||||||
|
|
|
@ -21,11 +21,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "zeek";
|
pname = "zeek";
|
||||||
version = "4.0.3";
|
version = "4.1.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.zeek.org/zeek-${version}.tar.gz";
|
url = "https://download.zeek.org/zeek-${version}.tar.gz";
|
||||||
sha256 = "1nrkwaj0dilyzhfl6yma214vyakvpi97acyffdr7n4kdm4m6pvik";
|
sha256 = "165kva8dgf152ahizqdk0g2y466ij2gyxja5fjxlkxcxr5p357pj";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake flex bison file ];
|
nativeBuildInputs = [ cmake flex bison file ];
|
||||||
|
|
|
@ -8,11 +8,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "jitsi-meet-electron";
|
pname = "jitsi-meet-electron";
|
||||||
version = "2.8.9";
|
version = "2.8.10";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/jitsi/jitsi-meet-electron/releases/download/v${version}/jitsi-meet-x86_64.AppImage";
|
url = "https://github.com/jitsi/jitsi-meet-electron/releases/download/v${version}/jitsi-meet-x86_64.AppImage";
|
||||||
sha256 = "sha256-PsMP0bDxlXAkRu3BgaUWcqnTfUKOGB81oHT94Xi8t8E=";
|
sha256 = "sha256-k++vumbhcMl9i4s8f04zOUAfYlA1g477FjrGuEGSD1U=";
|
||||||
name = "${pname}-${version}.AppImage";
|
name = "${pname}-${version}.AppImage";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,7 @@ let
|
||||||
else "");
|
else "");
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "signal-desktop";
|
pname = "signal-desktop";
|
||||||
version = "5.12.2"; # Please backport all updates to the stable channel.
|
version = "5.13.1"; # Please backport all updates to the stable channel.
|
||||||
# All releases have a limited lifetime and "expire" 90 days after the release.
|
# All releases have a limited lifetime and "expire" 90 days after the release.
|
||||||
# When releases "expire" the application becomes unusable until an update is
|
# When releases "expire" the application becomes unusable until an update is
|
||||||
# applied. The expiration date for the current release can be extracted with:
|
# applied. The expiration date for the current release can be extracted with:
|
||||||
|
@ -38,7 +38,7 @@ in stdenv.mkDerivation rec {
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
|
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
|
||||||
sha256 = "0z8nphlm3q9gqri6bqh1iaayx5yy0bhrmjb7l7facdkm1aahmaa7";
|
sha256 = "0k3gbs6y19vri5n087wc6fdhydkis3h6rhxd3w1j9rhrb5fxjv3q";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -101,12 +101,13 @@ stdenv.mkDerivation rec {
|
||||||
rm $out/bin/zoom
|
rm $out/bin/zoom
|
||||||
# Zoom expects "zopen" executable (needed for web login) to be present in CWD. Or does it expect
|
# Zoom expects "zopen" executable (needed for web login) to be present in CWD. Or does it expect
|
||||||
# everybody runs Zoom only after cd to Zoom package directory? Anyway, :facepalm:
|
# everybody runs Zoom only after cd to Zoom package directory? Anyway, :facepalm:
|
||||||
# Also clear Qt environment variables to prevent
|
# Clear Qt paths to prevent tripping over "foreign" Qt resources.
|
||||||
# zoom from tripping over "foreign" Qt ressources.
|
# Clear Qt screen scaling settings to prevent over-scaling.
|
||||||
makeWrapper $out/opt/zoom/ZoomLauncher $out/bin/zoom \
|
makeWrapper $out/opt/zoom/ZoomLauncher $out/bin/zoom \
|
||||||
--run "cd $out/opt/zoom" \
|
--run "cd $out/opt/zoom" \
|
||||||
--unset QML2_IMPORT_PATH \
|
--unset QML2_IMPORT_PATH \
|
||||||
--unset QT_PLUGIN_PATH \
|
--unset QT_PLUGIN_PATH \
|
||||||
|
--unset QT_SCREEN_SCALE_FACTORS \
|
||||||
--prefix PATH : ${lib.makeBinPath [ coreutils glib.dev pciutils procps util-linux ]} \
|
--prefix PATH : ${lib.makeBinPath [ coreutils glib.dev pciutils procps util-linux ]} \
|
||||||
--prefix LD_LIBRARY_PATH ":" ${libs}
|
--prefix LD_LIBRARY_PATH ":" ${libs}
|
||||||
|
|
||||||
|
|
48
pkgs/applications/networking/listadmin/default.nix
Normal file
48
pkgs/applications/networking/listadmin/default.nix
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
{ lib, stdenvNoCC, fetchurl, makeWrapper, perl, installShellFiles }:
|
||||||
|
|
||||||
|
stdenvNoCC.mkDerivation rec {
|
||||||
|
pname = "listadmin";
|
||||||
|
version = "2.73";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "mirror://sourceforge/project/listadmin/${version}/listadmin-${version}.tar.gz";
|
||||||
|
sha256 = "00333d65ygdbm1hqr4yp2j8vh1cgh3hyfm7iy9y1alf0p0f6aqac";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ perl ];
|
||||||
|
nativeBuildInputs = [ makeWrapper installShellFiles ];
|
||||||
|
|
||||||
|
# There is a Makefile, but we don’t need it, and it prints errors
|
||||||
|
dontBuild = true;
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin $out/share/man/man1
|
||||||
|
install -m 755 listadmin.pl $out/bin/listadmin
|
||||||
|
installManPage listadmin.1
|
||||||
|
|
||||||
|
wrapProgram $out/bin/listadmin \
|
||||||
|
--prefix PERL5LIB : "${with perl.pkgs; makeFullPerlPath [
|
||||||
|
TextReform NetINET6Glue LWPProtocolhttps
|
||||||
|
]}"
|
||||||
|
'';
|
||||||
|
|
||||||
|
doInstallCheck = true;
|
||||||
|
installCheckPhase = ''
|
||||||
|
$out/bin/listadmin --help 2> /dev/null
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Command line mailman moderator queue manipulation";
|
||||||
|
longDescription = ''
|
||||||
|
listadmin is a command line tool to manipulate the queues of messages
|
||||||
|
held for moderator approval by mailman. It is designed to keep user
|
||||||
|
interaction to a minimum, in theory you could run it from cron to prune
|
||||||
|
the queue. It can use the score from a header added by SpamAssassin to
|
||||||
|
filter, or it can match specific senders, subjects, or reasons.
|
||||||
|
'';
|
||||||
|
homepage = "https://sourceforge.net/projects/listadmin/";
|
||||||
|
license = licenses.publicDomain;
|
||||||
|
platforms = platforms.unix;
|
||||||
|
maintainers = with maintainers; [ nomeata ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -169,7 +169,7 @@ stdenv.mkDerivation {
|
||||||
|
|
||||||
passthru.updateScript = import ./../../browsers/firefox-bin/update.nix {
|
passthru.updateScript = import ./../../browsers/firefox-bin/update.nix {
|
||||||
inherit writeScript xidel coreutils gnused gnugrep curl gnupg runtimeShell;
|
inherit writeScript xidel coreutils gnused gnugrep curl gnupg runtimeShell;
|
||||||
name = "thunderbird-bin-${version}";
|
pname = "thunderbird-bin";
|
||||||
baseName = "thunderbird";
|
baseName = "thunderbird";
|
||||||
channel = "release";
|
channel = "release";
|
||||||
basePath = "pkgs/applications/networking/mailreaders/thunderbird-bin";
|
basePath = "pkgs/applications/networking/mailreaders/thunderbird-bin";
|
||||||
|
|
|
@ -1,665 +1,665 @@
|
||||||
{
|
{
|
||||||
version = "78.12.0";
|
version = "78.13.0";
|
||||||
sources = [
|
sources = [
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/af/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/af/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "af";
|
locale = "af";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "39671f52392f2c10c7398376047e01d85c42ca8eb21d2c536e11fa575cca4874";
|
sha256 = "f08190514cb9e7a429e12db93b5423e83f8c4f8b34079e266b797099d6e5b3cb";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/ar/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/ar/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "ar";
|
locale = "ar";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "b3ac3c166b5eec0ae3857a89817a0a7088dddd5545aa4864705caf79aa8bae1a";
|
sha256 = "cafc6a55a1bd4b1ed0c412cdcce917d803f1d81689a496e09ffd702bf1495c8e";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/ast/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/ast/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "ast";
|
locale = "ast";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "2a98210aef008bd04206eb4019d9b6d0301e21085d8c96e5d8f023c77b079900";
|
sha256 = "b444e1b6cc64b28069382e97f8b966f6d154fbc4216cc67b20ce0105ebd0be89";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/be/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/be/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "be";
|
locale = "be";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "6309d4959ebcc9be6d139277f990562f8d912766d57d64fc3ec4078e214097cc";
|
sha256 = "18ef49bc393dfc223638edb54525a336f604c606c36f40e3c0f6e4a883cbb1d9";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/bg/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/bg/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "bg";
|
locale = "bg";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "20fd0b411962c3ed0da4f6eb95d8c47dc57a7b366dee0e771708c2c67772619f";
|
sha256 = "2fe1b34fbb43e22f8fb7238baca4aa2d5d5df3dbf4baf0aa276fc8bd0dd5bc02";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/br/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/br/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "br";
|
locale = "br";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "e9f43ff375066cbb23340f2138c0ebf7b2c18e0a57d7049437034a580d8ebc74";
|
sha256 = "e1a46004fefb79e3febf8bcd2b8aa6aa7140b97170740c4b5cc4b6351cb1fd6f";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/ca/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/ca/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "ca";
|
locale = "ca";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "2eaf6674ea616116457b7100b90f2b813eab906091a53bce71d52f4bdae17fb9";
|
sha256 = "d7e9112b78155af6e684f9f306e35fb7aa8862f2008aa842729aedf10e5b62ef";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/cak/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/cak/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "cak";
|
locale = "cak";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "f56dc013fad49782a074ef7d0721a12f43af5f029e690937d72e6a14d79c1505";
|
sha256 = "325acc4638890583fcd2483846cce33a4ed9a2fb376265c926bb8904e37cb6cf";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/cs/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/cs/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "cs";
|
locale = "cs";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "87fecc8661be9ee8891b74f83bd9a6746b826700a6ac46b550d5e2bcc93e560e";
|
sha256 = "a9926717859e51e5f66c41c0a11a70e8d4e635b8dae3486f454ad24464ad1e80";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/cy/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/cy/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "cy";
|
locale = "cy";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "4177b225e02341b96baa6528f1053c718e2e85d452b730a40ebf124a4c70d118";
|
sha256 = "e8d6edb4ba1b6749517ef5d4ae3300aed654c3aa9d6a6e6d7f4a0ff6c829d139";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/da/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/da/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "da";
|
locale = "da";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "9d8cb26a9011130ce973e9e7ecd20650296d406b7ce8b4cf8740ab7e9759e641";
|
sha256 = "ab5288a8d809f9979eb3a330ec0cd8bb4c5deab564b755f064470fe13df3d0be";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/de/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/de/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "de";
|
locale = "de";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "ee19d3702cd0fc0b193e09a3fc470c450ddc919d78471df071183c89c063f443";
|
sha256 = "9a477fe13a4a99fc48fae4713b82771ecca367869047ef268d8811dac1aac220";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/dsb/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/dsb/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "dsb";
|
locale = "dsb";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "20d78a72fb2c5d91e2534dd21aa00d9f958d2df61bec297e1662d7f594c76a5e";
|
sha256 = "deb4947364fd806e06b5c69ea4b51b411b9cd10bec92a23d6d7432d8ba0bbdf0";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/el/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/el/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "el";
|
locale = "el";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "c5014ec8b8382814e3184839192aa71e5610c8c0a6df8dfc9b6b596afbd22bcb";
|
sha256 = "18cc09ee14827e4a3f155215a11551791e5708106ae0d993145ccce4890d8cf0";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/en-CA/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/en-CA/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "en-CA";
|
locale = "en-CA";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "79f1c4166607a01cb32eec5ddb60892822f9047f43c7af3cdeb877ba9c7b7584";
|
sha256 = "6afd716eeae087a27a8c75029735e501fd7e32f95a8842bc5ba0e3a64cb31630";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/en-GB/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/en-GB/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "en-GB";
|
locale = "en-GB";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "8dfe9daac9224dd4c64d689b7b066c126f72e75f283d8a66dcf3fa846e46c881";
|
sha256 = "91e0ad90be9e4e89f5245e660e09c3ad06d1ff807a30b3eb696261a883ea77ea";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/en-US/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/en-US/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "en-US";
|
locale = "en-US";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "43c021edf529f388856432315d99fd1261a0034aa1cead97cc104598eba63d7e";
|
sha256 = "97515bda6e141aef0d74696db3459711985f7fb526ca0e2d7544725d72f5fb3b";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/es-AR/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/es-AR/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "es-AR";
|
locale = "es-AR";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "5f6f86557456d717790a16053e663dce8878a4e7b60f4ee15d02ae753b5c8e78";
|
sha256 = "ef6067e00544e37786694d85957c0fbdf12bb20add6f6f5dadc03b095d24513d";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/es-ES/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/es-ES/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "es-ES";
|
locale = "es-ES";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "f6e85e580871e225e5315eeb0aa7f2982f43352c6c4065966ead1eff47037989";
|
sha256 = "be6df6fa4ed5facfb77a5849e0a4008ec42c2629deb5ea2dc3fa5251891e0306";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/et/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/et/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "et";
|
locale = "et";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "37ea60b93f1d57a1c5f30acdc93dcd73a35ab7107dc05b8e8eebe3a996454186";
|
sha256 = "6c63ddb05366d3a9d0baadceccb3aac8fe3c6788515feeb2649bdc5d717d6d0c";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/eu/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/eu/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "eu";
|
locale = "eu";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "9f7a1fc4b94017d6341c993209987e9647bf29973c3ffc3427ece6277cf92c5a";
|
sha256 = "215861f41e59b6e9c5892e9b10483b890a7a4c351376c455001215af4c3bf276";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/fa/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/fa/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "fa";
|
locale = "fa";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "dc36f3eb91e32ea44a30792f8d65ed225455567ec4b7ec386fe6ec6510caa5da";
|
sha256 = "6486a7b0923d5b689e15eb2082317127e62f050d68f887dbe410619f5c36a470";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/fi/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/fi/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "fi";
|
locale = "fi";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "1fa2cfe9354f7a5b4c9aa0927ae83cad535e8cb448d8a2d82f7a946b5c142b22";
|
sha256 = "5e6a55e1520174f9cd27a82e3634999df0703f8bbdee82fdec433f862c41daaf";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/fr/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/fr/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "fr";
|
locale = "fr";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "49887ce333f50f404a383291d813e3e8f891045247d2de353627998c47821a12";
|
sha256 = "7c9573fbf4a0d16e89a9f8d8fae71874cf49577b3749ba942ecb71b1b6a3a8d5";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/fy-NL/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/fy-NL/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "fy-NL";
|
locale = "fy-NL";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "e408da5478ea01797c260b414ff513e87e71c6de41d6ca0c8bc11780c06fad28";
|
sha256 = "6ff1fe09e82b723ebc7022744bba0cd064da2fcc7b8b92fc23475bbbea57c0fb";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/ga-IE/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/ga-IE/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "ga-IE";
|
locale = "ga-IE";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "6dc99c43a076c4575163e640260b27aaebef01ffcc1ce8b6c6e2da8c993eee72";
|
sha256 = "be25c020f47cf42c05dfd33338b210ad603ede6af97f8b41528d8a18be209fe3";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/gd/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/gd/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "gd";
|
locale = "gd";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "3ba9424491565e4e576dbfe656e681892ff1084fcd8b9659beb6a17b36cc4c27";
|
sha256 = "65cd07e5151809ae64a905163c939bfdef60226b4fe24b9657f6de3a2c10eaa6";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/gl/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/gl/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "gl";
|
locale = "gl";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "a8348d99ba729122d2d2cc0a10d60c38ff4b7e83eaf7ebd04a58d7fad5326664";
|
sha256 = "882ed57366537562882a5e7822789a7b16d6161b8a68e7292d86741d9c3f4b95";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/he/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/he/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "he";
|
locale = "he";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "fcba79332eeba50f074a7f1864120414ca20152a16b4b9aed02dbc05d487cf10";
|
sha256 = "115e4cb00d50dd7c5c42e94a432b04e4ac6129e1409c5b5c578594917a1b60d0";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/hr/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/hr/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "hr";
|
locale = "hr";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "d6a51f6c92ab53a73abb5733a9737d36f59aee7acd248ea656b7aa3c406e3980";
|
sha256 = "325cfc1ea9f0a8cb8bd3cb7c881e1bd84a8d8813b78618dcdc7b1ca7b4647b30";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/hsb/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/hsb/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "hsb";
|
locale = "hsb";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "a99dbdd453d31674178faecf37e61b414cc24468a39b8a5e5afa037bf938ffd7";
|
sha256 = "c92d6bd04f71dc7379c3777186d094706ea41ad6a3e1fefa515d0a2316c7735d";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/hu/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/hu/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "hu";
|
locale = "hu";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "aa8384952169ea4f60c8bb11d47c39b81a9c327546ceacdefedb1a37a91e80b0";
|
sha256 = "ee0ab2733affbbd7f23589f1e07399ef73fd3c8901463085a67d6c9a3f6e5302";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/hy-AM/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/hy-AM/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "hy-AM";
|
locale = "hy-AM";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "2a3fd50c42b1aeea61e921e70f05c4ca74e03904c8400b7fa0e245816e42e0f9";
|
sha256 = "fa5b38c93c4777046213b00e6162a7afe14cafb1a3fec47383f54a9fd11a440b";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/id/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/id/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "id";
|
locale = "id";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "5b606b68a3f618ca0d3fadc5a8ee1da7aa636b6d1c1aee0b3e46c978c4a95ef3";
|
sha256 = "a5602d079dd6ae9edbd5b1461474d858085c3250edb33573afd7f4ea2b232176";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/is/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/is/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "is";
|
locale = "is";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "af75f627fc5eb5c0628bbc3ece9549c0daf967e267de850503314830384b340c";
|
sha256 = "eed6de442870f9c4933bef7e94019bbc386465ba5f7f2baa26de2b79973fa567";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/it/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/it/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "it";
|
locale = "it";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "de55f082a0de2c6a3f5c04e6a3bc00f4dd79dc4c8c91d7218bbc50c5e31421a4";
|
sha256 = "960c1552022ea30da269981d986b5715c971438e5d379d74fde59f18d033d862";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/ja/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/ja/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "ja";
|
locale = "ja";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "5db89a1ef3e1546ac48e870c06a235e2f525a9634fed09ce706773cf2582c15b";
|
sha256 = "0a13ffba546db10ff44ff5c5db7d17813febdf557b8aea7d7399b6987806e8da";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/ka/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/ka/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "ka";
|
locale = "ka";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "524d9508d2b8ee337658d5538f9b290e08f0df9ef0c7ed0da9dc5e1e8dc2a9de";
|
sha256 = "42b41113b2886cc35afe5ed48026d503519e8c318efad6123f5e074caa8ca425";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/kab/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/kab/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "kab";
|
locale = "kab";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "7dd3d55f7a5b68b0ebaa96efb2091c320553bbee17b0329dce2ffdb5bed0954c";
|
sha256 = "17f0fdf3f2697256052335808a6ad1ef81d97fc94f848c29df9e717a3e63fba8";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/kk/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/kk/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "kk";
|
locale = "kk";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "f49fe966e1f22e542b62f7e2f3aa8a7377ec6997d5d0b3dc8f0e6986e0418111";
|
sha256 = "94956589eeaaf7c9dd3c3c5c004907f33d6ee515d1202dad8f651cfbd1726638";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/ko/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/ko/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "ko";
|
locale = "ko";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "f48b05376ce85123a163ec54be9baa1325e38e1994753696a3054028a6f60ab2";
|
sha256 = "0a7efb01da1befb18111c117d2ed4c69e52de0b3f3aa24e6e3e2d0356bf645d8";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/lt/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/lt/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "lt";
|
locale = "lt";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "124b0f6e6f1db1cac8ac33f0878d8583c29913c65fb5ca1be4653a9592967407";
|
sha256 = "810dae8617107773cc0d0de4ed7cc4fad42282edcea81fb2b6419777d7386bae";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/ms/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/ms/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "ms";
|
locale = "ms";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "c2917bf55feb4c9efa905920add0bea79b715dc631960e283cb413d05e1e51ec";
|
sha256 = "ae4fdae5ca5a07e3f1b9fdd3b9eaff1cd1d8448eefb0b67cde16124514f075a3";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/nb-NO/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/nb-NO/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "nb-NO";
|
locale = "nb-NO";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "1a5f059665aacea4f12f0f604979bc6de5059e50ab85710cf25d6f0478fd1acb";
|
sha256 = "ce73218100a0153fee49edaedc78910cfda0784ebf59ec90847b7718eb108b73";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/nl/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/nl/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "nl";
|
locale = "nl";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "4efc6479b4948aa96e4c4a14f25ca6401058ddfea4b4175cdce851839327dd8e";
|
sha256 = "63e23bba6301b86da1df350e87d107c53bc04b5eaf54c36bb57e0140b79a1479";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/nn-NO/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/nn-NO/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "nn-NO";
|
locale = "nn-NO";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "910661eecc2d65c27f63597ed5bdc96973e39603a0c702e7dd760e87b373d7c8";
|
sha256 = "287efd5bc94297448895121c8df4fe43beaf39850ce8a82cda31d9a89a4d7b62";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/pa-IN/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/pa-IN/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "pa-IN";
|
locale = "pa-IN";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "50aa0006b3252d7ba020a162b36f863c632fb3f6d13bf0589334ba3f34ae6ba4";
|
sha256 = "7079c15ce806ba3cb20bb50b6c36004ffa745ac083f514b2ac5b5dece95eef89";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/pl/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/pl/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "pl";
|
locale = "pl";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "6f75b4492c9cf6bd3b03800a55b0e91a121e7e13ca1f451571cf25abde040487";
|
sha256 = "30048a59149c8ca6b9d240140826b61a777752dafa221c47738d291c51e70ccd";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/pt-BR/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/pt-BR/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "pt-BR";
|
locale = "pt-BR";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "ed8834d038affbd7fadc93dbb72d972a7dca77d9d9af4b5cbdb0cf4c36bd7b70";
|
sha256 = "38cf30326280109a1f08de860ac1045c78b27a1dc851a7972e03e8c8d07bf6b9";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/pt-PT/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/pt-PT/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "pt-PT";
|
locale = "pt-PT";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "6add8c6de555561d892b23909e5b4828230567789f71467600483c8eb0f4e6d1";
|
sha256 = "ef892e822f76b00b06f088335f736552cd7c864212eadfdf4afcd4e6a7eba2dd";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/rm/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/rm/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "rm";
|
locale = "rm";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "c9ceb44aea4f61d4376d2519b233356ca48ab7eed6c62e0402c1c435baac379c";
|
sha256 = "c19dc84c5437b1126ab568a5be2c5256403511cb2624c4d5ff253f5579cdd2ab";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/ro/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/ro/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "ro";
|
locale = "ro";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "5d2889df62325331b5869e17af8125179ff9371c8860ad52b4cc8d4c21253e6e";
|
sha256 = "263d6cfc4efd27849017ae3f13849f6e5be0bd7dd6a9964b6716a948705beb20";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/ru/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/ru/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "ru";
|
locale = "ru";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "07aeda5b10bcdca5474ef156be35c38ebd15de68a3670e4e2532b045964d7164";
|
sha256 = "425b1544350335e5a15dc8dfe2525c6c3143e34377bb9bbfb25f9b1a688b202a";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/si/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/si/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "si";
|
locale = "si";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "a70410319bcab48a407f4b379e82029528b8998ec89d7105a85ffce5e804a285";
|
sha256 = "bc506ac571d49e70e330ccbfd62c566985754c7b98f8b484209128ab173a6b08";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/sk/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/sk/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "sk";
|
locale = "sk";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "4b110a5b7d3cab0a9145635c0e458e22eddddd97e407a229d8c8a5f5761d150d";
|
sha256 = "46b479e0085402f43446bd003ff4b9c014e888b4eec0cbcdcdf9336893ffc967";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/sl/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/sl/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "sl";
|
locale = "sl";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "d253ee57d3eac036b1b758d45609db39b47dae05e282ccaace739993ef3cfccc";
|
sha256 = "a8a70d172e8d5890394f9974208de1cf422290b6fd8e5629a31b2f7706eaaa35";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/sq/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/sq/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "sq";
|
locale = "sq";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "700a8e7798f8b92c6874febd71b188ab0a97a2ca62930db4cb36fb12e02cefe8";
|
sha256 = "f26287b10e906805984b0beb4ea6890bfb62a82ae8138bd26b7a5febc628be7c";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/sr/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/sr/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "sr";
|
locale = "sr";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "5485ce5280b71f9adc8ae2a544eecb8c8a12720efd604d93d5f2bf051f3edc0d";
|
sha256 = "20fc984078efae2ddcbbe7dbd81238a79342a7fe7d1f8736594c1fb290104ed0";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/sv-SE/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/sv-SE/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "sv-SE";
|
locale = "sv-SE";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "a3d0f4d3d32ebb2ec9b67fcbbbabf5640b714fbcd01a742c7cabd872c5bd94f4";
|
sha256 = "ea67fdba6f8f3825ed1637fd7f73b9f8159c519de3920165ae58052b351c0936";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/th/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/th/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "th";
|
locale = "th";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "2d6963ec130e14f5d0721782d5a4f724eaac5bab1b4e3469e19dbbdf1512396d";
|
sha256 = "86f069a0a4ef2e5338754e3a5de369a25b0d8fe96b3b7047dbfd009171e8fcf9";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/tr/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/tr/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "tr";
|
locale = "tr";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "b6ada3486cbba66992db5a04138f03f12ac6fc004cb86558a4b8787481f39383";
|
sha256 = "9e975e5d8493a7f2b4dab36b5719b5a80c239820cd7d1adddb83440e9560d810";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/uk/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/uk/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "uk";
|
locale = "uk";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "c24fa7aab502cfdb88703c0abe2444cfd1bc7b94cab1f34b0626240c2a75a8cb";
|
sha256 = "a0d14c98ee3534d7eb7f0098d0fd7b8f64b4c70d5bc0bd78ea695b42babefa17";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/uz/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/uz/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "uz";
|
locale = "uz";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "119d29856eb9656d89b5d06301f3abef4db106ddf3793dc0b9c0c7f2cb03428c";
|
sha256 = "e7d1e5b0b6a72d8b0e3611f1d4f245c46222148c1f69805a15057a85cccda9dd";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/vi/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/vi/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "vi";
|
locale = "vi";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "4aa063fd673684488c9565ca7f35b8b6aa2c944cec921131de8ac2dd483b5b8c";
|
sha256 = "67a733ec644060ca58673dccf1e4e534bb1e17f7f40e0c248e6f666450ad8b07";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/zh-CN/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/zh-CN/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "zh-CN";
|
locale = "zh-CN";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "78fd8d25250632336c574b4d02a9c397d2a01d91660a17a3dedc98155cce84d1";
|
sha256 = "324c6f5c203b9ecc050bce51cf657785c7129251130efbe9f216540bbd32438c";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-x86_64/zh-TW/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-x86_64/zh-TW/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "zh-TW";
|
locale = "zh-TW";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "724451f25a3e45cc23a277c4d1bf3ce76457d883d43b5a5f172340e6d8e81f41";
|
sha256 = "e2df519a3fdfe586edac6ffb9496637df8d6ab3ba93c51c7ee979cd4b901a1e5";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/af/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/af/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "af";
|
locale = "af";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "6ee9ef2596d099bed0962199cf95bae3f8ce322cbc2d9d78195c1caa661297d2";
|
sha256 = "1228035980663d4712877ccbef838522ce8e7c80d04598bc37f42972f6b01b12";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/ar/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/ar/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "ar";
|
locale = "ar";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "dfa41ea4a15f074b2530b8e8383b76617e1a916344567e30dcc370660f0ab05a";
|
sha256 = "1b4950bc1227ae4e38da2db53a381609eb836afb4ee14dd23e7f1d93db58718d";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/ast/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/ast/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "ast";
|
locale = "ast";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "602d1ee72a11a88004236572cb2fa22fdd86cbda81a74f89342e8371a295a140";
|
sha256 = "ad399d8ec5e48ee79470018df8db138791e4207156f3f7c818d24a9688b83ae4";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/be/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/be/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "be";
|
locale = "be";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "1e7d385da89801d9a949fef16de5904314e6e012a2693a936c122e9b8276b267";
|
sha256 = "00c324154a4d2cfcd1399dec6dea9d60812c89ffb7fa7d8ad0caa699a2826f9f";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/bg/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/bg/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "bg";
|
locale = "bg";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "e8c52029a88272d3371c42cdab8d8fd97d8a816032377d22285154686a557f08";
|
sha256 = "f3b88a019536ca8446600d5f5b35ce5d35d5dc483ae63437d2ee0ed9a8696426";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/br/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/br/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "br";
|
locale = "br";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "49d0c56d04033da26b9e73cce83e7de55755b269e2c15003537c2cc53d1e57c1";
|
sha256 = "d76b6774e0ca7e25687fe25936f81e80167dca6b7ef1a2cd1248be71e2bb3abd";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/ca/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/ca/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "ca";
|
locale = "ca";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "c31cc0421858f4a31840d6924882ed692db260e66c16b4c916d82e2eb07ec229";
|
sha256 = "d1a0da69ebf33a8d96110133fe91fd7799e95f303b55aec750d8a3b5ad395e49";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/cak/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/cak/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "cak";
|
locale = "cak";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "5be14239cea98b350a05230efb5e15dbac7bb530f1c3f2b7f17c12b0d2ff75ba";
|
sha256 = "b61a9548b72fdf5e3211cf238129a17df3d8b3fdf76da3aa06cf83ff9ba43b7e";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/cs/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/cs/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "cs";
|
locale = "cs";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "51260bbdeebf1cc18b7d36ad2a302841b29eee797d096ef033b5be03162177ad";
|
sha256 = "605b02fcbc6b1aafa261cbad5aa12d85342f9f9d9458b4a154ee23bbbc91d49b";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/cy/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/cy/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "cy";
|
locale = "cy";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "8c6e1fce7834da9a3a820bcb9df6a27f77c132f0c513ed074c24af9de8858798";
|
sha256 = "af5bf08dd943334629f60fe139392dfc957bae073bc50ec4e10bdace08b2fe1a";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/da/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/da/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "da";
|
locale = "da";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "fabc99558863a646565eff20badf08805e2460e541a3907fab9c6b029dadc0de";
|
sha256 = "ac1e4082bc78248ca1dc8760cf71901fc0e0e537b92e7dadb9af5ac9c80c49f8";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/de/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/de/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "de";
|
locale = "de";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "dc6d7c639e6e9b3ef9f4c13054ec543ed1ec6d789ae2c5e0fce5650c7fa7932b";
|
sha256 = "a26ba23ae9eeaeba09d2a9fbb4fecbe87e6b5662488d7c0dded0fee89cbb5107";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/dsb/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/dsb/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "dsb";
|
locale = "dsb";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "86edac99d1e2a8da228718f2fd78448948e207e3398f781ddec43d4c9ac9e425";
|
sha256 = "775d9f85cc392e2c219e2c19800d4fba8aba1762e1c7b3a2f328dc61925b9638";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/el/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/el/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "el";
|
locale = "el";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "0113409e306300aa4bbc9dacdd85ca52e5d71ca52962ff4628a96c4103337a1b";
|
sha256 = "d11d1c2b09d8f9e55dee43e19d64157cf040865729eb2986dbe8aeca8fabfa6f";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/en-CA/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/en-CA/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "en-CA";
|
locale = "en-CA";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "1e792a76d371479abd43bdfb993cada3b23fbb547cfadf691b25f51cacf4265e";
|
sha256 = "14691fa34a7ced54eec6a7485a5258af4934e0f07cc612588698e88fd624a07a";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/en-GB/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/en-GB/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "en-GB";
|
locale = "en-GB";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "596ccfcaee2a005ea2ee0a93f9644666a5e7e955e22b799bf91766908dac7db9";
|
sha256 = "919b63cd0018df0913d9f230d36e5d8124bef5afe9d224072eaa1d40dc45fa28";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/en-US/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/en-US/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "en-US";
|
locale = "en-US";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "97fcb2332b1343f9b5e06efff7ea5a73c80212512ac2b2959537d1e255a8ce44";
|
sha256 = "1fc8e76d7840ec8fccdabe4765e72555e75e027d47359e7a3f2fb092a30d2673";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/es-AR/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/es-AR/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "es-AR";
|
locale = "es-AR";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "0af5917c4828c08425709f0fc3aca7c74668ece53721666d6e4004b637469b17";
|
sha256 = "0c38fe5f220b3ed9f096c026e05ebfb195bf6c545e2041fd5d1f84e95bc2c238";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/es-ES/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/es-ES/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "es-ES";
|
locale = "es-ES";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "6283c85e34f6ab7d25fdebb5ed70b1d26c601b3416cef45cc8f06a15e723d9b7";
|
sha256 = "db0dcd82200922451b79a00ad7660ad2e1df6a2abb84ea4ff7ebdc73a751c068";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/et/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/et/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "et";
|
locale = "et";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "ab1cefeb07ead51998a7f54befb0a291c065d8a0d440a6d2c7972fa64f345948";
|
sha256 = "a3c802a85f607d85c97e955c45ba4e35842da4bc5bebc6dd43407c6aea546d65";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/eu/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/eu/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "eu";
|
locale = "eu";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "f4ce3787e3cd46c8bcadbc6ab2a728e3b76ee2556ad5e4129e4418e844a8c4e6";
|
sha256 = "3bc5f4ceb596334fb9a570be31807898efe3684441fe9a9f96a28d16d4269864";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/fa/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/fa/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "fa";
|
locale = "fa";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "35da798ea7f613489820e4e42b1c78c078c21ee7f7521ef5ba21a7602fb302ae";
|
sha256 = "eba6a5b4bd14860d97a71c7eabcd893c733ae52ebc5e06c9e12afda86552d35a";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/fi/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/fi/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "fi";
|
locale = "fi";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "dd97b6c745b88a6493d280e5efc2165bc5895ec7ac56c1df63d7adcb860eec59";
|
sha256 = "77d8335a6c5fb8e302cc5a4490f6248e51e555e5d5c428116557b0cb560f2b14";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/fr/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/fr/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "fr";
|
locale = "fr";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "9d49108417933e1f79a285b99cf0e49f6a009a121084148da70f4cf93a238c34";
|
sha256 = "2fce215ad23039c43624e897353b8b696eff73281c0739050ca5621b1ad209c2";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/fy-NL/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/fy-NL/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "fy-NL";
|
locale = "fy-NL";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "efe33dbc8d7c6347359d30c63034a3553720ac806c1754752b0649d91ce293a4";
|
sha256 = "1c670d870e6e9cc1366467d0c0acfab98a83842442bcd3b7b2bb1d302c2cf331";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/ga-IE/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/ga-IE/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "ga-IE";
|
locale = "ga-IE";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "c99c54902c522ec9472ed6ea4a85e6be9dd0e013a2835a38d90b4b77554c05dc";
|
sha256 = "77207016b5cd5204c9dcf849ec099c5bdf3bee4d79ec8ecde2cf61dc6719fb8c";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/gd/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/gd/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "gd";
|
locale = "gd";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "af46f3aa8480469783a625553688f7ef5ff00bdcd9be9c98af7d49f98e8cba7e";
|
sha256 = "5ee8c00cd937b9e7c62b13c594db9138b9550ddefa0c38127f7636cdaea7e420";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/gl/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/gl/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "gl";
|
locale = "gl";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "bdf94938571db3959781b490fc74aaf1a48b42663b22ae32dfab97600772be0c";
|
sha256 = "2fe3765c8dcbb2a281f7de1ae481a9f725c2df785552d840e1f65f922e94d42e";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/he/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/he/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "he";
|
locale = "he";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "1e9f6f580751bcf518813a123a0e1f2f66cee92110516867b4844bbcaa2fa67f";
|
sha256 = "f63094c0bc5cdbdf0640d9281e52bcdbab517f3d72f84e4a01a120c148f39ea0";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/hr/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/hr/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "hr";
|
locale = "hr";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "a6727dce9ac4074ed5685086f224cc956eacf04b3aa54fc4b7d669e2d3a548e2";
|
sha256 = "0740acd2e924fb424790a806e2fef66ad43cf53e43fbaa87ac984225616b6167";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/hsb/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/hsb/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "hsb";
|
locale = "hsb";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "16f985d7c4520bd81bc1e5a8e939a2ce97e807ab0635625d38290b073defa79d";
|
sha256 = "bf6d4d7230d55ec1ddb7fb9764fc182dc8468bf57663661ef7e87d0762080900";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/hu/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/hu/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "hu";
|
locale = "hu";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "9e7c771cd0dfd8dd1b42721f9129d1fdd760c2d3f7bce407adec6c4f3e0fc955";
|
sha256 = "a4d9f65e964787fba470c0a091edbe7a21e667ab80e1f7dd1fc76290230aa721";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/hy-AM/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/hy-AM/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "hy-AM";
|
locale = "hy-AM";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "4a5878d9be7d0b60347a19c2533fe22ff0f02aeb5228070ecdc1bb5bd0ca5490";
|
sha256 = "9718afe2417006bda611b12c42ed2dc74d397cbd6703d86ca758119535226d0f";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/id/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/id/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "id";
|
locale = "id";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "80bb061ed6efa9396627bb05ef26247e92b49fe50787e04add488cc3c69c5304";
|
sha256 = "d3b9d86bddb1ed6db4a4e6456d09295d057da47aed4ad23a95021f3a2aa38ec4";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/is/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/is/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "is";
|
locale = "is";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "4d96a6de273846f133a307967e4d96f6594c8f4fdd6c16efd39f10bd5121cf60";
|
sha256 = "e2dc5cf9120dcaa54516393b9b14659b24a43a86809b3113724cc0480dad7a71";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/it/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/it/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "it";
|
locale = "it";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "f10c633cd2ab40a4845fe7c681094bbe18b2d0240c10d77ab2e47c633e10baaf";
|
sha256 = "66c24020386335156d2659f70570f798982f2cf36014fbb8b866f1e3870b9dcb";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/ja/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/ja/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "ja";
|
locale = "ja";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "b97a41e3e48c29f60aa22e9ce98bb4bab641ba633877d3086e92d1904bc7e34a";
|
sha256 = "ece2f1660ef41a31ae4116a32b9b025547a419fcbd8612d1a36d9bc0b9e821af";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/ka/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/ka/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "ka";
|
locale = "ka";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "c2a0bdf08c8ae9f5ca5df56eef07331834d52d4d8fefbe87e3f5f7bd31f83457";
|
sha256 = "b549016df313c46518ee50c03b7f075c78feefeaadfd5a5c0ec2508d0607d999";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/kab/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/kab/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "kab";
|
locale = "kab";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "4475c84a76bf254c6126384c15bb9721750cb935b2ab49b4825bc1d2c9552cc4";
|
sha256 = "c56fe1f7051a47c05834a7378313b24fe8fdbbd816692dcaeefaf3635f09eab9";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/kk/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/kk/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "kk";
|
locale = "kk";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "5e74e269de716b9239dd45254d660679f8cacba3264aab7565be68c16143bf40";
|
sha256 = "86594f4e1d92d495c76bbe20cadeb3bea74d5f57a4b3155edd01ff4f62c5f1a5";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/ko/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/ko/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "ko";
|
locale = "ko";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "b40047124044f3ba15f08526c1898f12d88e186f422202ce3aab1ee0f23cd0c7";
|
sha256 = "47c8cb4a58643c56f005fa36b0790344546f5efad5446c2b5b49040906eb9339";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/lt/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/lt/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "lt";
|
locale = "lt";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "f7bb95f825b8aa20f40851fd0e99ac1574e26f2a5c69dd7bfdc2f865a11051b5";
|
sha256 = "e3afe316e77d4c33e936574f32c3d477643b51fd0f0f228d52cce676c8ab4f82";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/ms/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/ms/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "ms";
|
locale = "ms";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "473ea13ae580d09237a04e08331d883eff6c419d61f0ba1afaa1c5a948da98b8";
|
sha256 = "626dd1acb63356a2f531095833b0e697231009f5b0c51f401a17e8551b21a32d";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/nb-NO/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/nb-NO/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "nb-NO";
|
locale = "nb-NO";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "efe8ac1e38a085caec95b817548c5cc06f45aac03bee5545cb65b93eb19efbf7";
|
sha256 = "fe236ce5d719b3ac205f47ab4837ea3ad5d6f2817c44e2e562b0a011480a91ce";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/nl/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/nl/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "nl";
|
locale = "nl";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "a646a84098185d299118305c651788bef0a88f805b08ff51bcc87067a5460c06";
|
sha256 = "33fb2a46384f38e887575297ad495eaaea0ff0910b59cc05ea4512dd9498b9eb";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/nn-NO/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/nn-NO/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "nn-NO";
|
locale = "nn-NO";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "14b765aa23671318b6356886f3bee0847570158c4215e0d106bc823df045414b";
|
sha256 = "5e724e31b26ae96a0b535495dd10b77c954a5a043e0353fd17962601ec042e3c";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/pa-IN/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/pa-IN/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "pa-IN";
|
locale = "pa-IN";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "ddc9dae4e4f7a9cd99d8e2e5041ac52432b6835f7b6e0867bc7ea2ff7283ba95";
|
sha256 = "ee1db2f6e9000ff4ca6ba4fd4b758109ea0f94d066fad9c20020e75935f5fc05";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/pl/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/pl/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "pl";
|
locale = "pl";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "396373ad618f35be40c79f1e67ba67f1e72dbb2ee250459f610cc1ad2b7bd2c4";
|
sha256 = "b09d9c4655b4c32b9554b83fdd2b2635586b9d8f669ec39f5722e7ac8175b79e";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/pt-BR/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/pt-BR/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "pt-BR";
|
locale = "pt-BR";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "0e62406a68fc33d7c77b10c2ae427c508ee491e33041be114b03c4eb630e8003";
|
sha256 = "f774513c0c23794c69112b962999512485beaa2a97517b06e335e4fce5b23d9a";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/pt-PT/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/pt-PT/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "pt-PT";
|
locale = "pt-PT";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "ba8e89a5a15fe69660758a83e3801800d1a15ab051d8ee581dd1b97b6a67ddd0";
|
sha256 = "39f0f2fd17ea216acc5383f3c65e4da8928d56e4b8bdf2d1bb76d6dfc8491ec1";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/rm/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/rm/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "rm";
|
locale = "rm";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "ac9705e6c64093d375db018116f66792eadef36fa32919bc467a0d08ed20fadc";
|
sha256 = "3a966692544873281adf12a850ae904e1304ce08d8bd09ede0ad8b0cf66b5f09";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/ro/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/ro/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "ro";
|
locale = "ro";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "4fdcb748d23044effd6fe4e94c525381e2dce3941c1829625c84eab795dc4797";
|
sha256 = "4514976e0a5d433b64fc28e42f3baca52e871f7c99434e2993984dda9025b370";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/ru/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/ru/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "ru";
|
locale = "ru";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "63f0d9be0baa91b3a65189ce9bee01d5984e04eba319484c69560cd10af750e9";
|
sha256 = "97915e34bbbf036fbe8093bdf79a426181c57b78bd8d8b7f99b97fd1c3dceb7c";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/si/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/si/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "si";
|
locale = "si";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "db371618474a3812c641d9518f04035c353c9e184b91f713d9b70f09b693f6d0";
|
sha256 = "e27e823a4a6141141b92c2c1c55cd77e591d3e2b05d0fa6cc9502b4bc21e67a8";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/sk/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/sk/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "sk";
|
locale = "sk";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "6b5370c99076c0955e3b3fb58be9649656fd12a32126a4bf2d54d51e9147c7c5";
|
sha256 = "ff4d89bc1e0ae8d10dc8dcf377c4b3c45ab1db38c0489ca328e0a8f3145772c6";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/sl/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/sl/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "sl";
|
locale = "sl";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "5c5ef16ae617f18f4ad4774bda932d8858c35d6ef6e61a5bd1c730564193bedb";
|
sha256 = "27d34b8508afa306d6ce94e73a2251071cf4480c5f55cc087597e56511e85173";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/sq/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/sq/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "sq";
|
locale = "sq";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "e8462127bcfdfec2b651b11d569918e7ffff37c7ab0b556c10434273e59b43d9";
|
sha256 = "3fb60c21d42ae9a961838081c12eea7e98e43a27ebc24ef7470e912bf13053ca";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/sr/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/sr/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "sr";
|
locale = "sr";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "9fe5e0091ebb9d3b0d07a6cc6dcb167b7608b0acc7ef5a5e24604e8d007001f5";
|
sha256 = "dab84cca4db8412b3ce40690e7b31df1d66b06979cb39f4efd8206684a802edc";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/sv-SE/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/sv-SE/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "sv-SE";
|
locale = "sv-SE";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "1b6d4b29e53b933418ba25b8284d62d218076b1dde09006e0508a060190b81ca";
|
sha256 = "cec350da20515ca0e5b317264e3969e1465e9d055de743c130c4011d5f3cc825";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/th/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/th/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "th";
|
locale = "th";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "68a90653d02c8b9f022b52693884f5bce8d60bb89c5099784347dd9c9e578c87";
|
sha256 = "0a8302af0995624d37c71757c851e8ba3ffdcbe89d90023c69c5f69a6ec888b7";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/tr/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/tr/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "tr";
|
locale = "tr";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "9776f2eceb7bfc15292d621d874a7fa3f092223752b81b65623a3294044022d0";
|
sha256 = "8c7013e71cd57795f0bddc5061b24e43fcd5b1f23abc7c1653ad345869d73b24";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/uk/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/uk/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "uk";
|
locale = "uk";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "9c3dde23f775176780ff24d89d46659b293b22cee45df9a2dcf1bf3f8257c19c";
|
sha256 = "ed9a30630c0821b515a2984257d6dc19410ca1f6a723e856bfe8758ad32b11f1";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/uz/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/uz/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "uz";
|
locale = "uz";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "b2d9d4b3e43fe3af5c602c4b429d4fb29461ace04498cf14b0f75fba7ea0c667";
|
sha256 = "b834c2f59b3945a362d1ace0dd5b6275a1ba90587c8fcb894678a188301f3848";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/vi/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/vi/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "vi";
|
locale = "vi";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "c2c7a721d82ad59022020cad3dd152271a83207fbd0f61b91d3c464aed16bcaf";
|
sha256 = "9f724e2c2e3faf0ad1d1ac6d08f8bc595ad16b408d7e712e3fc2f51b3d6f2a95";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/zh-CN/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/zh-CN/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "zh-CN";
|
locale = "zh-CN";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "9e26860c8d78d13fffcc9eb418fb4d34a7da07b5604f8d01eddc10471e57dd70";
|
sha256 = "7c8f7982d035bebf250542232d782834709becd60c766e6bd85a617bc6a443bd";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.12.0/linux-i686/zh-TW/thunderbird-78.12.0.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.13.0/linux-i686/zh-TW/thunderbird-78.13.0.tar.bz2";
|
||||||
locale = "zh-TW";
|
locale = "zh-TW";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "403ab2f3262ce3e79d2261ca2afd8ddca98c116086dda620bbe54c45d2111632";
|
sha256 = "a4c90eb3a5bf2fcd04b40b60e976accda049d10666e487f477c8d154c8928be5";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,357 +0,0 @@
|
||||||
{ autoconf213
|
|
||||||
, bzip2
|
|
||||||
, cargo
|
|
||||||
, common-updater-scripts
|
|
||||||
, copyDesktopItems
|
|
||||||
, coreutils
|
|
||||||
, curl
|
|
||||||
, dbus
|
|
||||||
, dbus-glib
|
|
||||||
, fetchpatch
|
|
||||||
, fetchurl
|
|
||||||
, file
|
|
||||||
, fontconfig
|
|
||||||
, freetype
|
|
||||||
, glib
|
|
||||||
, gnugrep
|
|
||||||
, gnupg
|
|
||||||
, gnused
|
|
||||||
, gpgme
|
|
||||||
, icu
|
|
||||||
, jemalloc
|
|
||||||
, lib
|
|
||||||
, libevent
|
|
||||||
, libGL
|
|
||||||
, libGLU
|
|
||||||
, libjpeg
|
|
||||||
, libnotify
|
|
||||||
, libpng
|
|
||||||
, libstartup_notification
|
|
||||||
, libvpx
|
|
||||||
, libwebp
|
|
||||||
, llvmPackages
|
|
||||||
, m4
|
|
||||||
, makeDesktopItem
|
|
||||||
, nasm
|
|
||||||
, nodejs
|
|
||||||
, nspr
|
|
||||||
, nss_3_53
|
|
||||||
, pango
|
|
||||||
, perl
|
|
||||||
, pkg-config
|
|
||||||
, python2
|
|
||||||
, python3
|
|
||||||
, runtimeShell
|
|
||||||
, rust-cbindgen
|
|
||||||
, rustc
|
|
||||||
, sqlite
|
|
||||||
, stdenv
|
|
||||||
, systemd
|
|
||||||
, unzip
|
|
||||||
, which
|
|
||||||
, writeScript
|
|
||||||
, xdg-utils
|
|
||||||
, xidel
|
|
||||||
, xorg
|
|
||||||
, yasm
|
|
||||||
, zip
|
|
||||||
, zlib
|
|
||||||
|
|
||||||
, debugBuild ? false
|
|
||||||
|
|
||||||
, alsaSupport ? stdenv.isLinux, alsa-lib
|
|
||||||
, pulseaudioSupport ? stdenv.isLinux, libpulseaudio
|
|
||||||
, gtk3Support ? true, gtk2, gtk3, wrapGAppsHook
|
|
||||||
, waylandSupport ? true, libdrm
|
|
||||||
, libxkbcommon, calendarSupport ? true
|
|
||||||
|
|
||||||
# Use official trademarked branding. Permission obtained at:
|
|
||||||
# https://github.com/NixOS/nixpkgs/pull/94880#issuecomment-675907971
|
|
||||||
, enableOfficialBranding ? true
|
|
||||||
}:
|
|
||||||
|
|
||||||
assert waylandSupport -> gtk3Support == true;
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "thunderbird";
|
|
||||||
version = "78.12.0";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url =
|
|
||||||
"mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
|
|
||||||
sha512 =
|
|
||||||
"8a9275f6a454b16215e9440d8b68926e56221dbb416f77ea0cd0a42853bdd26f35514e792564879c387271bd43d8ee966577f133f8ae7781f43e8bec9ab78696";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
autoconf213
|
|
||||||
cargo
|
|
||||||
copyDesktopItems
|
|
||||||
gnused
|
|
||||||
llvmPackages.llvm
|
|
||||||
m4
|
|
||||||
nasm
|
|
||||||
nodejs
|
|
||||||
perl
|
|
||||||
pkg-config
|
|
||||||
python2
|
|
||||||
python3
|
|
||||||
rust-cbindgen
|
|
||||||
rustc
|
|
||||||
which
|
|
||||||
yasm
|
|
||||||
unzip
|
|
||||||
] ++ lib.optional gtk3Support wrapGAppsHook;
|
|
||||||
|
|
||||||
buildInputs = [
|
|
||||||
bzip2
|
|
||||||
dbus
|
|
||||||
dbus-glib
|
|
||||||
file
|
|
||||||
fontconfig
|
|
||||||
freetype
|
|
||||||
glib
|
|
||||||
gtk2
|
|
||||||
icu
|
|
||||||
jemalloc
|
|
||||||
libGL
|
|
||||||
libGLU
|
|
||||||
libevent
|
|
||||||
libjpeg
|
|
||||||
libnotify
|
|
||||||
libpng
|
|
||||||
libstartup_notification
|
|
||||||
libvpx
|
|
||||||
libwebp
|
|
||||||
nspr
|
|
||||||
nss_3_53
|
|
||||||
pango
|
|
||||||
perl
|
|
||||||
sqlite
|
|
||||||
xorg.libX11
|
|
||||||
xorg.libXScrnSaver
|
|
||||||
xorg.libXcursor
|
|
||||||
xorg.libXext
|
|
||||||
xorg.libXft
|
|
||||||
xorg.libXi
|
|
||||||
xorg.libXrender
|
|
||||||
xorg.libXt
|
|
||||||
xorg.pixman
|
|
||||||
xorg.xorgproto
|
|
||||||
xorg.libXdamage
|
|
||||||
zip
|
|
||||||
zlib
|
|
||||||
] ++ lib.optional alsaSupport alsa-lib
|
|
||||||
++ lib.optional gtk3Support gtk3
|
|
||||||
++ lib.optional pulseaudioSupport libpulseaudio
|
|
||||||
++ lib.optionals waylandSupport [ libxkbcommon libdrm ];
|
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE =[
|
|
||||||
"-I${glib.dev}/include/gio-unix-2.0"
|
|
||||||
"-I${nss_3_53.dev}/include/nss"
|
|
||||||
];
|
|
||||||
|
|
||||||
patches = [
|
|
||||||
./no-buildconfig.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
rm -rf obj-x86_64-pc-linux-gnu
|
|
||||||
'';
|
|
||||||
|
|
||||||
hardeningDisable = [ "format" ];
|
|
||||||
|
|
||||||
preConfigure = ''
|
|
||||||
# remove distributed configuration files
|
|
||||||
rm -f configure
|
|
||||||
rm -f js/src/configure
|
|
||||||
rm -f .mozconfig*
|
|
||||||
|
|
||||||
configureScript="$(realpath ./mach) configure"
|
|
||||||
# AS=as in the environment causes build failure https://bugzilla.mozilla.org/show_bug.cgi?id=1497286
|
|
||||||
unset AS
|
|
||||||
|
|
||||||
export MOZCONFIG=$(pwd)/mozconfig
|
|
||||||
|
|
||||||
# Set C flags for Rust's bindgen program. Unlike ordinary C
|
|
||||||
# compilation, bindgen does not invoke $CC directly. Instead it
|
|
||||||
# uses LLVM's libclang. To make sure all necessary flags are
|
|
||||||
# included we need to look in a few places.
|
|
||||||
# TODO: generalize this process for other use-cases.
|
|
||||||
|
|
||||||
BINDGEN_CFLAGS="$(< ${stdenv.cc}/nix-support/libc-crt1-cflags) \
|
|
||||||
$(< ${stdenv.cc}/nix-support/libc-cflags) \
|
|
||||||
$(< ${stdenv.cc}/nix-support/cc-cflags) \
|
|
||||||
$(< ${stdenv.cc}/nix-support/libcxx-cxxflags) \
|
|
||||||
${
|
|
||||||
lib.optionalString stdenv.cc.isClang
|
|
||||||
"-idirafter ${stdenv.cc.cc}/lib/clang/${
|
|
||||||
lib.getVersion stdenv.cc.cc
|
|
||||||
}/include"
|
|
||||||
} \
|
|
||||||
${
|
|
||||||
lib.optionalString stdenv.cc.isGNU
|
|
||||||
"-isystem ${stdenv.cc.cc}/include/c++/${
|
|
||||||
lib.getVersion stdenv.cc.cc
|
|
||||||
} -isystem ${stdenv.cc.cc}/include/c++/${
|
|
||||||
lib.getVersion stdenv.cc.cc
|
|
||||||
}/${stdenv.hostPlatform.config}"
|
|
||||||
} \
|
|
||||||
$NIX_CFLAGS_COMPILE"
|
|
||||||
|
|
||||||
echo "ac_add_options BINDGEN_CFLAGS='$BINDGEN_CFLAGS'" >> $MOZCONFIG
|
|
||||||
'';
|
|
||||||
|
|
||||||
configureFlags = let
|
|
||||||
toolkitSlug = if gtk3Support then
|
|
||||||
"3${lib.optionalString waylandSupport "-wayland"}"
|
|
||||||
else
|
|
||||||
"2";
|
|
||||||
toolkitValue = "cairo-gtk${toolkitSlug}";
|
|
||||||
in [
|
|
||||||
"--enable-application=comm/mail"
|
|
||||||
|
|
||||||
"--with-system-icu"
|
|
||||||
"--with-system-jpeg"
|
|
||||||
"--with-system-libevent"
|
|
||||||
"--with-system-nspr"
|
|
||||||
"--with-system-nss"
|
|
||||||
"--with-system-png" # needs APNG support
|
|
||||||
"--with-system-zlib"
|
|
||||||
"--with-system-webp"
|
|
||||||
"--with-system-libvpx"
|
|
||||||
|
|
||||||
"--enable-rust-simd"
|
|
||||||
"--enable-crashreporter"
|
|
||||||
"--enable-default-toolkit=${toolkitValue}"
|
|
||||||
"--enable-js-shell"
|
|
||||||
"--enable-necko-wifi"
|
|
||||||
"--enable-system-ffi"
|
|
||||||
"--enable-system-pixman"
|
|
||||||
|
|
||||||
"--disable-tests"
|
|
||||||
"--disable-updater"
|
|
||||||
"--enable-jemalloc"
|
|
||||||
] ++ (if debugBuild then [
|
|
||||||
"--enable-debug"
|
|
||||||
"--enable-profiling"
|
|
||||||
] else [
|
|
||||||
"--disable-debug"
|
|
||||||
"--enable-release"
|
|
||||||
"--disable-debug-symbols"
|
|
||||||
"--enable-optimize"
|
|
||||||
"--enable-strip"
|
|
||||||
]) ++ lib.optionals (!stdenv.hostPlatform.isi686) [
|
|
||||||
# on i686-linux: --with-libclang-path is not available in this configuration
|
|
||||||
"--with-libclang-path=${llvmPackages.libclang.lib}/lib"
|
|
||||||
"--with-clang-path=${llvmPackages.clang}/bin/clang"
|
|
||||||
] ++ lib.optional alsaSupport "--enable-alsa"
|
|
||||||
++ lib.optional calendarSupport "--enable-calendar"
|
|
||||||
++ lib.optional enableOfficialBranding "--enable-official-branding"
|
|
||||||
++ lib.optional pulseaudioSupport "--enable-pulseaudio";
|
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
|
||||||
|
|
||||||
postConfigure = ''
|
|
||||||
cd obj-*
|
|
||||||
'';
|
|
||||||
|
|
||||||
makeFlags = lib.optionals enableOfficialBranding [
|
|
||||||
"MOZILLA_OFFICIAL=1"
|
|
||||||
"BUILD_OFFICIAL=1"
|
|
||||||
];
|
|
||||||
|
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
desktopItems = [
|
|
||||||
(makeDesktopItem {
|
|
||||||
categories = lib.concatStringsSep ";" [ "Application" "Network" ];
|
|
||||||
desktopName = "Thunderbird";
|
|
||||||
genericName = "Mail Reader";
|
|
||||||
name = "thunderbird";
|
|
||||||
exec = "thunderbird %U";
|
|
||||||
icon = "thunderbird";
|
|
||||||
mimeType = lib.concatStringsSep ";" [
|
|
||||||
# Email
|
|
||||||
"x-scheme-handler/mailto"
|
|
||||||
"message/rfc822"
|
|
||||||
# Feeds
|
|
||||||
"x-scheme-handler/feed"
|
|
||||||
"application/rss+xml"
|
|
||||||
"application/x-extension-rss"
|
|
||||||
# Newsgroups
|
|
||||||
"x-scheme-handler/news"
|
|
||||||
"x-scheme-handler/snews"
|
|
||||||
"x-scheme-handler/nntp"
|
|
||||||
];
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
# TODO: Move to a dev output?
|
|
||||||
rm -rf $out/include $out/lib/thunderbird-devel-* $out/share/idl
|
|
||||||
install -Dm 444 $out/lib/thunderbird/chrome/icons/default/default256.png $out/share/icons/hicolor/256x256/apps/thunderbird.png
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Note on GPG support:
|
|
||||||
# Thunderbird's native GPG support does not yet support smartcards.
|
|
||||||
# The official upstream recommendation is to configure fall back to gnupg
|
|
||||||
# using the Thunderbird config `mail.openpgp.allow_external_gnupg`
|
|
||||||
# and GPG keys set up; instructions with pictures at:
|
|
||||||
# https://anweshadas.in/how-to-use-yubikey-or-any-gpg-smartcard-in-thunderbird-78/
|
|
||||||
# For that to work out of the box, it requires `gnupg` on PATH and
|
|
||||||
# `gpgme` in `LD_LIBRARY_PATH`; we do this below.
|
|
||||||
|
|
||||||
preFixup = ''
|
|
||||||
# Needed to find Mozilla runtime
|
|
||||||
gappsWrapperArgs+=(
|
|
||||||
--argv0 "$out/bin/thunderbird"
|
|
||||||
--set MOZ_APP_LAUNCHER thunderbird
|
|
||||||
# https://github.com/NixOS/nixpkgs/pull/61980
|
|
||||||
--set SNAP_NAME "thunderbird"
|
|
||||||
--set MOZ_LEGACY_PROFILES 1
|
|
||||||
--set MOZ_ALLOW_DOWNGRADE 1
|
|
||||||
--prefix PATH : "${lib.getBin gnupg}/bin"
|
|
||||||
--prefix PATH : "${lib.getBin xdg-utils}/bin"
|
|
||||||
--prefix LD_LIBRARY_PATH : "${lib.getLib gpgme}/lib"
|
|
||||||
)
|
|
||||||
'';
|
|
||||||
|
|
||||||
# FIXME: The XUL portion of this can probably be removed as soon as we
|
|
||||||
# package a Thunderbird >=71.0 since XUL shouldn't be anymore (in use)?
|
|
||||||
postFixup = ''
|
|
||||||
local xul="$out/lib/thunderbird/libxul.so"
|
|
||||||
patchelf --set-rpath "${libnotify}/lib:${lib.getLib systemd}/lib:$(patchelf --print-rpath $xul)" $xul
|
|
||||||
'';
|
|
||||||
|
|
||||||
doInstallCheck = true;
|
|
||||||
installCheckPhase = ''
|
|
||||||
"$out/bin/thunderbird" --version
|
|
||||||
'';
|
|
||||||
|
|
||||||
disallowedRequisites = [
|
|
||||||
stdenv.cc
|
|
||||||
];
|
|
||||||
|
|
||||||
passthru.updateScript = import ./../../browsers/firefox/update.nix {
|
|
||||||
attrPath = "thunderbird-78";
|
|
||||||
baseUrl = "http://archive.mozilla.org/pub/thunderbird/releases/";
|
|
||||||
inherit writeScript lib common-updater-scripts xidel coreutils gnused
|
|
||||||
gnugrep gnupg curl runtimeShell;
|
|
||||||
};
|
|
||||||
|
|
||||||
requiredSystemFeatures = [ "big-parallel" ];
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "A full-featured e-mail client";
|
|
||||||
homepage = "https://www.thunderbird.net";
|
|
||||||
maintainers = with maintainers; [
|
|
||||||
eelco
|
|
||||||
lovesegfault
|
|
||||||
pierron
|
|
||||||
vcunat
|
|
||||||
];
|
|
||||||
platforms = platforms.linux;
|
|
||||||
license = licenses.mpl20;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
Remove about:buildconfig. If used as-is, it would add unnecessary runtime dependencies.
|
||||||
|
--- a/comm/mail/base/jar.mn
|
||||||
|
+++ b/comm/mail/base/jar.mn
|
||||||
|
@@ -119,9 +119,7 @@
|
||||||
|
% override chrome://mozapps/content/profile/profileDowngrade.js chrome://messenger/content/profileDowngrade.js
|
||||||
|
% override chrome://mozapps/content/profile/profileDowngrade.xhtml chrome://messenger/content/profileDowngrade.xhtml
|
||||||
|
|
||||||
|
-* content/messenger/buildconfig.html (content/buildconfig.html)
|
||||||
|
content/messenger/buildconfig.css (content/buildconfig.css)
|
||||||
|
-% override chrome://global/content/buildconfig.html chrome://messenger/content/buildconfig.html
|
||||||
|
% override chrome://global/content/buildconfig.css chrome://messenger/content/buildconfig.css
|
||||||
|
|
||||||
|
# L10n resources and overrides.
|
|
@ -0,0 +1,13 @@
|
||||||
|
Remove about:buildconfig. If used as-is, it would add unnecessary runtime dependencies.
|
||||||
|
--- a/comm/mail/base/jar.mn
|
||||||
|
+++ b/comm/mail/base/jar.mn
|
||||||
|
@@ -119,9 +119,6 @@ messenger.jar:
|
||||||
|
% override chrome://mozapps/content/profile/profileDowngrade.js chrome://messenger/content/profileDowngrade.js
|
||||||
|
% override chrome://mozapps/content/profile/profileDowngrade.xhtml chrome://messenger/content/profileDowngrade.xhtml
|
||||||
|
|
||||||
|
-* content/messenger/buildconfig.html (content/buildconfig.html)
|
||||||
|
-% override chrome://global/content/buildconfig.html chrome://messenger/content/buildconfig.html
|
||||||
|
-
|
||||||
|
# L10n resources and overrides.
|
||||||
|
% override chrome://mozapps/locale/profile/profileDowngrade.dtd chrome://messenger/locale/profileDowngrade.dtd
|
||||||
|
% override chrome://global/locale/netError.dtd chrome://messenger/locale/netError.dtd
|
|
@ -1,37 +0,0 @@
|
||||||
Remove about:buildconfig. If used as-is, it would add unnecessary runtime dependencies.
|
|
||||||
diff -ru -x '*~' a/docshell/base/nsAboutRedirector.cpp b/docshell/base/nsAboutRedirector.cpp
|
|
||||||
--- a/docshell/base/nsAboutRedirector.cpp
|
|
||||||
+++ b/docshell/base/nsAboutRedirector.cpp
|
|
||||||
@@ -63,8 +63,6 @@
|
|
||||||
{"about", "chrome://global/content/aboutAbout.html", 0},
|
|
||||||
{"addons", "chrome://mozapps/content/extensions/extensions.xhtml",
|
|
||||||
nsIAboutModule::ALLOW_SCRIPT},
|
|
||||||
- {"buildconfig", "chrome://global/content/buildconfig.html",
|
|
||||||
- nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT},
|
|
||||||
{"checkerboard", "chrome://global/content/aboutCheckerboard.html",
|
|
||||||
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
|
|
||||||
nsIAboutModule::ALLOW_SCRIPT},
|
|
||||||
diff -ru -x '*~' a/toolkit/content/jar.mn b/toolkit/content/jar.mn
|
|
||||||
--- a/toolkit/content/jar.mn
|
|
||||||
+++ b/toolkit/content/jar.mn
|
|
||||||
@@ -35,7 +35,6 @@
|
|
||||||
content/global/plugins.js
|
|
||||||
content/global/browser-child.js
|
|
||||||
content/global/browser-content.js
|
|
||||||
-* content/global/buildconfig.html
|
|
||||||
content/global/buildconfig.css
|
|
||||||
content/global/contentAreaUtils.js
|
|
||||||
content/global/datepicker.xhtml
|
|
||||||
diff -ru -x '*~' a/comm/mail/base/jar.mn b/comm/mail/base/jar.mn
|
|
||||||
--- a/comm/mail/base/jar.mn
|
|
||||||
+++ b/comm/mail/base/jar.mn
|
|
||||||
@@ -119,9 +119,7 @@
|
|
||||||
% override chrome://mozapps/content/profile/profileDowngrade.js chrome://messenger/content/profileDowngrade.js
|
|
||||||
% override chrome://mozapps/content/profile/profileDowngrade.xhtml chrome://messenger/content/profileDowngrade.xhtml
|
|
||||||
|
|
||||||
-* content/messenger/buildconfig.html (content/buildconfig.html)
|
|
||||||
content/messenger/buildconfig.css (content/buildconfig.css)
|
|
||||||
-% override chrome://global/content/buildconfig.html chrome://messenger/content/buildconfig.html
|
|
||||||
% override chrome://global/content/buildconfig.css chrome://messenger/content/buildconfig.css
|
|
||||||
|
|
||||||
# L10n resources and overrides.
|
|
|
@ -0,0 +1,66 @@
|
||||||
|
{ stdenv, lib, callPackage, fetchurl, fetchpatch, nixosTests }:
|
||||||
|
|
||||||
|
let
|
||||||
|
common = opts: callPackage (import ../../browsers/firefox/common.nix opts) {
|
||||||
|
webrtcSupport = false;
|
||||||
|
geolocationSupport = false;
|
||||||
|
};
|
||||||
|
in
|
||||||
|
|
||||||
|
rec {
|
||||||
|
thunderbird = common rec {
|
||||||
|
pname = "thunderbird";
|
||||||
|
version = "91.0";
|
||||||
|
application = "comm/mail";
|
||||||
|
binaryName = pname;
|
||||||
|
src = fetchurl {
|
||||||
|
url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
|
||||||
|
sha512 = "f3fcaff97b37ef41850895e44fbd2f42b0f1cb982542861bef89ef7ee606c6332296d61f666106be9455078933a2844c46bf243b71cc4364d9ff457d9c808a7a";
|
||||||
|
};
|
||||||
|
patches = [
|
||||||
|
./no-buildconfig-90.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A full-featured e-mail client";
|
||||||
|
homepage = "https://thunderbird.net/";
|
||||||
|
maintainers = with maintainers; [ eelco lovesegfault pierron vcunat ];
|
||||||
|
platforms = platforms.unix;
|
||||||
|
badPlatforms = platforms.darwin;
|
||||||
|
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.
|
||||||
|
license = licenses.mpl20;
|
||||||
|
};
|
||||||
|
updateScript = callPackage ./update.nix {
|
||||||
|
attrPath = "thunderbird-unwrapped";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
thunderbird-78 = common rec {
|
||||||
|
pname = "thunderbird";
|
||||||
|
version = "78.13.0";
|
||||||
|
application = "comm/mail";
|
||||||
|
binaryName = pname;
|
||||||
|
src = fetchurl {
|
||||||
|
url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
|
||||||
|
sha512 = "daee9ea9e57bdfce231a35029807f279a06f8790d71efc8998c78eb42d99a93cf98623170947df99202da038f949ba9111a7ff7adbd43c161794deb6791370a0";
|
||||||
|
};
|
||||||
|
patches = [
|
||||||
|
./no-buildconfig-78.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A full-featured e-mail client";
|
||||||
|
homepage = "https://thunderbird.net/";
|
||||||
|
maintainers = with maintainers; [ eelco lovesegfault pierron vcunat ];
|
||||||
|
platforms = platforms.unix;
|
||||||
|
badPlatforms = platforms.darwin;
|
||||||
|
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.
|
||||||
|
license = licenses.mpl20;
|
||||||
|
};
|
||||||
|
updateScript = callPackage ./update.nix {
|
||||||
|
attrPath = "thunderbird-78-unwrapped";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{ callPackage
|
||||||
|
, ...
|
||||||
|
}@args:
|
||||||
|
|
||||||
|
callPackage ../../browsers/firefox/update.nix ({
|
||||||
|
baseUrl = "http://archive.mozilla.org/pub/thunderbird/releases/";
|
||||||
|
} // (builtins.removeAttrs args ["callPackage"]))
|
|
@ -0,0 +1,23 @@
|
||||||
|
{ lib, wrapFirefox, gpgme, gnupg }:
|
||||||
|
|
||||||
|
browser:
|
||||||
|
args:
|
||||||
|
|
||||||
|
(wrapFirefox browser ({
|
||||||
|
libName = "thunderbird";
|
||||||
|
} // args))
|
||||||
|
|
||||||
|
.overrideAttrs (old: {
|
||||||
|
# Thunderbird's native GPG support does not yet support smartcards.
|
||||||
|
# The official upstream recommendation is to configure fall back to gnupg
|
||||||
|
# using the Thunderbird config `mail.openpgp.allow_external_gnupg`
|
||||||
|
# and GPG keys set up; instructions with pictures at:
|
||||||
|
# https://anweshadas.in/how-to-use-yubikey-or-any-gpg-smartcard-in-thunderbird-78/
|
||||||
|
# For that to work out of the box, it requires `gnupg` on PATH and
|
||||||
|
# `gpgme` in `LD_LIBRARY_PATH`; we do this below.
|
||||||
|
buildCommand = old.buildCommand + ''
|
||||||
|
wrapProgram $out/bin/thunderbird \
|
||||||
|
--prefix LD_LIBRARY_PATH ':' "${lib.makeLibraryPath [ gpgme ]}" \
|
||||||
|
--prefix PATH ':' "${lib.makeBinPath [ gnupg ]}"
|
||||||
|
'';
|
||||||
|
})
|
|
@ -21,13 +21,13 @@
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "nextcloud-client";
|
pname = "nextcloud-client";
|
||||||
version = "3.3.0";
|
version = "3.3.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "nextcloud";
|
owner = "nextcloud";
|
||||||
repo = "desktop";
|
repo = "desktop";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-KMFFRxNQUNcu7Q5515lNbEMyCWIvzXXC//s3WAWxw4g=";
|
sha256 = "sha256-2oX3V84ScUV08/WaWJQPLJIni7KvJa/YBRBTWVdRO2U=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|
|
@ -7,11 +7,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gnunet";
|
pname = "gnunet";
|
||||||
version = "0.14.1";
|
version = "0.15.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnu/gnunet/${pname}-${version}.tar.gz";
|
url = "mirror://gnu/gnunet/${pname}-${version}.tar.gz";
|
||||||
sha256 = "1hhqv994akymf4s593mc1wpsjy6hccd0zbdim3qmc1y3f32hacja";
|
sha256 = "sha256-zKI9b7QIkKXrLMrkuPfnTI5OhNP8ovQZ13XLSljdmmc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, makeWrapper, perlPackages }:
|
{ lib, stdenv, fetchFromGitHub, makeWrapper, perlPackages, installShellFiles }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "sieve-connect";
|
pname = "sieve-connect";
|
||||||
|
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ perlPackages.perl ];
|
buildInputs = [ perlPackages.perl ];
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper installShellFiles ];
|
||||||
|
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
# Fixes failing build when not building in git repo
|
# Fixes failing build when not building in git repo
|
||||||
|
@ -25,9 +25,9 @@ stdenv.mkDerivation rec {
|
||||||
buildFlags = [ "PERL5LIB=${perlPackages.makePerlPath [ perlPackages.FileSlurp ]}" "bin" "man" ];
|
buildFlags = [ "PERL5LIB=${perlPackages.makePerlPath [ perlPackages.FileSlurp ]}" "bin" "man" ];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin $out/share/man/man1
|
mkdir -p $out/bin
|
||||||
install -m 755 sieve-connect $out/bin
|
install -m 755 sieve-connect $out/bin
|
||||||
gzip -c sieve-connect.1 > $out/share/man/man1/sieve-connect.1.gz
|
installManPage sieve-connect.1
|
||||||
|
|
||||||
wrapProgram $out/bin/sieve-connect \
|
wrapProgram $out/bin/sieve-connect \
|
||||||
--prefix PERL5LIB : "${with perlPackages; makePerlPath [
|
--prefix PERL5LIB : "${with perlPackages; makePerlPath [
|
||||||
|
|
|
@ -16,13 +16,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "agenda";
|
pname = "agenda";
|
||||||
version = "1.1.0";
|
version = "1.1.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "dahenson";
|
owner = "dahenson";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "0yfapapsanqacaa83iagar88i335yy2jvay8y6z7gkri7avbs4am";
|
sha256 = "sha256-K6ZtYllxBzLUPS2qeSxtplXqayB1m49sqmB28tHDS14=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
{ lib, stdenv, fetchurl, jre, makeWrapper, copyDesktopItems, makeDesktopItem, unzip }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "logisim-evolution";
|
||||||
|
version = "3.5.0";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://github.com/logisim-evolution/logisim-evolution/releases/download/v${version}/logisim-evolution-${version}-all.jar";
|
||||||
|
sha256 = "1r6im4gmjbnckx8jig6bxi5lxv06lwdnpxkyfalsfmw4nybd5arw";
|
||||||
|
};
|
||||||
|
|
||||||
|
dontUnpack = true;
|
||||||
|
|
||||||
|
nativeBuildInputs = [ makeWrapper copyDesktopItems unzip ];
|
||||||
|
|
||||||
|
desktopItems = [
|
||||||
|
(makeDesktopItem {
|
||||||
|
name = pname;
|
||||||
|
desktopName = "Logisim-evolution";
|
||||||
|
exec = "logisim-evolution";
|
||||||
|
icon = "logisim-evolution";
|
||||||
|
comment = meta.description;
|
||||||
|
categories = "Education;";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
mkdir -p $out/bin
|
||||||
|
makeWrapper ${jre}/bin/java $out/bin/logisim-evolution --add-flags "-jar $src"
|
||||||
|
|
||||||
|
unzip $src resources/logisim/img/logisim-icon.svg
|
||||||
|
install -D resources/logisim/img/logisim-icon.svg $out/share/pixmaps/logisim-evolution.svg
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/logisim-evolution/logisim-evolution";
|
||||||
|
description = "Digital logic designer and simulator";
|
||||||
|
maintainers = with maintainers; [ angustrau ];
|
||||||
|
license = licenses.gpl2Plus;
|
||||||
|
platforms = platforms.unix;
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
{ lib, stdenv, fetchurl, bzip2, gfortran, libX11, libXmu, libXt, libjpeg, libpng
|
{ lib, stdenv, fetchurl, bzip2, gfortran, libX11, libXmu, libXt, libjpeg, libpng
|
||||||
, libtiff, ncurses, pango, pcre2, perl, readline, tcl, texLive, tk, xz, zlib
|
, libtiff, ncurses, pango, pcre2, perl, readline, tcl, texLive, tk, xz, zlib
|
||||||
, less, texinfo, graphviz, icu, pkg-config, bison, imake, which, jdk, blas, lapack
|
, less, texinfo, graphviz, icu, pkg-config, bison, imake, which, jdk, blas, lapack
|
||||||
, curl, Cocoa, Foundation, libobjc, libcxx, tzdata, fetchpatch
|
, curl, Cocoa, Foundation, libobjc, libcxx, tzdata
|
||||||
, withRecommendedPackages ? true
|
, withRecommendedPackages ? true
|
||||||
, enableStrictBarrier ? false
|
, enableStrictBarrier ? false
|
||||||
# R as of writing does not support outputting both .so and .a files; it outputs:
|
# R as of writing does not support outputting both .so and .a files; it outputs:
|
||||||
|
@ -13,11 +13,11 @@ assert (!blas.isILP64) && (!lapack.isILP64);
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "R";
|
pname = "R";
|
||||||
version = "4.0.4";
|
version = "4.1.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://cran.r-project.org/src/base/R-${lib.versions.major version}/${pname}-${version}.tar.gz";
|
url = "https://cran.r-project.org/src/base/R-${lib.versions.major version}/${pname}-${version}.tar.gz";
|
||||||
sha256 = "0bl098xcv8v316kqnf43v6gb4kcsv31ydqfm1f7qr824jzb2fgsj";
|
sha256 = "0r6kpnxjbvb7gdfg4m1z8zc6xd225vw81wrnf05ps9ajawk06pji";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontUseImakeConfigure = true;
|
dontUseImakeConfigure = true;
|
||||||
|
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./no-usr-local-search-paths.patch
|
./no-usr-local-search-paths.patch
|
||||||
./fix-failing-test.patch
|
./skip-check-for-aarch64.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
prePatch = lib.optionalString stdenv.isDarwin ''
|
prePatch = lib.optionalString stdenv.isDarwin ''
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
From e8f54bc562eb301d204b5f880614be58a2b39a2b Mon Sep 17 00:00:00 2001
|
|
||||||
From: maechler <maechler@00db46b3-68df-0310-9c12-caf00c1e9a41>
|
|
||||||
Date: Mon, 30 Mar 2020 19:15:59 +0000
|
|
||||||
Subject: [PATCH] no longer fail in norm() check for broken OpenBLAS Lapack
|
|
||||||
3.9.0
|
|
||||||
|
|
||||||
git-svn-id: https://svn.r-project.org/R/trunk@78112 00db46b3-68df-0310-9c12-caf00c1e9a41
|
|
||||||
---
|
|
||||||
tests/reg-tests-1d.R | 3 ++-
|
|
||||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/tests/reg-tests-1d.R b/tests/reg-tests-1d.R
|
|
||||||
index 6b7de765a95..fafd6911e7a 100644
|
|
||||||
--- a/tests/reg-tests-1d.R
|
|
||||||
+++ b/tests/reg-tests-1d.R
|
|
||||||
@@ -3836,7 +3836,8 @@ stopifnot(is.na( norm(diag(c(1, NA)), "2") ))
|
|
||||||
## norm(<matrix-w-NA>, "F")
|
|
||||||
(m <- cbind(0, c(NA, 0), 0:-1))
|
|
||||||
nTypes <- eval(formals(base::norm)$type) # "O" "I" "F" "M" "2"
|
|
||||||
-stopifnot(is.na( print(vapply(nTypes, norm, 0., x = m)) )) # print(): show NA *or* NaN
|
|
||||||
+print( # stopifnot( -- for now, as Lapack is still broken in some OpenBLAS -- FIXME
|
|
||||||
+ is.na( print(vapply(nTypes, norm, 0., x = m)) )) # print(): show NA *or* NaN
|
|
||||||
## "F" gave non-NA with LAPACK 3.9.0, before our patch in R-devel and R-patched
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
diff -ur a/src/library/stats/man/nls.Rd b/src/library/stats/man/nls.Rd
|
||||||
|
--- a/src/library/stats/man/nls.Rd 2021-05-21 19:15:02.000000000 -0300
|
||||||
|
+++ b/src/library/stats/man/nls.Rd 2021-08-12 12:39:00.094758280 -0300
|
||||||
|
@@ -287,7 +287,7 @@
|
||||||
|
options(digits = 10) # more accuracy for 'trace'
|
||||||
|
## IGNORE_RDIFF_BEGIN
|
||||||
|
try(nlm1 <- update(nlmod, control = list(tol = 1e-7))) # where central diff. work here:
|
||||||
|
- (nlm2 <- update(nlmod, control = list(tol = 8e-8, nDcentral=TRUE), trace=TRUE))
|
||||||
|
+ (nlm2 <- update(nlmod, control = list(tol = 8e-8, nDcentral=TRUE, warnOnly=TRUE), trace=TRUE))
|
||||||
|
## --> convergence tolerance 4.997e-8 (in 11 iter.)
|
||||||
|
## IGNORE_RDIFF_END
|
|
@ -87,13 +87,18 @@ rustPlatform.buildRustPackage rec {
|
||||||
buildInputs = runtimeDeps;
|
buildInputs = runtimeDeps;
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
|
# terminfo
|
||||||
mkdir -p $terminfo/share/terminfo/w $out/nix-support
|
mkdir -p $terminfo/share/terminfo/w $out/nix-support
|
||||||
tic -x -o $terminfo/share/terminfo termwiz/data/wezterm.terminfo
|
tic -x -o $terminfo/share/terminfo termwiz/data/wezterm.terminfo
|
||||||
echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
|
echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
|
||||||
|
|
||||||
|
# desktop icon
|
||||||
install -Dm644 assets/icon/terminal.png $out/share/icons/hicolor/128x128/apps/org.wezfurlong.wezterm.png
|
install -Dm644 assets/icon/terminal.png $out/share/icons/hicolor/128x128/apps/org.wezfurlong.wezterm.png
|
||||||
install -Dm644 assets/wezterm.desktop $out/share/applications/org.wezfurlong.wezterm.desktop
|
install -Dm644 assets/wezterm.desktop $out/share/applications/org.wezfurlong.wezterm.desktop
|
||||||
install -Dm644 assets/wezterm.appdata.xml $out/share/metainfo/org.wezfurlong.wezterm.appdata.xml
|
install -Dm644 assets/wezterm.appdata.xml $out/share/metainfo/org.wezfurlong.wezterm.appdata.xml
|
||||||
|
|
||||||
|
# helper scripts
|
||||||
|
install -Dm644 assets/shell-integration/wezterm.sh $out/share/wezterm/shell-integration/wezterm.sh
|
||||||
'';
|
'';
|
||||||
|
|
||||||
preFixup = lib.optionalString stdenv.isLinux ''
|
preFixup = lib.optionalString stdenv.isLinux ''
|
||||||
|
|
|
@ -1,24 +1,62 @@
|
||||||
{ lib, stdenv, fetchFromGitHub }:
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, expect
|
||||||
|
, which
|
||||||
|
, gnupg
|
||||||
|
, coreutils
|
||||||
|
, git
|
||||||
|
, pinentry
|
||||||
|
, gnutar
|
||||||
|
, procps
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "1.20181219";
|
pname = "blackbox";
|
||||||
pname = "blackbox";
|
version = "2.0.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "stackexchange";
|
owner = "stackexchange";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1lpwwwc3rf992vdf3iy1ds07n1xkmad065im2bqzc6kdsbkn7rjx";
|
sha256 = "1plwdmzds6dq2rlp84dgiashrfg0kg4yijhnxaapz2q4d1vvx8lq";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
buildInputs = [ gnupg ];
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
|
||||||
|
checkInputs = [
|
||||||
|
expect
|
||||||
|
which
|
||||||
|
coreutils
|
||||||
|
pinentry.tty
|
||||||
|
git
|
||||||
|
gnutar
|
||||||
|
procps
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
patchShebangs bin tools
|
||||||
|
substituteInPlace Makefile \
|
||||||
|
--replace "PREFIX?=/usr/local" "PREFIX=$out"
|
||||||
|
|
||||||
|
substituteInPlace tools/confidence_test.sh \
|
||||||
|
--replace 'PATH="''${blackbox_home}:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/local/bin:/usr/pkg/bin:/usr/pkg/gnu/bin:''${blackbox_home}"' \
|
||||||
|
"PATH=/build/source/bin/:$PATH"
|
||||||
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin && cp -r bin/* $out/bin
|
runHook preInstall
|
||||||
|
mkdir -p $out/bin
|
||||||
|
make copy-install
|
||||||
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Safely store secrets in a VCS repo";
|
description = "Safely store secrets in a VCS repo";
|
||||||
maintainers = with maintainers; [ ericsagnes ];
|
maintainers = with maintainers; [ ericsagnes ];
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, buildGoPackage, fetchFromGitHub, git, groff, installShellFiles, util-linux, nixosTests }:
|
{ lib, buildGoPackage, fetchFromGitHub, git, groff, installShellFiles, unixtools, nixosTests }:
|
||||||
|
|
||||||
buildGoPackage rec {
|
buildGoPackage rec {
|
||||||
pname = "hub";
|
pname = "hub";
|
||||||
|
@ -16,7 +16,7 @@ buildGoPackage rec {
|
||||||
sha256 = "1qjab3dpia1jdlszz3xxix76lqrm4zbmqzd9ymld7h06awzsg2vh";
|
sha256 = "1qjab3dpia1jdlszz3xxix76lqrm4zbmqzd9ymld7h06awzsg2vh";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ groff installShellFiles util-linux ];
|
nativeBuildInputs = [ groff installShellFiles unixtools.col ];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
patchShebangs .
|
patchShebangs .
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
with python.pkgs;
|
with python.pkgs;
|
||||||
buildPythonApplication rec {
|
buildPythonApplication rec {
|
||||||
version = "0.3.9";
|
version = "0.5.0";
|
||||||
pname = "nbstripout";
|
pname = "nbstripout";
|
||||||
|
|
||||||
# Mercurial should be added as a build input but because it's a Python
|
# Mercurial should be added as a build input but because it's a Python
|
||||||
|
@ -14,7 +14,7 @@ buildPythonApplication rec {
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "b46dddbf78b8b137176bc72729124e378242ef9ce93af63f6e0a8c4850c972e7";
|
sha256 = "86ab50136998d62c9fa92478d2eb9ddc4137e51a28568f78fa8f24a6fbb6a7d8";
|
||||||
};
|
};
|
||||||
|
|
||||||
# for some reason, darwin uses /bin/sh echo native instead of echo binary, so
|
# for some reason, darwin uses /bin/sh echo native instead of echo binary, so
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
{ lib
|
{ lib
|
||||||
, stdenv
|
, stdenv
|
||||||
, mkDerivation
|
|
||||||
, fetchFromGitLab
|
, fetchFromGitLab
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, autoreconfHook
|
, autoreconfHook
|
||||||
|
@ -46,15 +45,15 @@ let
|
||||||
'';
|
'';
|
||||||
|
|
||||||
in
|
in
|
||||||
mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "mkvtoolnix";
|
pname = "mkvtoolnix";
|
||||||
version = "59.0.0";
|
version = "60.0.0";
|
||||||
|
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
owner = "mbunkus";
|
owner = "mbunkus";
|
||||||
repo = "mkvtoolnix";
|
repo = "mkvtoolnix";
|
||||||
rev = "release-${version}";
|
rev = "release-${version}";
|
||||||
sha256 = "sha256-bPypOsveXrkz1V961b9GTJKFdgru/kcW15z/yik/4yQ=";
|
sha256 = "sha256-WtEC/EH0G1Tm6OK6hmVRzloLkO8mxxOYYZY7k/Wi2zE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
buildPythonApplication rec {
|
buildPythonApplication rec {
|
||||||
pname = "plex-mpv-shim";
|
pname = "plex-mpv-shim";
|
||||||
version = "1.10.0";
|
version = "1.10.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "iwalton3";
|
owner = "iwalton3";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "18bd2nvlwzkmadimlkh7rs8rnp0ppfx1dzkxb11dq84pdpbl25pc";
|
sha256 = "1ql7idkm916f1wlkqxqmq1i2pc94gbgq6pvb8szhb21icyy5d1y0";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ mpv requests python-mpv-jsonipc ];
|
propagatedBuildInputs = [ mpv requests python-mpv-jsonipc ];
|
||||||
|
|
|
@ -15,13 +15,13 @@
|
||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
pname = "tartube";
|
pname = "tartube";
|
||||||
version = "2.3.110";
|
version = "2.3.332";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "axcore";
|
owner = "axcore";
|
||||||
repo = "tartube";
|
repo = "tartube";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0sdbd2lsc4bvgkwi55arjwbzwmq05abfmv6vsrvz4gsdv8s8wha5";
|
sha256 = "1m7p4chpvbh4mswsymh89dksdgwhmnkpfbx9zi2jzqgkinfd6a2k";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -472,7 +472,7 @@ stdenv.mkDerivation {
|
||||||
+ optionalString hostPlatform.isCygwin ''
|
+ optionalString hostPlatform.isCygwin ''
|
||||||
hardening_unsupported_flags+=" pic"
|
hardening_unsupported_flags+=" pic"
|
||||||
'' + optionalString targetPlatform.isMinGW ''
|
'' + optionalString targetPlatform.isMinGW ''
|
||||||
hardening_unsupported_flags+=" stackprotector"
|
hardening_unsupported_flags+=" stackprotector fortify"
|
||||||
'' + optionalString targetPlatform.isAvr ''
|
'' + optionalString targetPlatform.isAvr ''
|
||||||
hardening_unsupported_flags+=" stackprotector pic"
|
hardening_unsupported_flags+=" stackprotector pic"
|
||||||
'' + optionalString (targetPlatform.libc == "newlib") ''
|
'' + optionalString (targetPlatform.libc == "newlib") ''
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ lib, fetchzip }:
|
{ lib, fetchzip }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "1.078";
|
version = "1.079";
|
||||||
in
|
in
|
||||||
fetchzip {
|
fetchzip {
|
||||||
name = "recursive-${version}";
|
name = "recursive-${version}";
|
||||||
|
@ -14,7 +14,7 @@ fetchzip {
|
||||||
unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
|
unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
|
||||||
'';
|
'';
|
||||||
|
|
||||||
sha256 = "0vmdcqz6rlshfk653xpanyxps96p85b1spqahl3yiy29mq4xfdn3";
|
sha256 = "sha256-nRFjfbbZG9wDHGbGfS+wzViKF/ogWs8i/6OG0rkDHDg=";
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://recursive.design/";
|
homepage = "https://recursive.design/";
|
||||||
|
|
|
@ -9,13 +9,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "luna-icons";
|
pname = "luna-icons";
|
||||||
version = "1.2";
|
version = "1.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "darkomarko42";
|
owner = "darkomarko42";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "0kjnmclil21m9vgybk958nzzlbwryp286rajlgxg05wgjnby4cxk";
|
sha256 = "0pww8882qvlnamxzvn7jxyi0h7lffrwld7qqs1q08h73xc3p18nv";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ lib, stdenv, fetchFromGitLab, autoreconfHook, pkg-config, parallel
|
{ lib, stdenv, fetchFromGitLab, autoreconfHook, pkg-config, parallel
|
||||||
, sassc, inkscape, libxml2, glib, gdk-pixbuf, librsvg, gtk-engine-murrine
|
, sassc, inkscape, libxml2, glib, gtk_engines, gtk-engine-murrine
|
||||||
, cinnamonSupport ? true
|
, cinnamonSupport ? true
|
||||||
, gnomeFlashbackSupport ? true
|
, gnomeFlashbackSupport ? true
|
||||||
, gnomeShellSupport ? true
|
, gnomeShellSupport ? true
|
||||||
|
@ -19,17 +19,15 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "plata-theme";
|
pname = "plata-theme";
|
||||||
version = "0.9.8";
|
version = "0.9.9";
|
||||||
|
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
owner = "tista500";
|
owner = "tista500";
|
||||||
repo = "plata-theme";
|
repo = "plata-theme";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "1sqmydvx36f6r4snw22s2q4dvcyg30jd7kg7dibpzqn3njfkkfag";
|
sha256 = "1iwvlv9qcrjyfbzab00vjqafmp3vdybz1hi02r6lwbgvwyfyrifk";
|
||||||
};
|
};
|
||||||
|
|
||||||
preferLocalBuild = true;
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
autoreconfHook
|
autoreconfHook
|
||||||
pkg-config
|
pkg-config
|
||||||
|
@ -37,17 +35,16 @@ stdenv.mkDerivation rec {
|
||||||
sassc
|
sassc
|
||||||
inkscape
|
inkscape
|
||||||
libxml2
|
libxml2
|
||||||
glib.dev
|
glib
|
||||||
]
|
]
|
||||||
++ lib.optionals mateSupport [ gtk3 marco ]
|
++ lib.optionals mateSupport [ gtk3 marco ]
|
||||||
++ lib.optional telegramSupport zip;
|
++ lib.optional telegramSupport zip;
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [ gtk_engines ];
|
||||||
gdk-pixbuf
|
|
||||||
librsvg
|
|
||||||
];
|
|
||||||
|
|
||||||
propagatedUserEnvPkgs = [ gtk-engine-murrine ];
|
propagatedUserEnvPkgs = [
|
||||||
|
gtk-engine-murrine
|
||||||
|
];
|
||||||
|
|
||||||
postPatch = "patchShebangs .";
|
postPatch = "patchShebangs .";
|
||||||
|
|
||||||
|
|
|
@ -29,11 +29,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gnome-maps";
|
pname = "gnome-maps";
|
||||||
version = "40.3";
|
version = "40.4";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "sha256-p58Fz+u1UMUanGKwgDk2PXDdo90RP+cTR6lCW9cYaIk=";
|
sha256 = "sha256-LFt+HmX39OVP6G7d2hE46qbAaRoUlAPZXL4i7cgiUJw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
|
|
@ -37,11 +37,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "epiphany";
|
pname = "epiphany";
|
||||||
version = "40.2";
|
version = "40.3";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "dRGeIgZWV89w7ytgPU9zg1VzvQNPHmGMD2YkeP1saDU=";
|
sha256 = "2tE4ufLVXeJxEo/KOLYfU/2YDFh9KeG6a1CP/zsZ9WQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -6,13 +6,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "evolution-data-server";
|
pname = "evolution-data-server";
|
||||||
version = "3.40.3";
|
version = "3.40.4";
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/evolution-data-server/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
url = "mirror://gnome/sources/evolution-data-server/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "Trs5F9a+tUrVlt5dilxG8PtXJJ7Z24HwXHqUpzDB2SE=";
|
sha256 = "h8GF8Yw3Jw42EZgfGb2SIayXTIB0Ysjc6QvqCHEsWAA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|
|
@ -43,11 +43,11 @@ in
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gnome-software";
|
pname = "gnome-software";
|
||||||
version = "40.3";
|
version = "40.4";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/gnome-software/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
url = "mirror://gnome/sources/gnome-software/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "y39TbLCfWCyQdVyQl08+g9/5U56it8CWibtOCsP/yF8=";
|
sha256 = "voxhGoAvcXGNzLvUVE7ZaIcxGYRv03t7dqeq1yx5mL8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|
|
@ -5,11 +5,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "yelp";
|
pname = "yelp";
|
||||||
version = "40.0";
|
version = "40.3";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/yelp/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
url = "mirror://gnome/sources/yelp/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "sha256-B3dfoGzSg2Xs2Cm7FqhaaCiXqyHYzONFlrvvXNRVquA=";
|
sha256 = "sha256-oXOEeFHyYYm+eOy7EAFdU52Mzv/Hwj6GNUkrw62l7iM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config gettext itstool wrapGAppsHook ];
|
nativeBuildInputs = [ pkg-config gettext itstool wrapGAppsHook ];
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "fennel";
|
pname = "fennel";
|
||||||
version = "0.9.2";
|
version = "0.10.0";
|
||||||
|
|
||||||
src = fetchFromSourcehut {
|
src = fetchFromSourcehut {
|
||||||
owner = "~technomancy";
|
owner = "~technomancy";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "1kpm3lzxzwkhxm4ghpbx8iw0ni7gb73y68lsc3ll2rcx0fwv9303";
|
sha256 = "sha256-/xCnaDNZJTBGxIgjPUVeEyMVeRWg8RCNuo5nPpLrJXY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ installShellFiles ];
|
nativeBuildInputs = [ installShellFiles ];
|
||||||
|
|
|
@ -65,6 +65,12 @@ let
|
||||||
EOF
|
EOF
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
# fixupPhase is moving the man to share/man which breaks it because it's a
|
||||||
|
# relative symlink.
|
||||||
|
postFixup = ''
|
||||||
|
ln -nsf ../zulu-11.jdk/Contents/Home/man $out/share/man
|
||||||
|
'';
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
home = jdk;
|
home = jdk;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, glfw, freetype, openssl, upx ? null }:
|
{ lib, stdenv, fetchFromGitHub, glfw, freetype, openssl, makeWrapper, upx }:
|
||||||
|
|
||||||
assert stdenv.hostPlatform.isUnix -> upx != null;
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "vlang";
|
pname = "vlang";
|
||||||
|
@ -25,16 +23,15 @@ stdenv.mkDerivation rec {
|
||||||
propagatedBuildInputs = [ glfw freetype openssl ]
|
propagatedBuildInputs = [ glfw freetype openssl ]
|
||||||
++ lib.optional stdenv.hostPlatform.isUnix upx;
|
++ lib.optional stdenv.hostPlatform.isUnix upx;
|
||||||
|
|
||||||
buildPhase = ''
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
runHook preBuild
|
|
||||||
cc -std=gnu11 $CFLAGS -w -o v $vc/v.c -lm $LDFLAGS
|
makeFlags = [
|
||||||
# vlang seems to want to write to $HOME/.vmodules,
|
"local=1"
|
||||||
# so lets give it a writable HOME
|
"VC=${vc}"
|
||||||
HOME=$PWD ./v -prod self
|
# vlang seems to want to write to $HOME/.vmodules , so lets give
|
||||||
# Exclude thirdparty/vschannel as it is windows-specific.
|
# it a writable HOME
|
||||||
find thirdparty -path thirdparty/vschannel -prune -o -type f -name "*.c" -execdir cc -std=gnu11 $CFLAGS -w -c {} $LDFLAGS ';'
|
"HOME=$TMPDIR"
|
||||||
runHook postBuild
|
];
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
|
@ -43,6 +40,7 @@ stdenv.mkDerivation rec {
|
||||||
cp -r {cmd,vlib,thirdparty} $out/lib
|
cp -r {cmd,vlib,thirdparty} $out/lib
|
||||||
mv v $out/lib
|
mv v $out/lib
|
||||||
ln -s $out/lib/v $out/bin/v
|
ln -s $out/lib/v $out/bin/v
|
||||||
|
wrapProgram $out/bin/v --prefix PATH : ${lib.makeBinPath [ stdenv.cc ]}
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@ in stdenv.mkDerivation rec {
|
||||||
find = ''find ${concatStringsSep " " (map (x: x + "/m2") flatDeps)} -type d -printf '%P\n' | xargs -I {} mkdir -p $out/m2/{}'';
|
find = ''find ${concatStringsSep " " (map (x: x + "/m2") flatDeps)} -type d -printf '%P\n' | xargs -I {} mkdir -p $out/m2/{}'';
|
||||||
copy = ''cp -rsfu ${concatStringsSep " " (map (x: x + "/m2/*") flatDeps)} $out/m2'';
|
copy = ''cp -rsfu ${concatStringsSep " " (map (x: x + "/m2/*") flatDeps)} $out/m2'';
|
||||||
|
|
||||||
phases = [ "unpackPhase" "buildPhase" ];
|
dontInstall = true;
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
mkdir -p $out/target
|
mkdir -p $out/target
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
, libXxf86dga, libXxf86misc
|
, libXxf86dga, libXxf86misc
|
||||||
, libXxf86vm, openal, libGLU, libGL, libjpeg, flac
|
, libXxf86vm, openal, libGLU, libGL, libjpeg, flac
|
||||||
, libXi, libXfixes, freetype, libopus, libtheora
|
, libXi, libXfixes, freetype, libopus, libtheora
|
||||||
, physfs, enet, pkg-config, gtk2, pcre, libpulseaudio, libpthreadstubs
|
, physfs, enet, pkg-config, gtk3, pcre, libpulseaudio, libpthreadstubs
|
||||||
, libXdmcp
|
, libXdmcp
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
|
||||||
libXxf86vm openal libGLU libGL
|
libXxf86vm openal libGLU libGL
|
||||||
libjpeg flac
|
libjpeg flac
|
||||||
libXi libXfixes
|
libXi libXfixes
|
||||||
enet libtheora freetype physfs libopus pkg-config gtk2 pcre libXdmcp
|
enet libtheora freetype physfs libopus pkg-config gtk3 pcre libXdmcp
|
||||||
libpulseaudio libpthreadstubs
|
libpulseaudio libpthreadstubs
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue