Merge staging-next into staging
This commit is contained in:
commit
3462fe27d9
|
@ -12,12 +12,12 @@ build daemon as so-called channels. To get channel information via git, add
|
|||
```
|
||||
|
||||
For stability and maximum binary package support, it is recommended to maintain
|
||||
custom changes on top of one of the channels, e.g. `nixos-18.09` for the latest
|
||||
custom changes on top of one of the channels, e.g. `nixos-19.03` for the latest
|
||||
release and `nixos-unstable` for the latest successful build of master:
|
||||
|
||||
```
|
||||
% git remote update channels
|
||||
% git rebase channels/nixos-18.09
|
||||
% git rebase channels/nixos-19.03
|
||||
```
|
||||
|
||||
For pull requests, please rebase onto nixpkgs `master`.
|
||||
|
@ -31,9 +31,9 @@ For pull requests, please rebase onto nixpkgs `master`.
|
|||
* [Manual (NixOS)](https://nixos.org/nixos/manual/)
|
||||
* [Community maintained wiki](https://nixos.wiki/)
|
||||
* [Continuous package builds for unstable/master](https://hydra.nixos.org/jobset/nixos/trunk-combined)
|
||||
* [Continuous package builds for 18.09 release](https://hydra.nixos.org/jobset/nixos/release-18.09)
|
||||
* [Continuous package builds for 19.03 release](https://hydra.nixos.org/jobset/nixos/release-19.03)
|
||||
* [Tests for unstable/master](https://hydra.nixos.org/job/nixos/trunk-combined/tested#tabs-constituents)
|
||||
* [Tests for 18.09 release](https://hydra.nixos.org/job/nixos/release-18.09/tested#tabs-constituents)
|
||||
* [Tests for 19.03 release](https://hydra.nixos.org/job/nixos/release-19.03/tested#tabs-constituents)
|
||||
|
||||
Communication:
|
||||
|
||||
|
|
|
@ -55,7 +55,7 @@ package `haskell-pandoc`, for example, installs both a library and an
|
|||
application. You can install and use Haskell executables just like any other
|
||||
program in Nixpkgs, but using Haskell libraries for development is a bit
|
||||
trickier and we'll address that subject in great detail in section [How to
|
||||
create a development environment].
|
||||
create a development environment](#how-to-create-a-development-environment).
|
||||
|
||||
Attribute paths are deterministic inside of Nixpkgs, but the path necessary to
|
||||
reach Nixpkgs varies from system to system. We dodged that problem by giving
|
||||
|
@ -127,7 +127,7 @@ Also, the attributes `haskell.compiler.ghcXYC` and
|
|||
|
||||
A simple development environment consists of a Haskell compiler and one or both
|
||||
of the tools `cabal-install` and `stack`. We saw in section
|
||||
[How to install Haskell packages] how you can install those programs into your
|
||||
[How to install Haskell packages](#how-to-install-haskell-packages) how you can install those programs into your
|
||||
user profile:
|
||||
```shell
|
||||
nix-env -f "<nixpkgs>" -iA haskellPackages.ghc haskellPackages.cabal-install
|
||||
|
@ -162,7 +162,7 @@ nix-shell -p haskell.compiler.ghc784
|
|||
to bring GHC 7.8.4 into `$PATH`. Alternatively, you can use Stack instead of
|
||||
`nix-shell` directly to select compiler versions and other build tools
|
||||
per-project. It uses `nix-shell` under the hood when Nix support is turned on.
|
||||
See [How to build a Haskell project using Stack].
|
||||
See [How to build a Haskell project using Stack](#how-to-build-a-haskell-project-using-stack).
|
||||
|
||||
If you're using `cabal-install`, re-running `cabal configure` inside the spawned
|
||||
shell switches your build to use that compiler instead. If you're working on
|
||||
|
|
|
@ -197,6 +197,11 @@
|
|||
github = "aij";
|
||||
name = "Ivan Jager";
|
||||
};
|
||||
ajs124 = {
|
||||
email = "nix@ajs124.de";
|
||||
github = "ajs124";
|
||||
name = "Andreas Schrägle";
|
||||
};
|
||||
ajgrf = {
|
||||
email = "a@ajgrf.com";
|
||||
github = "ajgrf";
|
||||
|
@ -578,6 +583,11 @@
|
|||
github = "bbarker";
|
||||
name = "Brandon Elam Barker";
|
||||
};
|
||||
bbigras = {
|
||||
email = "bigras.bruno@gmail.com";
|
||||
github = "bbigras";
|
||||
name = "Bruno Bigras";
|
||||
};
|
||||
bcarrell = {
|
||||
email = "brandoncarrell@gmail.com";
|
||||
github = "bcarrell";
|
||||
|
@ -2911,6 +2921,11 @@
|
|||
github = "marcweber";
|
||||
name = "Marc Weber";
|
||||
};
|
||||
marenz = {
|
||||
email = "marenz@arkom.men";
|
||||
github = "marenz2569";
|
||||
name = "Markus Schmidl";
|
||||
};
|
||||
markus1189 = {
|
||||
email = "markus1189@gmail.com";
|
||||
github = "markus1189";
|
||||
|
|
|
@ -14,14 +14,19 @@ ltermbox,
|
|||
lua-cmsgpack,
|
||||
lua_cliargs,
|
||||
lua-iconv,
|
||||
lua-messagepack,
|
||||
lua-term,
|
||||
lua-toml,
|
||||
luabitop,
|
||||
luaevent,
|
||||
luacheck
|
||||
luaffi,,http://luarocks.org/dev,
|
||||
luuid,
|
||||
penlight,
|
||||
rapidjson,
|
||||
say,
|
||||
std__debug,std._debug,
|
||||
std_normalize,std.normalize,
|
||||
luv,
|
||||
luasystem,
|
||||
mediator_lua,,http://luarocks.org/manifests/teto
|
||||
|
|
|
|
@ -81,7 +81,7 @@ function convert_pkg () {
|
|||
server=" --server=$3"
|
||||
fi
|
||||
|
||||
version="${3:-}"
|
||||
version="${4:-}"
|
||||
|
||||
echo "looking at $lua_pkg_name (version $version) from server [$server]" >&2
|
||||
cmd="luarocks nix $server $lua_pkg_name $version"
|
||||
|
|
|
@ -67,6 +67,32 @@
|
|||
<xref linkend="opt-hardware.opengl.driSupport32Bit"/> = true;
|
||||
</programlisting>
|
||||
</para>
|
||||
<simplesect xml:id="sec-x11-auto-login">
|
||||
<title>Auto-login</title>
|
||||
<para>
|
||||
The x11 login screen can be skipped entirely, automatically logging you into
|
||||
your window manager and desktop environment when you boot your computer.
|
||||
</para>
|
||||
<para>
|
||||
This is especially helpful if you have disk encryption enabled. Since you
|
||||
already have to provide a password to decrypt your disk, entering a second
|
||||
password to login can be redundant.
|
||||
</para>
|
||||
<para>
|
||||
To enable auto-login, you need to define your default window manager and
|
||||
desktop environment. If you wanted no desktop environment and i3 as your your
|
||||
window manager, you'd define:
|
||||
<programlisting>
|
||||
<xref linkend="opt-services.xserver.desktopManager.default"/> = "none";
|
||||
<xref linkend="opt-services.xserver.windowManager.default"/> = "i3";
|
||||
</programlisting>
|
||||
And, finally, to enable auto-login for a user <literal>johndoe</literal>:
|
||||
<programlisting>
|
||||
<xref linkend="opt-services.xserver.displayManager.auto.enable"/> = true;
|
||||
<xref linkend="opt-services.xserver.displayManager.auto.user"/> = "johndoe";
|
||||
</programlisting>
|
||||
</para>
|
||||
</simplesect>
|
||||
<simplesect xml:id="sec-x11-graphics-cards-nvidia">
|
||||
<title>Proprietary NVIDIA drivers</title>
|
||||
<para>
|
||||
|
|
|
@ -83,6 +83,14 @@
|
|||
The same applies to ModemManager where modem-manager.service is now called ModemManager.service again.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The <option>services.nzbget.configFile</option> and <option>services.nzbget.openFirewall</option>
|
||||
options were removed as they are managed internally by the nzbget. The
|
||||
<option>services.nzbget.dataDir</option> option hadn't actually been used by
|
||||
the module for some time and so was removed as cleanup.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
|
||||
|
|
|
@ -414,6 +414,7 @@
|
|||
./services/misc/ihaskell.nix
|
||||
./services/misc/irkerd.nix
|
||||
./services/misc/jackett.nix
|
||||
./services/misc/jellyfin.nix
|
||||
./services/misc/logkeys.nix
|
||||
./services/misc/leaps.nix
|
||||
./services/misc/lidarr.nix
|
||||
|
|
|
@ -26,16 +26,6 @@ with lib;
|
|||
# brave
|
||||
"opt/brave/native-messaging-hosts/${appId}".source = source "hosts/chromium";
|
||||
"opt/brave/policies/managed/${appId}".source = source "policies/chromium";
|
||||
}
|
||||
# As with the v2 backwards compatibility in the pkgs.browserpass
|
||||
# declaration, this part can be removed once the browser extension
|
||||
# auto-updates to v3 (planned 2019-04-13, see
|
||||
# https://github.com/browserpass/browserpass-native/issues/31)
|
||||
// {
|
||||
"chromium/native-messaging-hosts/com.dannyvankooten.browserpass.json".source = "${pkgs.browserpass}/etc/chrome-host.json";
|
||||
"chromium/policies/managed/com.dannyvankooten.browserpass.json".source = "${pkgs.browserpass}/etc/chrome-policy.json";
|
||||
"opt/chrome/native-messaging-hosts/com.dannyvankooten.browserpass.json".source = "${pkgs.browserpass}/etc/chrome-host.json";
|
||||
"opt/chrome/policies/managed/com.dannyvankooten.browserpass.json".source = "${pkgs.browserpass}/etc/chrome-policy.json";
|
||||
};
|
||||
nixpkgs.config.firefox.enableBrowserpass = true;
|
||||
};
|
||||
|
|
|
@ -78,9 +78,9 @@ in {
|
|||
environment = {
|
||||
systemPackages = [ swayJoined ] ++ cfg.extraPackages;
|
||||
etc = {
|
||||
"sway/config".source = "${swayPackage}/etc/sway/config";
|
||||
#"sway/security.d".source = "${swayPackage}/etc/sway/security.d/";
|
||||
#"sway/config.d".source = "${swayPackage}/etc/sway/config.d/";
|
||||
"sway/config".source = mkOptionDefault "${swayPackage}/etc/sway/config";
|
||||
#"sway/security.d".source = mkOptionDefault "${swayPackage}/etc/sway/security.d/";
|
||||
#"sway/config.d".source = mkOptionDefault "${swayPackage}/etc/sway/config.d/";
|
||||
};
|
||||
};
|
||||
security.pam.services.swaylock = {};
|
||||
|
|
|
@ -45,6 +45,9 @@ with lib;
|
|||
(mkRemovedOptionModule [ "services" "neo4j" "port" ] "Use services.neo4j.http.listenAddress instead.")
|
||||
(mkRemovedOptionModule [ "services" "neo4j" "boltPort" ] "Use services.neo4j.bolt.listenAddress instead.")
|
||||
(mkRemovedOptionModule [ "services" "neo4j" "httpsPort" ] "Use services.neo4j.https.listenAddress instead.")
|
||||
(mkRemovedOptionModule [ "services" "misc" "nzbget" "configFile" ] "The configuration of nzbget is now managed by users through the web interface.")
|
||||
(mkRemovedOptionModule [ "services" "misc" "nzbget" "dataDir" ] "The data directory for nzbget is now /var/lib/nzbget.")
|
||||
(mkRemovedOptionModule [ "services" "misc" "nzbget" "openFirewall" ] "The port used by nzbget is managed through the web interface so you should adjust your firewall rules accordingly.")
|
||||
(mkRemovedOptionModule [ "services" "prometheus" "alertmanager" "user" ] "The alertmanager service is now using systemd's DynamicUser mechanism which obviates a user setting.")
|
||||
(mkRemovedOptionModule [ "services" "prometheus" "alertmanager" "group" ] "The alertmanager service is now using systemd's DynamicUser mechanism which obviates a group setting.")
|
||||
(mkRenamedOptionModule [ "services" "tor" "relay" "portSpec" ] [ "services" "tor" "relay" "port" ])
|
||||
|
|
|
@ -33,7 +33,12 @@ in
|
|||
paths = concatMapStrings (s: " -I ${s}/etc/apparmor.d")
|
||||
([ pkgs.apparmor-profiles ] ++ cfg.packages);
|
||||
in {
|
||||
wantedBy = [ "local-fs.target" ];
|
||||
after = [ "local-fs.target" ];
|
||||
before = [ "sysinit.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
unitConfig = {
|
||||
DefaultDependencies = "no";
|
||||
};
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = "yes";
|
||||
|
@ -43,6 +48,9 @@ in
|
|||
ExecStop = map (p:
|
||||
''${pkgs.apparmor-parser}/bin/apparmor_parser -Rv "${p}"''
|
||||
) cfg.profiles;
|
||||
ExecReload = map (p:
|
||||
''${pkgs.apparmor-parser}/bin/apparmor_parser --reload ${paths} "${p}"''
|
||||
) cfg.profiles;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -273,11 +273,10 @@ in {
|
|||
wantedBy = [ "kube-control-plane-online.target" ];
|
||||
after = [ "kube-scheduler.service" "kube-controller-manager.service" ];
|
||||
before = [ "kube-control-plane-online.target" ];
|
||||
environment.KUBECONFIG = cfg.lib.mkKubeConfig "default" cfg.kubeconfig;
|
||||
path = [ pkgs.kubectl ];
|
||||
path = [ pkgs.curl ];
|
||||
preStart = ''
|
||||
until kubectl get --raw=/healthz 2>/dev/null; do
|
||||
echo kubectl get --raw=/healthz: exit status $?
|
||||
until curl -Ssf ${cfg.apiserverAddress}/healthz do
|
||||
echo curl -Ssf ${cfg.apiserverAddress}/healthz: exit status $?
|
||||
sleep 3
|
||||
done
|
||||
'';
|
||||
|
|
|
@ -4,6 +4,8 @@ with lib;
|
|||
let
|
||||
cfg = config.services.journalwatch;
|
||||
user = "journalwatch";
|
||||
# for journal access
|
||||
group = "systemd-journal";
|
||||
dataDir = "/var/lib/${user}";
|
||||
|
||||
journalwatchConfig = pkgs.writeText "config" (''
|
||||
|
@ -31,6 +33,17 @@ let
|
|||
|
||||
'') filterBlocks);
|
||||
|
||||
# can't use joinSymlinks directly, because when we point $XDG_CONFIG_HOME
|
||||
# to the /nix/store path, we still need the subdirectory "journalwatch" inside that
|
||||
# to match journalwatch's expectations
|
||||
journalwatchConfigDir = pkgs.runCommand "journalwatch-config"
|
||||
{ preferLocalBuild = true; allowSubstitutes = false; }
|
||||
''
|
||||
mkdir -p $out/journalwatch
|
||||
ln -sf ${journalwatchConfig} $out/journalwatch/config
|
||||
ln -sf ${journalwatchPatterns} $out/journalwatch/patterns
|
||||
'';
|
||||
|
||||
|
||||
in {
|
||||
options = {
|
||||
|
@ -199,33 +212,38 @@ in {
|
|||
|
||||
users.users.${user} = {
|
||||
isSystemUser = true;
|
||||
createHome = true;
|
||||
home = dataDir;
|
||||
# for journal access
|
||||
group = "systemd-journal";
|
||||
group = group;
|
||||
};
|
||||
|
||||
systemd.tmpfiles.rules = [
|
||||
# present since NixOS 19.09: remove old stateful symlink join directory,
|
||||
# which has been replaced with the journalwatchConfigDir store path
|
||||
"R ${dataDir}/config"
|
||||
];
|
||||
|
||||
systemd.services.journalwatch = {
|
||||
|
||||
environment = {
|
||||
# journalwatch stores the last processed timpestamp here
|
||||
# the share subdirectory is historic now that config home lives in /nix/store,
|
||||
# but moving this in a backwards-compatible way is much more work than what's justified
|
||||
# for cleaning that up.
|
||||
XDG_DATA_HOME = "${dataDir}/share";
|
||||
XDG_CONFIG_HOME = "${dataDir}/config";
|
||||
XDG_CONFIG_HOME = journalwatchConfigDir;
|
||||
};
|
||||
serviceConfig = {
|
||||
User = user;
|
||||
Group = group;
|
||||
Type = "oneshot";
|
||||
PermissionsStartOnly = true;
|
||||
# requires a relative directory name to create beneath /var/lib
|
||||
StateDirectory = user;
|
||||
StateDirectoryMode = 0750;
|
||||
ExecStart = "${pkgs.python3Packages.journalwatch}/bin/journalwatch mail";
|
||||
# lowest CPU and IO priority, but both still in best-effort class to prevent starvation
|
||||
Nice=19;
|
||||
IOSchedulingPriority=7;
|
||||
};
|
||||
preStart = ''
|
||||
chown -R ${user}:systemd-journal ${dataDir}
|
||||
chmod -R u+rwX,go-w ${dataDir}
|
||||
mkdir -p ${dataDir}/config/journalwatch
|
||||
ln -sf ${journalwatchConfig} ${dataDir}/config/journalwatch/config
|
||||
ln -sf ${journalwatchPatterns} ${dataDir}/config/journalwatch/patterns
|
||||
'';
|
||||
};
|
||||
|
||||
systemd.timers.journalwatch = {
|
||||
|
|
|
@ -8,6 +8,7 @@ let
|
|||
pg = config.services.postgresql;
|
||||
useMysql = cfg.database.type == "mysql";
|
||||
usePostgresql = cfg.database.type == "postgres";
|
||||
useSqlite = cfg.database.type == "sqlite3";
|
||||
configFile = pkgs.writeText "app.ini" ''
|
||||
APP_NAME = ${cfg.appName}
|
||||
RUN_USER = ${cfg.user}
|
||||
|
@ -15,11 +16,15 @@ let
|
|||
|
||||
[database]
|
||||
DB_TYPE = ${cfg.database.type}
|
||||
HOST = ${if cfg.database.socket != null then cfg.database.socket else cfg.database.host + ":" + toString cfg.database.port}
|
||||
NAME = ${cfg.database.name}
|
||||
USER = ${cfg.database.user}
|
||||
PASSWD = #dbpass#
|
||||
PATH = ${cfg.database.path}
|
||||
${optionalString (usePostgresql || useMysql) ''
|
||||
HOST = ${if cfg.database.socket != null then cfg.database.socket else cfg.database.host + ":" + toString cfg.database.port}
|
||||
NAME = ${cfg.database.name}
|
||||
USER = ${cfg.database.user}
|
||||
PASSWD = #dbpass#
|
||||
''}
|
||||
${optionalString useSqlite ''
|
||||
PATH = ${cfg.database.path}
|
||||
''}
|
||||
${optionalString usePostgresql ''
|
||||
SSL_MODE = disable
|
||||
''}
|
||||
|
|
|
@ -0,0 +1,60 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.jellyfin;
|
||||
in
|
||||
{
|
||||
options = {
|
||||
services.jellyfin = {
|
||||
enable = mkEnableOption "Jellyfin Media Server";
|
||||
|
||||
user = mkOption {
|
||||
type = types.str;
|
||||
default = "jellyfin";
|
||||
description = "User account under which Jellyfin runs.";
|
||||
};
|
||||
|
||||
group = mkOption {
|
||||
type = types.str;
|
||||
default = "jellyfin";
|
||||
description = "Group under which jellyfin runs.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.services.jellyfin = {
|
||||
description = "Jellyfin Media Server";
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
serviceConfig = rec {
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
StateDirectory = "jellyfin";
|
||||
CacheDirectory = "jellyfin";
|
||||
ExecStart = "${pkgs.jellyfin}/bin/jellyfin --datadir '/var/lib/${StateDirectory}' --cachedir '/var/cache/${CacheDirectory}'";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
};
|
||||
|
||||
users.users = mkIf (cfg.user == "jellyfin") {
|
||||
jellyfin.group = cfg.group;
|
||||
};
|
||||
|
||||
users.groups = mkIf (cfg.group == "jellyfin") {
|
||||
jellyfin = {};
|
||||
};
|
||||
|
||||
assertions = [
|
||||
{
|
||||
assertion = !config.services.emby.enable;
|
||||
message = "Emby and Jellyfin are incompatible, you cannot enable both";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ minijackson ];
|
||||
}
|
|
@ -4,33 +4,35 @@ with lib;
|
|||
|
||||
let
|
||||
cfg = config.services.nzbget;
|
||||
dataDir = builtins.dirOf cfg.configFile;
|
||||
in {
|
||||
pkg = pkgs.nzbget;
|
||||
stateDir = "/var/lib/nzbget";
|
||||
configFile = "${stateDir}/nzbget.conf";
|
||||
configOpts = concatStringsSep " " (mapAttrsToList (name: value: "-o ${name}=${value}") nixosOpts);
|
||||
|
||||
nixosOpts = {
|
||||
# allows nzbget to run as a "simple" service
|
||||
OutputMode = "loggable";
|
||||
# use journald for logging
|
||||
WriteLog = "none";
|
||||
ErrorTarget = "screen";
|
||||
WarningTarget = "screen";
|
||||
InfoTarget = "screen";
|
||||
DetailTarget = "screen";
|
||||
# required paths
|
||||
ConfigTemplate = "${pkg}/share/nzbget/nzbget.conf";
|
||||
WebDir = "${pkg}/share/nzbget/webui";
|
||||
# nixos handles package updates
|
||||
UpdateCheck = "none";
|
||||
};
|
||||
|
||||
in
|
||||
{
|
||||
# interface
|
||||
|
||||
options = {
|
||||
services.nzbget = {
|
||||
enable = mkEnableOption "NZBGet";
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.nzbget;
|
||||
defaultText = "pkgs.nzbget";
|
||||
description = "The NZBGet package to use";
|
||||
};
|
||||
|
||||
dataDir = mkOption {
|
||||
type = types.str;
|
||||
default = "/var/lib/nzbget";
|
||||
description = "The directory where NZBGet stores its configuration files.";
|
||||
};
|
||||
|
||||
openFirewall = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Open ports in the firewall for the NZBGet web interface
|
||||
'';
|
||||
};
|
||||
|
||||
user = mkOption {
|
||||
type = types.str;
|
||||
default = "nzbget";
|
||||
|
@ -42,15 +44,11 @@ in {
|
|||
default = "nzbget";
|
||||
description = "Group under which NZBGet runs";
|
||||
};
|
||||
|
||||
configFile = mkOption {
|
||||
type = types.str;
|
||||
default = "/var/lib/nzbget/nzbget.conf";
|
||||
description = "Path for NZBGet's config file. (If this doesn't exist, the default config template is copied here.)";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# implementation
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.services.nzbget = {
|
||||
description = "NZBGet Daemon";
|
||||
|
@ -61,50 +59,26 @@ in {
|
|||
p7zip
|
||||
];
|
||||
preStart = ''
|
||||
cfgtemplate=${cfg.package}/share/nzbget/nzbget.conf
|
||||
if [ ! -f ${cfg.configFile} ]; then
|
||||
echo "${cfg.configFile} not found. Copying default config $cfgtemplate to ${cfg.configFile}"
|
||||
install -m 0700 $cfgtemplate ${cfg.configFile}
|
||||
echo "Setting temporary \$MAINDIR variable in default config required in order to allow nzbget to complete initial start"
|
||||
echo "Remember to change this to a proper value once NZBGet startup has been completed"
|
||||
sed -i -e 's/MainDir=.*/MainDir=\/tmp/g' ${cfg.configFile}
|
||||
if [ ! -f ${configFile} ]; then
|
||||
${pkgs.coreutils}/bin/install -m 0700 ${pkg}/share/nzbget/nzbget.conf ${configFile}
|
||||
fi
|
||||
'';
|
||||
|
||||
script = ''
|
||||
args="--daemon --configfile ${cfg.configFile}"
|
||||
# The script in preStart (above) copies nzbget's config template to datadir on first run, containing paths that point to the nzbget derivation installed at the time.
|
||||
# These paths break when nzbget is upgraded & the original derivation is garbage collected. If such broken paths are found in the config file, override them to point to
|
||||
# the currently installed nzbget derivation.
|
||||
cfgfallback () {
|
||||
local hit=`grep -Po "(?<=^$1=).*+" "${cfg.configFile}" | sed 's/[ \t]*$//'` # Strip trailing whitespace
|
||||
( test $hit && test -e $hit ) || {
|
||||
echo "In ${cfg.configFile}, valid $1 not found; falling back to $1=$2"
|
||||
args+=" -o $1=$2"
|
||||
}
|
||||
}
|
||||
cfgfallback ConfigTemplate ${cfg.package}/share/nzbget/nzbget.conf
|
||||
cfgfallback WebDir ${cfg.package}/share/nzbget/webui
|
||||
${cfg.package}/bin/nzbget $args
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
StateDirectory = dataDir;
|
||||
StateDirectoryMode = "0700";
|
||||
Type = "forking";
|
||||
StateDirectory = "nzbget";
|
||||
StateDirectoryMode = "0750";
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
PermissionsStartOnly = "true";
|
||||
UMask = "0002";
|
||||
Restart = "on-failure";
|
||||
ExecStart = "${pkg}/bin/nzbget --server --configfile ${stateDir}/nzbget.conf ${configOpts}";
|
||||
ExecStop = "${pkg}/bin/nzbget --quit";
|
||||
};
|
||||
};
|
||||
|
||||
networking.firewall = mkIf cfg.openFirewall {
|
||||
allowedTCPPorts = [ 8989 ];
|
||||
};
|
||||
|
||||
users.users = mkIf (cfg.user == "nzbget") {
|
||||
nzbget = {
|
||||
home = stateDir;
|
||||
group = cfg.group;
|
||||
uid = config.ids.uids.nzbget;
|
||||
};
|
||||
|
|
|
@ -177,7 +177,7 @@ let
|
|||
folder = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
description = "Add dashboards to the speciied folder";
|
||||
description = "Add dashboards to the specified folder";
|
||||
};
|
||||
type = mkOption {
|
||||
type = types.str;
|
||||
|
|
|
@ -11,7 +11,7 @@ let
|
|||
${cfg.ctlConfig}
|
||||
'';
|
||||
|
||||
ectl = ''${cfg.package}/bin/ejabberdctl ${if cfg.configFile == null then "" else "--config ${cfg.configFile}"} --ctl-config "${ctlcfg}" --spool "${cfg.spoolDir}" --logs "${cfg.logsDir}"'';
|
||||
ectl = ''${cfg.package}/bin/ejabberdctl ${optionalString (cfg.configFile != null) "--config ${cfg.configFile}"} --ctl-config "${ctlcfg}" --spool "${cfg.spoolDir}" --logs "${cfg.logsDir}"'';
|
||||
|
||||
dumps = lib.escapeShellArgs cfg.loadDumps;
|
||||
|
||||
|
@ -111,28 +111,17 @@ in {
|
|||
description = "ejabberd server";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
path = [ pkgs.findutils pkgs.coreutils pkgs.runit ] ++ lib.optional cfg.imagemagick pkgs.imagemagick;
|
||||
path = [ pkgs.findutils pkgs.coreutils ] ++ lib.optional cfg.imagemagick pkgs.imagemagick;
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = ''${ectl} foreground'';
|
||||
# FIXME: runit is used for `chpst` -- can we get rid of this?
|
||||
ExecStop = ''${pkgs.runit}/bin/chpst -u "${cfg.user}:${cfg.group}" ${ectl} stop'';
|
||||
ExecReload = ''${pkgs.runit}/bin/chpst -u "${cfg.user}:${cfg.group}" ${ectl} reload_config'';
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
PermissionsStartOnly = true;
|
||||
ExecStart = "${ectl} foreground";
|
||||
ExecStop = "${ectl} stop";
|
||||
ExecReload = "${ectl} reload_config";
|
||||
};
|
||||
|
||||
preStart = ''
|
||||
mkdir -p -m750 "${cfg.logsDir}"
|
||||
chown "${cfg.user}:${cfg.group}" "${cfg.logsDir}"
|
||||
|
||||
mkdir -p -m750 "/var/lock/ejabberdctl"
|
||||
chown "${cfg.user}:${cfg.group}" "/var/lock/ejabberdctl"
|
||||
|
||||
mkdir -p -m750 "${cfg.spoolDir}"
|
||||
chown -R "${cfg.user}:${cfg.group}" "${cfg.spoolDir}"
|
||||
|
||||
if [ -z "$(ls -A '${cfg.spoolDir}')" ]; then
|
||||
touch "${cfg.spoolDir}/.firstRun"
|
||||
fi
|
||||
|
@ -149,13 +138,18 @@ in {
|
|||
for src in ${dumps}; do
|
||||
find "$src" -type f | while read dump; do
|
||||
echo "Loading configuration dump at $dump"
|
||||
chpst -u "${cfg.user}:${cfg.group}" ${ectl} load "$dump"
|
||||
${ectl} load "$dump"
|
||||
done
|
||||
done
|
||||
fi
|
||||
'';
|
||||
};
|
||||
|
||||
systemd.tmpfiles.rules = [
|
||||
"d '${cfg.logsDir}' 0750 ${cfg.user} ${cfg.group} -"
|
||||
"d '${cfg.spoolDir}' 0700 ${cfg.user} ${cfg.group} -"
|
||||
];
|
||||
|
||||
security.pam.services.ejabberd = {};
|
||||
|
||||
};
|
||||
|
|
|
@ -5,13 +5,15 @@ let
|
|||
|
||||
zConfFile = pkgs.writeTextFile {
|
||||
name = "zeronet.conf";
|
||||
|
||||
|
||||
text = ''
|
||||
[global]
|
||||
data_dir = ${cfg.dataDir}
|
||||
log_dir = ${cfg.logDir}
|
||||
'' + lib.optionalString (cfg.port != null) ''
|
||||
ui_port = ${toString cfg.port}
|
||||
'' + lib.optionalString (cfg.fileserverPort != null) ''
|
||||
fileserver_port = ${toString cfg.fileserverPort}
|
||||
'' + lib.optionalString (cfg.torAlways) ''
|
||||
tor = always
|
||||
'' + cfg.extraConfig;
|
||||
|
@ -41,6 +43,15 @@ in with lib; {
|
|||
description = "Optional zeronet web UI port.";
|
||||
};
|
||||
|
||||
fileserverPort = mkOption {
|
||||
# Not optional: when absent zeronet tries to write one to the
|
||||
# read-only config file and crashes
|
||||
type = types.int;
|
||||
default = 12261;
|
||||
example = 12261;
|
||||
description = "Zeronet fileserver port.";
|
||||
};
|
||||
|
||||
tor = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
|
|
|
@ -116,20 +116,22 @@ in {
|
|||
${lib.optionalString (cfg.webroot != null)
|
||||
"ln -sfT \"${cfg.webroot}\" web"}
|
||||
mkdir -p dump
|
||||
# Check that both database configs are symlinks before overwriting them
|
||||
if [ -e KDB/DB_CONFIG ] && [ ! -L KBD/DB_CONFIG ]; then
|
||||
echo "KDB/DB_CONFIG exists but is not a symlink." >&2
|
||||
exit 1
|
||||
fi
|
||||
if [ -e PTree/DB_CONFIG ] && [ ! -L PTree/DB_CONFIG ]; then
|
||||
echo "PTree/DB_CONFIG exists but is not a symlink." >&2
|
||||
exit 1
|
||||
fi
|
||||
ln -sf ${dbConfig} KDB/DB_CONFIG
|
||||
ln -sf ${dbConfig} PTree/DB_CONFIG
|
||||
${sksPkg}/bin/sks build dump/*.gpg -n 10 -cache 100 || true #*/
|
||||
${sksPkg}/bin/sks cleandb || true
|
||||
${sksPkg}/bin/sks pbuild -cache 20 -ptree_cache 70 || true
|
||||
# Check that both database configs are symlinks before overwriting them
|
||||
# TODO: The initial build will be without DB_CONFIG, but this will
|
||||
# hopefully not cause any significant problems. It might be better to
|
||||
# create both directories manually but we have to check that this does
|
||||
# not affect the initial build of the DB.
|
||||
for CONFIG_FILE in KDB/DB_CONFIG PTree/DB_CONFIG; do
|
||||
if [ -e $CONFIG_FILE ] && [ ! -L $CONFIG_FILE ]; then
|
||||
echo "$CONFIG_FILE exists but is not a symlink." >&2
|
||||
echo "Please remove $PWD/$CONFIG_FILE manually to continue." >&2
|
||||
exit 1
|
||||
fi
|
||||
ln -sf ${dbConfig} $CONFIG_FILE
|
||||
done
|
||||
'';
|
||||
serviceConfig = {
|
||||
WorkingDirectory = "~";
|
||||
|
|
|
@ -63,6 +63,17 @@ in
|
|||
Enable debugging messages.
|
||||
'';
|
||||
};
|
||||
|
||||
notificationsCommand = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
example = "sudo -u example_user DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus notify-send";
|
||||
description = ''
|
||||
Command used to send notifications.
|
||||
|
||||
See <link xlink:href="https://github.com/rfjakob/earlyoom#notifications">README</link> for details.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -88,7 +99,9 @@ in
|
|||
-s ${toString ecfg.freeSwapThreshold} \
|
||||
${optionalString ecfg.useKernelOOMKiller "-k"} \
|
||||
${optionalString ecfg.ignoreOOMScoreAdjust "-i"} \
|
||||
${optionalString ecfg.enableDebugInfo "-d"}
|
||||
${optionalString ecfg.enableDebugInfo "-d"} \
|
||||
${optionalString (ecfg.notificationsCommand != null)
|
||||
"-N ${escapeShellArg ecfg.notificationsCommand}"}
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
|
|
@ -3,65 +3,136 @@
|
|||
with lib;
|
||||
|
||||
let
|
||||
|
||||
cfg = config.services.documize;
|
||||
|
||||
in
|
||||
mkParams = optional: concatMapStrings (name: let
|
||||
predicate = optional -> cfg.${name} != null;
|
||||
template = " -${name} '${toString cfg.${name}}'";
|
||||
in optionalString predicate template);
|
||||
|
||||
{
|
||||
options.services.documize = {
|
||||
enable = mkEnableOption "Documize Wiki";
|
||||
in {
|
||||
options.services.documize = {
|
||||
enable = mkEnableOption "Documize Wiki";
|
||||
|
||||
offline = mkEnableOption "Documize offline mode";
|
||||
|
||||
package = mkOption {
|
||||
default = pkgs.documize-community;
|
||||
type = types.package;
|
||||
description = ''
|
||||
Which package to use for documize.
|
||||
'';
|
||||
};
|
||||
|
||||
db = mkOption {
|
||||
type = types.str;
|
||||
example = "host=localhost port=5432 sslmode=disable user=admin password=secret dbname=documize";
|
||||
description = ''
|
||||
The DB connection string to use for the database.
|
||||
'';
|
||||
};
|
||||
|
||||
dbtype = mkOption {
|
||||
type = types.enum [ "postgresql" "percona" "mariadb" "mysql" ];
|
||||
description = ''
|
||||
Which database to use for storage.
|
||||
'';
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
example = 3000;
|
||||
description = ''
|
||||
Which TCP port to serve.
|
||||
'';
|
||||
};
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.documize-community;
|
||||
description = ''
|
||||
Which package to use for documize.
|
||||
'';
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.services.documize-server = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
salt = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
example = "3edIYV6c8B28b19fh";
|
||||
description = ''
|
||||
The salt string used to encode JWT tokens, if not set a random value will be generated.
|
||||
'';
|
||||
};
|
||||
|
||||
script = ''
|
||||
${cfg.package}/bin/documize \
|
||||
-db "${cfg.db}" \
|
||||
-dbtype ${cfg.dbtype} \
|
||||
-port ${toString cfg.port} \
|
||||
-offline ${if cfg.offline then "1" else "0"}
|
||||
'';
|
||||
cert = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
The <filename>cert.pem</filename> file used for https.
|
||||
'';
|
||||
};
|
||||
|
||||
serviceConfig = {
|
||||
Restart = "always";
|
||||
DynamicUser = "yes";
|
||||
};
|
||||
key = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
The <filename>key.pem</filename> file used for https.
|
||||
'';
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
default = 5001;
|
||||
description = ''
|
||||
The http/https port number.
|
||||
'';
|
||||
};
|
||||
|
||||
forcesslport = mkOption {
|
||||
type = types.nullOr types.port;
|
||||
default = null;
|
||||
description = ''
|
||||
Redirect given http port number to TLS.
|
||||
'';
|
||||
};
|
||||
|
||||
offline = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Set <literal>true</literal> for offline mode.
|
||||
'';
|
||||
apply = v: if true == v then 1 else 0;
|
||||
};
|
||||
|
||||
dbtype = mkOption {
|
||||
type = types.enum [ "mysql" "percona" "mariadb" "postgresql" "sqlserver" ];
|
||||
default = "postgresql";
|
||||
description = ''
|
||||
Specify the database provider:
|
||||
<simplelist type='inline'>
|
||||
<member><literal>mysql</literal></member>
|
||||
<member><literal>percona</literal></member>
|
||||
<member><literal>mariadb</literal></member>
|
||||
<member><literal>postgresql</literal></member>
|
||||
<member><literal>sqlserver</literal></member>
|
||||
</simplelist>
|
||||
'';
|
||||
};
|
||||
|
||||
db = mkOption {
|
||||
type = types.str;
|
||||
description = ''
|
||||
Database specific connection string for example:
|
||||
<itemizedlist>
|
||||
<listitem><para>MySQL/Percona/MariaDB:
|
||||
<literal>user:password@tcp(host:3306)/documize</literal>
|
||||
</para></listitem>
|
||||
<listitem><para>MySQLv8+:
|
||||
<literal>user:password@tcp(host:3306)/documize?allowNativePasswords=true</literal>
|
||||
</para></listitem>
|
||||
<listitem><para>PostgreSQL:
|
||||
<literal>host=localhost port=5432 dbname=documize user=admin password=secret sslmode=disable</literal>
|
||||
</para></listitem>
|
||||
<listitem><para>MSSQL:
|
||||
<literal>sqlserver://username:password@localhost:1433?database=Documize</literal> or
|
||||
<literal>sqlserver://sa@localhost/SQLExpress?database=Documize</literal>
|
||||
</para></listitem>
|
||||
</itemizedlist>
|
||||
'';
|
||||
};
|
||||
|
||||
location = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
reserved
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.services.documize-server = {
|
||||
description = "Documize Wiki";
|
||||
documentation = [ https://documize.com/ ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = concatStringsSep " " [
|
||||
"${cfg.package}/bin/documize"
|
||||
(mkParams false [ "db" "dbtype" "port" ])
|
||||
(mkParams true [ "offline" "location" "forcesslport" "key" "cert" "salt" ])
|
||||
];
|
||||
Restart = "always";
|
||||
DynamicUser = "yes";
|
||||
};
|
||||
};
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
@ -60,12 +60,15 @@ in
|
|||
${cfg.extraSessionCommands}
|
||||
|
||||
${cfg.package}/bin/i3 ${optionalString (cfg.configFile != null)
|
||||
"-c \"${cfg.configFile}\""
|
||||
"-c /etc/i3/config"
|
||||
} &
|
||||
waitPID=$!
|
||||
'';
|
||||
}];
|
||||
environment.systemPackages = [ cfg.package ] ++ cfg.extraPackages;
|
||||
environment.etc."i3/config" = mkIf (cfg.configFile != null) {
|
||||
source = cfg.configFile;
|
||||
};
|
||||
};
|
||||
|
||||
imports = [
|
||||
|
|
|
@ -166,24 +166,6 @@ while (my ($unit, $state) = each %{$activePrev}) {
|
|||
|
||||
if (-e $prevUnitFile && ($state->{state} eq "active" || $state->{state} eq "activating")) {
|
||||
if (! -e $newUnitFile || abs_path($newUnitFile) eq "/dev/null") {
|
||||
# Ignore (i.e. never stop) these units:
|
||||
if ($unit eq "system.slice") {
|
||||
# TODO: This can be removed a few months after 18.09 is out
|
||||
# (i.e. after everyone switched away from 18.03).
|
||||
# Problem: Restarting (stopping) system.slice would not only
|
||||
# stop X11 but also most system units/services. We obviously
|
||||
# don't want this happening to users when they switch from 18.03
|
||||
# to 18.09 or nixos-unstable.
|
||||
# Reason: The following change in systemd:
|
||||
# https://github.com/systemd/systemd/commit/d8e5a9338278d6602a0c552f01f298771a384798
|
||||
# The commit adds system.slice to the perpetual units, which
|
||||
# means removing the unit file and adding it to the source code.
|
||||
# This is done so that system.slice can't be stopped anymore but
|
||||
# in our case it ironically would cause this script to stop
|
||||
# system.slice because the unit was removed (and an older
|
||||
# systemd version is still running).
|
||||
next;
|
||||
}
|
||||
my $unitInfo = parseUnit($prevUnitFile);
|
||||
$unitsToStop{$unit} = 1 if boolIsTrue($unitInfo->{'X-StopOnRemoval'} // "yes");
|
||||
}
|
||||
|
|
|
@ -87,6 +87,9 @@ let
|
|||
mkdir -p /crypt-ramfs
|
||||
mount -t ramfs none /crypt-ramfs
|
||||
|
||||
# Cryptsetup locking directory
|
||||
mkdir -p /run/cryptsetup
|
||||
|
||||
# For Yubikey salt storage
|
||||
mkdir -p /crypt-storage
|
||||
|
||||
|
|
|
@ -72,6 +72,7 @@ in
|
|||
#ec2-config = (handleTestOn ["x86_64-linux"] ./ec2.nix {}).boot-ec2-config or {};
|
||||
ec2-nixops = (handleTestOn ["x86_64-linux"] ./ec2.nix {}).boot-ec2-nixops or {};
|
||||
ecryptfs = handleTest ./ecryptfs.nix {};
|
||||
ejabberd = handleTest ./ejabberd.nix {};
|
||||
elk = handleTestOn ["x86_64-linux"] ./elk.nix {};
|
||||
env = handleTest ./env.nix {};
|
||||
etcd = handleTestOn ["x86_64-linux"] ./etcd.nix {};
|
||||
|
@ -172,6 +173,7 @@ in
|
|||
nix-ssh-serve = handleTest ./nix-ssh-serve.nix {};
|
||||
novacomd = handleTestOn ["x86_64-linux"] ./novacomd.nix {};
|
||||
nsd = handleTest ./nsd.nix {};
|
||||
nzbget = handleTest ./nzbget.nix {};
|
||||
openldap = handleTest ./openldap.nix {};
|
||||
opensmtpd = handleTest ./opensmtpd.nix {};
|
||||
openssh = handleTest ./openssh.nix {};
|
||||
|
|
|
@ -0,0 +1,262 @@
|
|||
import ./make-test.nix ({ pkgs, ... }: {
|
||||
name = "ejabberd";
|
||||
meta = with pkgs.stdenv.lib.maintainers; {
|
||||
maintainers = [ ajs124 ];
|
||||
};
|
||||
nodes = {
|
||||
client = { nodes, pkgs, ... }: {
|
||||
environment.systemPackages = [
|
||||
(pkgs.callPackage ./xmpp-sendmessage.nix { connectTo = nodes.server.config.networking.primaryIPAddress; })
|
||||
];
|
||||
};
|
||||
server = { config, pkgs, ... }: {
|
||||
networking.extraHosts = ''
|
||||
${config.networking.primaryIPAddress} example.com
|
||||
'';
|
||||
|
||||
services.ejabberd = {
|
||||
enable = true;
|
||||
configFile = "/etc/ejabberd.yml";
|
||||
};
|
||||
|
||||
environment.etc."ejabberd.yml" = {
|
||||
user = "ejabberd";
|
||||
mode = "0600";
|
||||
text = ''
|
||||
loglevel: 3
|
||||
|
||||
hosts:
|
||||
- "example.com"
|
||||
|
||||
listen:
|
||||
-
|
||||
port: 5222
|
||||
module: ejabberd_c2s
|
||||
zlib: false
|
||||
max_stanza_size: 65536
|
||||
shaper: c2s_shaper
|
||||
access: c2s
|
||||
-
|
||||
port: 5269
|
||||
ip: "::"
|
||||
module: ejabberd_s2s_in
|
||||
-
|
||||
port: 5347
|
||||
ip: "127.0.0.1"
|
||||
module: ejabberd_service
|
||||
access: local
|
||||
shaper_rule: fast
|
||||
ip: "127.0.0.1"
|
||||
|
||||
## Disabling digest-md5 SASL authentication. digest-md5 requires plain-text
|
||||
## password storage (see auth_password_format option).
|
||||
disable_sasl_mechanisms: "digest-md5"
|
||||
|
||||
## Outgoing S2S options
|
||||
## Preferred address families (which to try first) and connect timeout
|
||||
## in seconds.
|
||||
outgoing_s2s_families:
|
||||
- ipv4
|
||||
- ipv6
|
||||
|
||||
## auth_method: Method used to authenticate the users.
|
||||
## The default method is the internal.
|
||||
## If you want to use a different method,
|
||||
## comment this line and enable the correct ones.
|
||||
auth_method: internal
|
||||
|
||||
## Store the plain passwords or hashed for SCRAM:
|
||||
## auth_password_format: plain
|
||||
auth_password_format: scram
|
||||
|
||||
###' TRAFFIC SHAPERS
|
||||
shaper:
|
||||
# in B/s
|
||||
normal: 1000000
|
||||
fast: 50000000
|
||||
|
||||
## This option specifies the maximum number of elements in the queue
|
||||
## of the FSM. Refer to the documentation for details.
|
||||
max_fsm_queue: 1000
|
||||
|
||||
###' ACCESS CONTROL LISTS
|
||||
acl:
|
||||
## The 'admin' ACL grants administrative privileges to XMPP accounts.
|
||||
## You can put here as many accounts as you want.
|
||||
admin:
|
||||
user:
|
||||
- "root": "example.com"
|
||||
|
||||
## Local users: don't modify this.
|
||||
local:
|
||||
user_regexp: ""
|
||||
|
||||
## Loopback network
|
||||
loopback:
|
||||
ip:
|
||||
- "127.0.0.0/8"
|
||||
- "::1/128"
|
||||
- "::FFFF:127.0.0.1/128"
|
||||
|
||||
###' SHAPER RULES
|
||||
shaper_rules:
|
||||
## Maximum number of simultaneous sessions allowed for a single user:
|
||||
max_user_sessions: 10
|
||||
## Maximum number of offline messages that users can have:
|
||||
max_user_offline_messages:
|
||||
- 5000: admin
|
||||
- 1024
|
||||
## For C2S connections, all users except admins use the "normal" shaper
|
||||
c2s_shaper:
|
||||
- none: admin
|
||||
- normal
|
||||
## All S2S connections use the "fast" shaper
|
||||
s2s_shaper: fast
|
||||
|
||||
###' ACCESS RULES
|
||||
access_rules:
|
||||
## This rule allows access only for local users:
|
||||
local:
|
||||
- allow: local
|
||||
## Only non-blocked users can use c2s connections:
|
||||
c2s:
|
||||
- deny: blocked
|
||||
- allow
|
||||
## Only admins can send announcement messages:
|
||||
announce:
|
||||
- allow: admin
|
||||
## Only admins can use the configuration interface:
|
||||
configure:
|
||||
- allow: admin
|
||||
## Only accounts of the local ejabberd server can create rooms:
|
||||
muc_create:
|
||||
- allow: local
|
||||
## Only accounts on the local ejabberd server can create Pubsub nodes:
|
||||
pubsub_createnode:
|
||||
- allow: local
|
||||
## In-band registration allows registration of any possible username.
|
||||
## To disable in-band registration, replace 'allow' with 'deny'.
|
||||
register:
|
||||
- allow
|
||||
## Only allow to register from localhost
|
||||
trusted_network:
|
||||
- allow: loopback
|
||||
|
||||
## ===============
|
||||
## API PERMISSIONS
|
||||
## ===============
|
||||
##
|
||||
## This section allows you to define who and using what method
|
||||
## can execute commands offered by ejabberd.
|
||||
##
|
||||
## By default "console commands" section allow executing all commands
|
||||
## issued using ejabberdctl command, and "admin access" section allows
|
||||
## users in admin acl that connect from 127.0.0.1 to execute all
|
||||
## commands except start and stop with any available access method
|
||||
## (ejabberdctl, http-api, xmlrpc depending what is enabled on server).
|
||||
##
|
||||
## If you remove "console commands" there will be one added by
|
||||
## default allowing executing all commands, but if you just change
|
||||
## permissions in it, version from config file will be used instead
|
||||
## of default one.
|
||||
##
|
||||
api_permissions:
|
||||
"console commands":
|
||||
from:
|
||||
- ejabberd_ctl
|
||||
who: all
|
||||
what: "*"
|
||||
|
||||
language: "en"
|
||||
|
||||
###' MODULES
|
||||
## Modules enabled in all ejabberd virtual hosts.
|
||||
modules:
|
||||
mod_adhoc: {}
|
||||
mod_announce: # recommends mod_adhoc
|
||||
access: announce
|
||||
mod_blocking: {} # requires mod_privacy
|
||||
mod_caps: {}
|
||||
mod_carboncopy: {}
|
||||
mod_client_state: {}
|
||||
mod_configure: {} # requires mod_adhoc
|
||||
## mod_delegation: {} # for xep0356
|
||||
mod_echo: {}
|
||||
#mod_irc:
|
||||
# host: "irc.@HOST@"
|
||||
# default_encoding: "utf-8"
|
||||
## mod_bosh: {}
|
||||
## mod_http_fileserver:
|
||||
## docroot: "/var/www"
|
||||
## accesslog: "/var/log/ejabberd/access.log"
|
||||
#mod_http_upload:
|
||||
# thumbnail: false # otherwise needs the identify command from ImageMagick installed
|
||||
# put_url: "https://@HOST@:5444"
|
||||
## # docroot: "@HOME@/upload"
|
||||
#mod_http_upload_quota:
|
||||
# max_days: 14
|
||||
mod_last: {}
|
||||
## XEP-0313: Message Archive Management
|
||||
## You might want to setup a SQL backend for MAM because the mnesia database is
|
||||
## limited to 2GB which might be exceeded on large servers
|
||||
mod_mam: {}
|
||||
mod_muc:
|
||||
host: "muc.@HOST@"
|
||||
access:
|
||||
- allow
|
||||
access_admin:
|
||||
- allow: admin
|
||||
access_create: muc_create
|
||||
access_persistent: muc_create
|
||||
mod_muc_admin: {}
|
||||
mod_muc_log: {}
|
||||
mod_offline:
|
||||
access_max_user_messages: max_user_offline_messages
|
||||
mod_ping: {}
|
||||
## mod_pres_counter:
|
||||
## count: 5
|
||||
## interval: 60
|
||||
mod_privacy: {}
|
||||
mod_private: {}
|
||||
mod_roster:
|
||||
versioning: true
|
||||
mod_shared_roster: {}
|
||||
mod_stats: {}
|
||||
mod_time: {}
|
||||
mod_vcard:
|
||||
search: false
|
||||
mod_vcard_xupdate: {}
|
||||
## Convert all avatars posted by Android clients from WebP to JPEG
|
||||
mod_avatar: {}
|
||||
# convert:
|
||||
# webp: jpeg
|
||||
mod_version: {}
|
||||
mod_stream_mgmt: {}
|
||||
## The module for S2S dialback (XEP-0220). Please note that you cannot
|
||||
## rely solely on dialback if you want to federate with other servers,
|
||||
## because a lot of servers have dialback disabled and instead rely on
|
||||
## PKIX authentication. Make sure you have proper certificates installed
|
||||
## and check your accessibility at https://check.messaging.one/
|
||||
mod_s2s_dialback: {}
|
||||
mod_pubsub:
|
||||
plugins:
|
||||
- "pep"
|
||||
mod_push: {}
|
||||
'';
|
||||
};
|
||||
|
||||
networking.firewall.enable = false;
|
||||
};
|
||||
};
|
||||
|
||||
testScript = { nodes, ... }: ''
|
||||
$server->waitForUnit('ejabberd.service');
|
||||
$server->succeed('su ejabberd -s $(which ejabberdctl) status|grep started') =~ /ejabberd is running/;
|
||||
$server->succeed('su ejabberd -s $(which ejabberdctl) register azurediamond example.com hunter2');
|
||||
$server->succeed('su ejabberd -s $(which ejabberdctl) register cthon98 example.com nothunter2');
|
||||
$server->fail('su ejabberd -s $(which ejabberdctl) register asdf wrong.domain');
|
||||
$client->succeed('send-message');
|
||||
$server->succeed('su ejabberd -s $(which ejabberdctl) unregister cthon98 example.com');
|
||||
$server->succeed('su ejabberd -s $(which ejabberdctl) unregister azurediamond example.com');
|
||||
'';
|
||||
})
|
|
@ -0,0 +1,16 @@
|
|||
import ./make-test.nix ({ lib, ...}:
|
||||
|
||||
{
|
||||
name = "jellyfin";
|
||||
meta.maintainers = with lib.maintainers; [ minijackson ];
|
||||
|
||||
machine =
|
||||
{ ... }:
|
||||
{ services.jellyfin.enable = true; };
|
||||
|
||||
testScript = ''
|
||||
$machine->waitForUnit('jellyfin.service');
|
||||
$machine->waitForOpenPort('8096');
|
||||
$machine->succeed("curl --fail http://localhost:8096/");
|
||||
'';
|
||||
})
|
|
@ -0,0 +1,26 @@
|
|||
import ./make-test.nix ({ pkgs, ...} : {
|
||||
name = "nzbget";
|
||||
meta = with pkgs.stdenv.lib.maintainers; {
|
||||
maintainers = [ aanderse flokli ];
|
||||
};
|
||||
|
||||
nodes = {
|
||||
server = { ... }: {
|
||||
services.nzbget.enable = true;
|
||||
|
||||
# hack, don't add (unfree) unrar to nzbget's path,
|
||||
# so we can run this test in CI
|
||||
systemd.services.nzbget.path = pkgs.stdenv.lib.mkForce [ pkgs.p7zip ];
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
startAll;
|
||||
|
||||
$server->waitForUnit("nzbget.service");
|
||||
$server->waitForUnit("network.target");
|
||||
$server->waitForOpenPort(6789);
|
||||
$server->succeed("curl -s -u nzbget:tegbzn6789 http://127.0.0.1:6789 | grep -q 'This file is part of nzbget'");
|
||||
$server->succeed("${pkgs.nzbget}/bin/nzbget -n -o ControlIP=127.0.0.1 -o ControlPort=6789 -o ControlPassword=tegbzn6789 -V");
|
||||
'';
|
||||
})
|
|
@ -9,70 +9,30 @@ import ./make-test.nix {
|
|||
extraConfig = ''
|
||||
storage = "sql"
|
||||
'';
|
||||
virtualHosts.test = {
|
||||
domain = "example.com";
|
||||
enabled = true;
|
||||
};
|
||||
};
|
||||
environment.systemPackages = let
|
||||
sendMessage = pkgs.writeScriptBin "send-message" ''
|
||||
#!/usr/bin/env python3
|
||||
# Based on the sleekxmpp send_client example, look there for more details:
|
||||
# https://github.com/fritzy/SleekXMPP/blob/develop/examples/send_client.py
|
||||
import sleekxmpp
|
||||
|
||||
class SendMsgBot(sleekxmpp.ClientXMPP):
|
||||
"""
|
||||
A basic SleekXMPP bot that will log in, send a message,
|
||||
and then log out.
|
||||
"""
|
||||
def __init__(self, jid, password, recipient, message):
|
||||
sleekxmpp.ClientXMPP.__init__(self, jid, password)
|
||||
|
||||
self.recipient = recipient
|
||||
self.msg = message
|
||||
|
||||
self.add_event_handler("session_start", self.start, threaded=True)
|
||||
|
||||
def start(self, event):
|
||||
self.send_presence()
|
||||
self.get_roster()
|
||||
|
||||
self.send_message(mto=self.recipient,
|
||||
mbody=self.msg,
|
||||
mtype='chat')
|
||||
|
||||
self.disconnect(wait=True)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
xmpp = SendMsgBot("test1@localhost", "test1", "test2@localhost", "Hello World!")
|
||||
xmpp.register_plugin('xep_0030') # Service Discovery
|
||||
xmpp.register_plugin('xep_0199') # XMPP Ping
|
||||
|
||||
# TODO: verify certificate
|
||||
# If you want to verify the SSL certificates offered by a server:
|
||||
# xmpp.ca_certs = "path/to/ca/cert"
|
||||
|
||||
if xmpp.connect(('localhost', 5222)):
|
||||
xmpp.process(block=True)
|
||||
else:
|
||||
print("Unable to connect.")
|
||||
sys.exit(1)
|
||||
'';
|
||||
in [ (pkgs.python3.withPackages (ps: [ ps.sleekxmpp ])) sendMessage ];
|
||||
environment.systemPackages = [
|
||||
(pkgs.callPackage ./xmpp-sendmessage.nix {})
|
||||
];
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
$machine->waitForUnit('prosody.service');
|
||||
$machine->succeed('prosodyctl status') =~ /Prosody is running/;
|
||||
|
||||
# set password to 'test' (it's asked twice)
|
||||
$machine->succeed('yes test1 | prosodyctl adduser test1@localhost');
|
||||
# set password to 'nothunter2' (it's asked twice)
|
||||
$machine->succeed('yes nothunter2 | prosodyctl adduser cthon98@example.com');
|
||||
# set password to 'y'
|
||||
$machine->succeed('yes | prosodyctl adduser test2@localhost');
|
||||
# correct password to 'test2'
|
||||
$machine->succeed('yes test2 | prosodyctl passwd test2@localhost');
|
||||
$machine->succeed('yes | prosodyctl adduser azurediamond@example.com');
|
||||
# correct password to 'hunter2'
|
||||
$machine->succeed('yes hunter2 | prosodyctl passwd azurediamond@example.com');
|
||||
|
||||
$machine->succeed("send-message");
|
||||
|
||||
$machine->succeed('prosodyctl deluser test1@localhost');
|
||||
$machine->succeed('prosodyctl deluser test2@localhost');
|
||||
$machine->succeed('prosodyctl deluser cthon98@example.com');
|
||||
$machine->succeed('prosodyctl deluser azurediamond@example.com');
|
||||
'';
|
||||
}
|
||||
|
|
|
@ -0,0 +1,46 @@
|
|||
{ writeScriptBin, python3, connectTo ? "localhost" }:
|
||||
writeScriptBin "send-message" ''
|
||||
#!${(python3.withPackages (ps: [ ps.sleekxmpp ])).interpreter}
|
||||
# Based on the sleekxmpp send_client example, look there for more details:
|
||||
# https://github.com/fritzy/SleekXMPP/blob/develop/examples/send_client.py
|
||||
import sleekxmpp
|
||||
|
||||
class SendMsgBot(sleekxmpp.ClientXMPP):
|
||||
"""
|
||||
A basic SleekXMPP bot that will log in, send a message,
|
||||
and then log out.
|
||||
"""
|
||||
def __init__(self, jid, password, recipient, message):
|
||||
sleekxmpp.ClientXMPP.__init__(self, jid, password)
|
||||
|
||||
self.recipient = recipient
|
||||
self.msg = message
|
||||
|
||||
self.add_event_handler("session_start", self.start, threaded=True)
|
||||
|
||||
def start(self, event):
|
||||
self.send_presence()
|
||||
self.get_roster()
|
||||
|
||||
self.send_message(mto=self.recipient,
|
||||
mbody=self.msg,
|
||||
mtype='chat')
|
||||
|
||||
self.disconnect(wait=True)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
xmpp = SendMsgBot("cthon98@example.com", "nothunter2", "azurediamond@example.com", "hey, if you type in your pw, it will show as stars")
|
||||
xmpp.register_plugin('xep_0030') # Service Discovery
|
||||
xmpp.register_plugin('xep_0199') # XMPP Ping
|
||||
|
||||
# TODO: verify certificate
|
||||
# If you want to verify the SSL certificates offered by a server:
|
||||
# xmpp.ca_certs = "path/to/ca/cert"
|
||||
|
||||
if xmpp.connect(('${connectTo}', 5222)):
|
||||
xmpp.process(block=True)
|
||||
else:
|
||||
print("Unable to connect.")
|
||||
sys.exit(1)
|
||||
''
|
|
@ -0,0 +1,49 @@
|
|||
{ stdenv, fetchurl, pkgconfig
|
||||
, glib, gtk3, gnome3, gsettings-desktop-schemas, wrapGAppsHook
|
||||
, libX11, libXtst, libXfixes, libXcursor
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mousetweaks";
|
||||
version = "3.32.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "005fhmvb45sa9mq17dpa23n1xnspiissx5rnpiy7hiqmy3g5rg8f";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
|
||||
|
||||
buildInputs = [
|
||||
glib gtk3 gsettings-desktop-schemas
|
||||
libX11 libXtst libXfixes libXcursor
|
||||
];
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome3.updateScript {
|
||||
packageName = pname;
|
||||
};
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Provides mouse accessibility enhancements for the GNOME desktop";
|
||||
longDescription = ''
|
||||
Mousetweaks provides mouse accessibility enhancements for the GNOME
|
||||
desktop. These enhancements are:
|
||||
|
||||
- It offers a way to perform the various clicks without using any
|
||||
physical mouse buttons. (Hover Click)
|
||||
|
||||
- It allows users to perform a secondary click by keeping the primary
|
||||
mouse button pressed for a predetermined amount of time. (Simulated
|
||||
Secondary Click)
|
||||
|
||||
The features can be activated and configured through the Universal Access
|
||||
panel of the GNOME Control Center.
|
||||
'';
|
||||
homepage = https://wiki.gnome.org/Projects/Mousetweaks;
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.johnazoidberg ];
|
||||
};
|
||||
}
|
|
@ -3,21 +3,14 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "calf-${version}";
|
||||
version = "0.90.0";
|
||||
version = "0.90.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://calf-studio-gear.org/files/${name}.tar.gz";
|
||||
sha256 = "0dijv2j7vlp76l10s4v8gbav26ibaqk8s24ci74vrc398xy00cib";
|
||||
sha256 = "0bn4j1klw2yfxz8clbmasaydifq25rdfsv0n6iisxrzcj1lx7sgh";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix memory leak in limiter
|
||||
# https://github.com/flathub/com.github.wwmm.pulseeffects/issues/12
|
||||
(fetchpatch {
|
||||
url = https://github.com/calf-studio-gear/calf/commit/7afdefc0d0489a6227fd10f15843d81dc82afd62.patch;
|
||||
sha256 = "056662iw6hp4ykwk4jyrzg5yarcn17ni97yc060y5kcnzy29ddg6";
|
||||
})
|
||||
];
|
||||
enableParallelBuilding = true;
|
||||
|
||||
buildInputs = [
|
||||
cairo expat fftwSinglePrec fluidsynth glib gtk2 libjack2 ladspaH
|
||||
|
|
|
@ -1,13 +1,14 @@
|
|||
{ stdenv, fetchFromGitHub, libjack2, libGL, pkgconfig, xorg }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "dragonfly-reverb-${src.rev}";
|
||||
pname = "dragonfly-reverb";
|
||||
version = "1.1.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "michaelwillis";
|
||||
repo = "dragonfly-reverb";
|
||||
rev = "1.0.0";
|
||||
sha256 = "05m4hd8lg0a7iiia6cbiw5qmc4p8vbkxp2qh7ywaabawiwa9r24x";
|
||||
rev = version;
|
||||
sha256 = "060g4ddh1z222n39wqj8jxj0zgmpjrgraw76qgyg6xkn15cn9q9y";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -21,15 +22,20 @@ stdenv.mkDerivation rec {
|
|||
];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
mkdir -p $out/lib/lv2/
|
||||
cp -a bin/DragonflyReverb.lv2/ $out/lib/lv2/
|
||||
mkdir -p $out/lib/vst/
|
||||
cd bin
|
||||
cp -a DragonflyReverb $out/bin/
|
||||
cp -a DragonflyReverb-vst.so $out/lib/vst/
|
||||
cp -a DragonflyReverb.lv2/ $out/lib/lv2/
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://github.com/michaelwillis/dragonfly-reverb;
|
||||
description = "A hall-style reverb based on freeverb3 algorithms";
|
||||
maintainers = [ maintainers.magnetophon ];
|
||||
license = licenses.gpl2;
|
||||
license = licenses.gpl3;
|
||||
platforms = ["x86_64-linux"];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -0,0 +1,97 @@
|
|||
# currently needs to be installed into an environment and needs a `kbuildsycoca5` run afterwards for plugin discovery
|
||||
{
|
||||
mkDerivation, fetchFromGitHub, lib, makeWrapper,
|
||||
cmake, extra-cmake-modules, pkgconfig,
|
||||
libkcddb, kconfig, kconfigwidgets, ki18n, kdelibs4support, kio, solid, kwidgetsaddons, kxmlgui,
|
||||
qtbase, phonon,
|
||||
taglib,
|
||||
# optional backends
|
||||
withCD ? true, cdparanoia,
|
||||
withFlac ? true, flac,
|
||||
withMidi ? true, fluidsynth, timidity,
|
||||
withSpeex ? false, speex,
|
||||
withVorbis ? true, vorbis-tools, vorbisgain,
|
||||
withMp3 ? true, lame, mp3gain,
|
||||
withAac ? true, faad2, aacgain,
|
||||
withUnfreeAac ? false, faac,
|
||||
withFfmpeg ? true, ffmpeg-full,
|
||||
withMplayer ? false, mplayer,
|
||||
withSox ? true, sox,
|
||||
withOpus ? true, opusTools,
|
||||
withTwolame ? false, twolame,
|
||||
withApe ? false, mac,
|
||||
withWavpack ? false, wavpack
|
||||
}:
|
||||
|
||||
assert withAac -> withFfmpeg || withUnfreeAac;
|
||||
assert withUnfreeAac -> withAac;
|
||||
|
||||
let runtimeDeps = []
|
||||
++ lib.optional withCD cdparanoia
|
||||
++ lib.optional withFlac flac
|
||||
++ lib.optional withSpeex speex
|
||||
++ lib.optional withFfmpeg ffmpeg-full
|
||||
++ lib.optional withMplayer mplayer
|
||||
++ lib.optional withSox sox
|
||||
++ lib.optional withOpus opusTools
|
||||
++ lib.optional withTwolame twolame
|
||||
++ lib.optional withApe mac
|
||||
++ lib.optional withWavpack wavpack
|
||||
++ lib.optional withUnfreeAac faac
|
||||
++ lib.optionals withMidi [ fluidsynth timidity ]
|
||||
++ lib.optionals withVorbis [ vorbis-tools vorbisgain ]
|
||||
++ lib.optionals withMp3 [ lame mp3gain ]
|
||||
++ lib.optionals withAac [ faad2 aacgain ];
|
||||
|
||||
in
|
||||
mkDerivation rec {
|
||||
name = "soundkonverter";
|
||||
version = "3.0.1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "dfaust";
|
||||
repo = "soundkonverter";
|
||||
rev = "v" + version;
|
||||
sha256 = "1g2khdsjmsi4zzynkq8chd11cbdhjzmi37r9jhpal0b730nq9x7l";
|
||||
};
|
||||
enableParallelBuilding = true;
|
||||
nativeBuildInputs = [ cmake extra-cmake-modules pkgconfig kdelibs4support makeWrapper ];
|
||||
propagatedBuildInputs = [ libkcddb kconfig kconfigwidgets ki18n kdelibs4support kio solid kwidgetsaddons kxmlgui qtbase phonon];
|
||||
buildInputs = [ taglib ] ++ runtimeDeps;
|
||||
# encoder plugins go to ${out}/lib so they're found by kbuildsycoca5
|
||||
cmakeFlags = [ "-DCMAKE_INSTALL_PREFIX=$out" ];
|
||||
sourceRoot = "source/src";
|
||||
# add runt-time deps to PATH
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/soundkonverter --prefix PATH : ${lib.makeBinPath runtimeDeps }
|
||||
'';
|
||||
meta = {
|
||||
license = lib.licenses.gpl2;
|
||||
maintainers = [ lib.maintainers.schmittlauch ];
|
||||
description = "Audio file converter, CD ripper and Replay Gain tool";
|
||||
longDescription = ''
|
||||
soundKonverter is a frontend to various audio converters.
|
||||
|
||||
The key features are:
|
||||
- Audio file conversion
|
||||
- Replay Gain calculation
|
||||
- CD ripping
|
||||
|
||||
soundKonverter supports reading and writing tags and covers for many formats, so they are preserved when converting files.
|
||||
|
||||
It is extendable by plugins and supports many backends including:
|
||||
|
||||
- Audio file conversion
|
||||
Backends: faac, faad, ffmpeg, flac, lame, mplayer, neroaac, timidity, fluidsynth, vorbistools, opustools, sox, twolame,
|
||||
flake, mac, shorten, wavpack and speex
|
||||
Formats: ogg vorbis, mp3, flac, wma, aac, ac3, opus, alac, mp2, als, amr nb, amr wb, ape, speex, m4a, mp1, musepack shorten,
|
||||
tta, wavpack, ra, midi, mod, 3gp, rm, avi, mkv, ogv, mpeg, mov, mp4, flv, wmv and rv
|
||||
|
||||
- Replay Gain calculation
|
||||
Backends: aacgain, metaflac, mp3gain, vorbisgain, wvgain, mpcgain
|
||||
Formats: aac, mp3, flac, ogg vorbis, wavpack, musepack
|
||||
|
||||
- CD ripping
|
||||
Backends: cdparanoia
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -3,13 +3,13 @@
|
|||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "timemachine-${version}";
|
||||
version = "0.3.1";
|
||||
pname = "timemachine";
|
||||
version = "0.3.3";
|
||||
src = fetchFromGitHub {
|
||||
owner = "swh";
|
||||
repo = "timemachine";
|
||||
rev = "1966d8524d4e4c47c525473bab3b010a168adc98";
|
||||
sha256 = "0w5alysixnvlkfl79wf7vs5wsw2vgxl3gqxxcm0zbmhjdpmjpcal";
|
||||
rev = "v${version}";
|
||||
sha256 = "1jsvd29wiqigxyqxl2xjklla11fwyjy68vqivcnlr9f2af4ylym8";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
{ stdenv, fetchFromGitHub, qmake, pkgconfig, qttools, qtwebkit, hunspell }:
|
||||
{ stdenv, fetchFromGitHub, qmake, pkgconfig, qttools, qtwebengine, hunspell }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ghostwriter";
|
||||
version = "1.7.4";
|
||||
version = "1.8.0";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wereturtle";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1pqlr08z5syqcq5p282asxwzrrm7c1w94baxyb467swh8yp3fj5m";
|
||||
sha256 = "13yn82m1l2pq93wbl569a2lzpc3sn8a8g30hsgdch1l9xlmhwran";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ qmake pkgconfig qttools ];
|
||||
|
||||
buildInputs = [ qtwebkit hunspell ];
|
||||
buildInputs = [ qtwebengine hunspell ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A cross-platform, aesthetic, distraction-free Markdown editor";
|
||||
|
|
|
@ -250,12 +250,12 @@ in
|
|||
|
||||
clion = buildClion rec {
|
||||
name = "clion-${version}";
|
||||
version = "2019.1"; /* updated by script */
|
||||
version = "2019.1.2"; /* updated by script */
|
||||
description = "C/C++ IDE. New. Intelligent. Cross-platform";
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
|
||||
sha256 = "1rlqnnv6b7lg18si31zd97ixnslwp8j6imkkjq0j5n9sydsr8xzj"; /* updated by script */
|
||||
sha256 = "0x4fmbarckw60issrwk3cd65x5xjkxwrw4xq1qgfzmxfqhzbzvz8"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-clion";
|
||||
update-channel = "CLion RELEASE"; # channel's id as in http://www.jetbrains.com/updates/updates.xml
|
||||
|
@ -263,12 +263,12 @@ in
|
|||
|
||||
datagrip = buildDataGrip rec {
|
||||
name = "datagrip-${version}";
|
||||
version = "2018.3.4"; /* updated by script */
|
||||
version = "2019.1.1"; /* updated by script */
|
||||
description = "Your Swiss Army Knife for Databases and SQL";
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/datagrip/${name}.tar.gz";
|
||||
sha256 = "10sw41kkf2k60xjpwgc73i182y7px3dmqz2awnrl4gffdb9jgzmy"; /* updated by script */
|
||||
sha256 = "0w6hasb8vcbxdqmb0pngwr2jg0w14prqb4v7blraa5jf1xyyiayd"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-datagrip";
|
||||
update-channel = "DataGrip RELEASE";
|
||||
|
@ -276,12 +276,12 @@ in
|
|||
|
||||
goland = buildGoland rec {
|
||||
name = "goland-${version}";
|
||||
version = "2019.1"; /* updated by script */
|
||||
version = "2019.1.1"; /* updated by script */
|
||||
description = "Up and Coming Go IDE";
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/go/${name}.tar.gz";
|
||||
sha256 = "0aq3x5aixh86h1zvvwrbr2f1nnqdpfvlsadd2ckmf5s5kghvg5r9"; /* updated by script */
|
||||
sha256 = "0b8msq0raczm657rhbyqi702zv4zs66yd6dcm7s0l54hnas5ia9r"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-goland";
|
||||
update-channel = "GoLand RELEASE";
|
||||
|
@ -289,12 +289,12 @@ in
|
|||
|
||||
idea-community = buildIdea rec {
|
||||
name = "idea-community-${version}";
|
||||
version = "2019.1"; /* updated by script */
|
||||
version = "2019.1.1"; /* updated by script */
|
||||
description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
|
||||
license = stdenv.lib.licenses.asl20;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
|
||||
sha256 = "0zyw88dd2v4igp080l99cyq6h0bmyri8a50fjp69ripiz9qaawx1"; /* updated by script */
|
||||
sha256 = "0xbdn1q0a2ksb7z26n2l889m6z0lh3b45clya7rdfl4jv2gkiaaq"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-idea-ce";
|
||||
update-channel = "IntelliJ IDEA RELEASE";
|
||||
|
@ -302,12 +302,12 @@ in
|
|||
|
||||
idea-ultimate = buildIdea rec {
|
||||
name = "idea-ultimate-${version}";
|
||||
version = "2019.1"; /* updated by script */
|
||||
version = "2019.1.1"; /* updated by script */
|
||||
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jbr.tar.gz";
|
||||
sha256 = "0fsdf090cwwrsq3azknc9rpwwsl71cvsx4flivnqwfakb6rh4f1j"; /* updated by script */
|
||||
sha256 = "1pglvklbj4w6pmc7ffbjwwfqh7fad54yfx87m9plqk80rmpjzxfi"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-idea";
|
||||
update-channel = "IntelliJ IDEA RELEASE";
|
||||
|
@ -315,12 +315,12 @@ in
|
|||
|
||||
phpstorm = buildPhpStorm rec {
|
||||
name = "phpstorm-${version}";
|
||||
version = "2019.1"; /* updated by script */
|
||||
version = "2019.1.1"; /* updated by script */
|
||||
description = "Professional IDE for Web and PHP developers";
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz";
|
||||
sha256 = "1bv2a16wsc9j82w14qfrfjgszwkihk0jwp8bp8z9618q04c8vmgf"; /* updated by script */
|
||||
sha256 = "100whawwj1kiq870dsmkx33qv5ygjpr9977jkbavhqjnc1zhwl1r"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-phpstorm";
|
||||
update-channel = "PhpStorm RELEASE";
|
||||
|
@ -328,12 +328,12 @@ in
|
|||
|
||||
pycharm-community = buildPycharm rec {
|
||||
name = "pycharm-community-${version}";
|
||||
version = "2019.1"; /* updated by script */
|
||||
version = "2019.1.1"; /* updated by script */
|
||||
description = "PyCharm Community Edition";
|
||||
license = stdenv.lib.licenses.asl20;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/python/${name}.tar.gz";
|
||||
sha256 = "173qm2g6pjga2jlw8sa59bxw543b56r56ikqwv2wp0jq5z61v26f"; /* updated by script */
|
||||
sha256 = "1zz579kmskvgsjv2lriglxkdlx33mmfv2liw1b9iilspga59izld"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-pycharm-ce";
|
||||
update-channel = "PyCharm RELEASE";
|
||||
|
@ -341,12 +341,12 @@ in
|
|||
|
||||
pycharm-professional = buildPycharm rec {
|
||||
name = "pycharm-professional-${version}";
|
||||
version = "2019.1"; /* updated by script */
|
||||
version = "2019.1.1"; /* updated by script */
|
||||
description = "PyCharm Professional Edition";
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/python/${name}.tar.gz";
|
||||
sha256 = "0gjphdzdxgvflkzaakf3c1wnig86lxhxyx6xk6rg40yj6f2hzi47"; /* updated by script */
|
||||
sha256 = "0hcij77j4zb1y1vls5nvxq3lmqrbppm3ml0p9nagbjipy2rmp838"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-pycharm";
|
||||
update-channel = "PyCharm RELEASE";
|
||||
|
@ -367,12 +367,12 @@ in
|
|||
|
||||
ruby-mine = buildRubyMine rec {
|
||||
name = "ruby-mine-${version}";
|
||||
version = "2018.3.5"; /* updated by script */
|
||||
version = "2019.1.1"; /* updated by script */
|
||||
description = "The Most Intelligent Ruby and Rails IDE";
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
|
||||
sha256 = "1gykag8fsfqxv0d6fipn18hhpdvn4qxva2kkb0v330vp73wm2i2w"; /* updated by script */
|
||||
sha256 = "0asg0x8xcjyydy0p1fdlhpcwfckdf9719460pv5zwc7yfd8z61yd"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-rubymine";
|
||||
update-channel = "RubyMine RELEASE";
|
||||
|
@ -380,12 +380,12 @@ in
|
|||
|
||||
webstorm = buildWebStorm rec {
|
||||
name = "webstorm-${version}";
|
||||
version = "2019.1"; /* updated by script */
|
||||
version = "2019.1.1"; /* updated by script */
|
||||
description = "Professional IDE for Web and JavaScript development";
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
|
||||
sha256 = "0r6a9g8ydnxf805gn2wajnwkcyfn0xksbsrs8wq6j4ghipkhscxj"; /* updated by script */
|
||||
sha256 = "05lrsjk45l4xqjyinsqlnfr36qnv1nrgg2sskgi0bfjbdrfv9xrv"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-webstorm";
|
||||
update-channel = "WebStorm RELEASE";
|
||||
|
|
|
@ -7,19 +7,19 @@ stdenv.mkDerivation rec {
|
|||
if stdenv.hostPlatform.system == "i686-linux" then
|
||||
fetchzip {
|
||||
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_386_v${version}.zip";
|
||||
sha256 = "14qx69fq1a3h93h167nhwp6gxka8r34295p82kim9grijrx5zz5f";
|
||||
sha256 = "1jwkvj6xxfgn08j6wzwcra3p1dp04vblzr2g5s1y3bj4r7gs4gax";
|
||||
stripRoot = false;
|
||||
}
|
||||
else if stdenv.hostPlatform.system == "x86_64-linux" then
|
||||
fetchzip {
|
||||
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_amd64_v${version}.zip";
|
||||
sha256 = "1jh1sk07k3whbr0rvc4kf221wskcdbk0zpxaj49qbwq1d89cjnpg";
|
||||
sha256 = "1svic2b2msbwzfx3qxfglxp0jjzy3p3v78273wab942zh822ld8b";
|
||||
stripRoot = false;
|
||||
}
|
||||
else if stdenv.hostPlatform.system == "x86_64-darwin" then
|
||||
fetchzip {
|
||||
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_darwin_amd64_v${version}.zip";
|
||||
sha256 = "1s6gw2qwsbhj4z9nrwrxs776y45ingpfp9533qz0gc1pk7ia99js";
|
||||
sha256 = "03bnwn06066hvp0n30260mhvkjr60dl93nj9l7p6a0ndcv7w77r8";
|
||||
stripRoot = false;
|
||||
}
|
||||
else throw "Architecture not supported";
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "dbeaver-ce-${version}";
|
||||
version = "6.0.2";
|
||||
version = "6.0.3";
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "dbeaver";
|
||||
|
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
src = fetchurl {
|
||||
url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
|
||||
sha256 = "12zqz9zi4jryvlk1rjxfl4jdj4a6n00018yyk95glfdrxda2xyib";
|
||||
sha256 = "0pcf8p9nmbj6kf32zrjjrfyxb07x37h56zm3s5gdf1jk2hvrarvl";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
|
|
@ -1,30 +0,0 @@
|
|||
{ stdenv, fetchFromGitHub, bzip2, qt4, qmake4Hook, libX11 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "evopedia-${version}";
|
||||
version = "0.4.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "evopedia";
|
||||
repo = "evopedia_qt";
|
||||
rev = "v${version}";
|
||||
sha256 = "0snp5qiywj306kfaywvkl7j34fivgxcb8dids1lzmbqq5xcpqqvc";
|
||||
};
|
||||
|
||||
buildInputs = [ bzip2 qt4 libX11 ];
|
||||
nativeBuildInputs = [ qmake4Hook ];
|
||||
|
||||
postInstall = ''
|
||||
# Patch the `evopedia.desktop' file.
|
||||
substituteInPlace $out/share/applications/evopedia.desktop \
|
||||
--replace '/usr/bin/evopedia' $out/bin/evopedia
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Offline Wikipedia Viewer";
|
||||
homepage = http://www.evopedia.info;
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = [ maintainers.qknight ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
diff --git a/meson_post_install.py b/meson_post_install.py
|
||||
index 8d00e70..c28d19e 100644
|
||||
--- a/meson_post_install.py
|
||||
+++ b/meson_post_install.py
|
||||
@@ -7,7 +7,7 @@ prefix = environ['MESON_INSTALL_PREFIX']
|
||||
data_dir = path.join(prefix, 'share')
|
||||
schema_dir = path.join(data_dir, 'glib-2.0', 'schemas')
|
||||
|
||||
-if not environ['DESTDIR']:
|
||||
+if not environ.get('DESTDIR'):
|
||||
print('Compiling gsettings schemas...')
|
||||
call(['glib-compile-schemas', schema_dir])
|
||||
print('Updating desktop database...')
|
|
@ -10,8 +10,8 @@ stdenv.mkDerivation rec {
|
|||
src = fetchFromGitHub {
|
||||
owner = "FontManager";
|
||||
repo = "master";
|
||||
rev = "cc057f3e93f5b1033b04decee03cdb44177e48b3";
|
||||
sha256 = "1xg80bi2465p5r8zfmb34iga9yqs3is1k4f13hw0ligvhb58gas0";
|
||||
rev = version;
|
||||
sha256 = "16hma8rrkam6ngn5vbdaryn31vdixvii6920g9z928gylz9xkd3g";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -38,10 +38,6 @@ stdenv.mkDerivation rec {
|
|||
gnome3.adwaita-icon-theme
|
||||
];
|
||||
|
||||
patches = [
|
||||
./correct-post-install.patch
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Ddisable_pycompile=true"
|
||||
];
|
||||
|
|
|
@ -1,12 +1,14 @@
|
|||
{ stdenv, fetchzip }:
|
||||
{ stdenv, fetchFromGitHub }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "kanboard-${version}";
|
||||
version = "1.0.48";
|
||||
version = "1.2.9";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/kanboard/kanboard/releases/download/v${version}/${name}.zip";
|
||||
sha256 = "0ipyijlfcnfqlz9n20wcnaf9pw404a675x404pm9h2n4ld8x6m5v";
|
||||
src = fetchFromGitHub {
|
||||
owner = "kanboard";
|
||||
repo = "kanboard";
|
||||
rev = "v${version}";
|
||||
sha256 = "1hdr95cpxgdzrzhffs63gdl0g7122ma2zg8bkqwp42p5xphx0xan";
|
||||
};
|
||||
|
||||
dontBuild = true;
|
||||
|
|
|
@ -20,12 +20,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "kdeconnect";
|
||||
version = "1.3.3";
|
||||
name = "${pname}-${version}";
|
||||
version = "1.3.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kde/stable/${pname}/${version}/src/${pname}-kde-${version}.tar.xz";
|
||||
sha256 = "1vac0mw1myrswr61adv7lgif0c4wzw5wnsj0sqxj6msp4l4pfgsg";
|
||||
url = "mirror://kde/stable/${pname}/${version}/${pname}-kde-${version}.tar.xz";
|
||||
sha256 = "12ijvp86wm6k81dggypxh3c0dmwg5mczxy43ra8rgv63aavmf42h";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{ fetchurl
|
||||
, stdenv
|
||||
, substituteAll
|
||||
, aspellWithDicts
|
||||
, at-spi2-core ? null
|
||||
, atspiSupport ? true
|
||||
|
@ -16,6 +17,7 @@
|
|||
, intltool
|
||||
, isocodes
|
||||
, libcanberra-gtk3
|
||||
, mousetweaks
|
||||
, udev
|
||||
, libxkbcommon
|
||||
, pkgconfig
|
||||
|
@ -38,6 +40,10 @@ in python3.pkgs.buildPythonApplication rec {
|
|||
};
|
||||
|
||||
patches = [
|
||||
(substituteAll {
|
||||
src = ./fix-paths.patch;
|
||||
inherit mousetweaks;
|
||||
})
|
||||
# Allow loading hunspell dictionaries installed in NixOS system path
|
||||
./hunspell-use-xdg-datadirs.patch
|
||||
];
|
||||
|
@ -79,6 +85,7 @@ in python3.pkgs.buildPythonApplication rec {
|
|||
hunspell
|
||||
isocodes
|
||||
libcanberra-gtk3
|
||||
mousetweaks
|
||||
udev
|
||||
libxkbcommon
|
||||
wrapGAppsHook
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
--- a/Onboard/ClickSimulator.py
|
||||
+++ b/Onboard/ClickSimulator.py
|
||||
@@ -479,7 +479,7 @@ class CSMousetweaks(ConfigObject, ClickSimulator):
|
||||
self._daemon_running_notify_callbacks = []
|
||||
|
||||
def _launch_daemon(self, delay):
|
||||
- self.launcher.launch_delayed(["mousetweaks"], delay)
|
||||
+ self.launcher.launch_delayed(["@mousetweaks@/bin/mousetweaks"], delay)
|
||||
|
||||
def _set_connection(self, active):
|
||||
''' Update interface object, state and notify listeners '''
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "zola";
|
||||
version = "0.6.0";
|
||||
version = "0.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "getzola";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "11y5gb6lx040ax4b16fr3whkj4vmv8hlkvb50h58gs77payglf6l";
|
||||
sha256 = "02lr1n3gf0agj8x451ndyvv16lq7rccazp4nz9zy0pzwxwrlwhra";
|
||||
};
|
||||
|
||||
cargoSha256 = "19hqkj27dbsy4pi0i8mjjlhi4351yifvc6zln6scc2nd60p251h6";
|
||||
cargoSha256 = "003dhh41fh337k3djibpj6hyd16xprbgws3lbp7x37p4lx7qlnfy";
|
||||
|
||||
nativeBuildInputs = [ cmake pkgconfig ];
|
||||
buildInputs = [ openssl ] ++ stdenv.lib.optionals stdenv.isDarwin [ CoreServices cf-private ];
|
||||
|
|
|
@ -6,20 +6,20 @@ buildGoPackage rec {
|
|||
/* Do not use "dev" as a version. If you do, Tilt will consider itself
|
||||
running in development environment and try to serve assets from the
|
||||
source tree, which is not there once build completes. */
|
||||
version = "0.7.13";
|
||||
rev = "67cd823b2a07c7bb2bcb919c0963e8f23e22d57e";
|
||||
version = "0.8.1";
|
||||
rev = "9ce987dd0eeb66df993f8d232b57ff3e4d380dda";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "windmilleng";
|
||||
repo = "tilt";
|
||||
rev = "${rev}";
|
||||
sha256 = "0cfmdd6wsczcmy6fkd418rvancx4qy1c3pzq9jbfsy4innhh51j7";
|
||||
sha256 = "0ybzj2csmjc7zlkprcyy5cnh9dxgngcx3wd6n43kawi5db0lvjn4";
|
||||
};
|
||||
|
||||
goPackagePath = "github.com/windmilleng/tilt";
|
||||
subPackages = [ "cmd/tilt" ];
|
||||
|
||||
buildFlagsArray = ("-ldflags=-X main.version=${version} -X main.date=2019-04-18");
|
||||
buildFlagsArray = ("-ldflags=-X main.version=${version} -X main.date=2019-04-29");
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Local development tool to manage your developer instance when your team deploys to Kubernetes in production";
|
||||
|
|
|
@ -14,6 +14,8 @@ buildPythonApplication rec {
|
|||
|
||||
buildInputs = [ sphinx ];
|
||||
|
||||
checkInputs = [ procps ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
matplotlib
|
||||
procps
|
||||
|
|
|
@ -1,55 +0,0 @@
|
|||
{ stdenv, fetchFromGitLab, fetchFromGitHub, qmake
|
||||
, qtquickcontrols2, qtmultimedia, qtgraphicaleffects
|
||||
, libqmatrixclient
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
libqmatrixclient_git = libqmatrixclient.overrideDerivation (oldAttrs: {
|
||||
name = "libqmatrixclient-git-for-matrique";
|
||||
src = fetchFromGitHub {
|
||||
owner = "QMatrixClient";
|
||||
repo = "libqmatrixclient";
|
||||
rev = "d9ff200f";
|
||||
sha256 = "0qxkffg1499wnn8rbndq6z51sz6hiij2pkp40cvs530sl0zg0c69";
|
||||
};
|
||||
});
|
||||
|
||||
SortFilterProxyModel = fetchFromGitLab {
|
||||
owner = "b0";
|
||||
repo = "SortFilterProxyModel";
|
||||
rev = "3c2c125c";
|
||||
sha256 = "1494dvq7kiq0ymf5f9hr47pw80zv3m3dncnaw1pnzs7mhkf2s5fr";
|
||||
};
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "matrique-${version}";
|
||||
version = "250";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "b0";
|
||||
repo = "matrique";
|
||||
rev = version;
|
||||
sha256 = "0l7ag2q3l8ixczwc43igvkkl81g5s5j032gzizmgpzb1bjpdgry7";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
rm -r include/*
|
||||
ln -sf ${libqmatrixclient_git.src} include/libqmatrixclient
|
||||
ln -sf ${SortFilterProxyModel} include/SortFilterProxyModel
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ qmake ];
|
||||
buildInputs = [
|
||||
qtquickcontrols2 qtmultimedia qtgraphicaleffects
|
||||
libqmatrixclient_git
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
inherit (src.meta) homepage;
|
||||
description = "A glossy client for Matrix";
|
||||
maintainers = with maintainers; [ fpletz ];
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
|
@ -1,36 +1,42 @@
|
|||
{ stdenv, lib, fetchFromGitHub, qtbase, qtquickcontrols, cmake
|
||||
, qttools, libqmatrixclient }:
|
||||
{ stdenv, lib, fetchFromGitHub, cmake
|
||||
, qtbase, qtquickcontrols, qtkeychain, qtmultimedia, qttools
|
||||
, libqmatrixclient_0_4, libqmatrixclient_0_5 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "quaternion-${version}";
|
||||
version = "0.0.9.3";
|
||||
let
|
||||
generic = version: sha256: prefix: library: stdenv.mkDerivation rec {
|
||||
name = "quaternion-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "QMatrixClient";
|
||||
repo = "Quaternion";
|
||||
rev = "v${version}";
|
||||
sha256 = "1hr9zqf301rg583n9jv256vzj7y57d8qgayk7c723bfknf1s6hh3";
|
||||
src = fetchFromGitHub {
|
||||
owner = "QMatrixClient";
|
||||
repo = "Quaternion";
|
||||
rev = "${prefix}${version}";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
buildInputs = [ qtbase qtmultimedia qtquickcontrols qtkeychain qttools library ];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
postInstall = if stdenv.isDarwin then ''
|
||||
mkdir -p $out/Applications
|
||||
mv $out/bin/quaternion.app $out/Applications
|
||||
rmdir $out/bin || :
|
||||
'' else ''
|
||||
substituteInPlace $out/share/applications/quaternion.desktop \
|
||||
--replace 'Exec=quaternion' "Exec=$out/bin/quaternion"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Cross-platform desktop IM client for the Matrix protocol";
|
||||
homepage = https://matrix.org/docs/projects/client/quaternion.html;
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ peterhoeg ];
|
||||
inherit (qtbase.meta) platforms;
|
||||
inherit version;
|
||||
};
|
||||
};
|
||||
|
||||
buildInputs = [ qtbase qtquickcontrols qttools libqmatrixclient ];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
postInstall = if stdenv.isDarwin then ''
|
||||
mkdir -p $out/Applications
|
||||
mv $out/bin/quaternion.app $out/Applications
|
||||
rmdir $out/bin || :
|
||||
'' else ''
|
||||
substituteInPlace $out/share/applications/quaternion.desktop \
|
||||
--replace 'Exec=quaternion' "Exec=$out/bin/quaternion"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Cross-platform desktop IM client for the Matrix protocol";
|
||||
homepage = https://matrix.org/docs/projects/client/quaternion.html;
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ peterhoeg ];
|
||||
inherit (qtbase.meta) platforms;
|
||||
inherit version;
|
||||
};
|
||||
in rec {
|
||||
quaternion = generic "0.0.9.4" "12mkwiqqbi4774kwl7gha72jyf0jf547acy6rw8ry249zl4lja54" "" libqmatrixclient_0_5;
|
||||
quaternion-git = quaternion;
|
||||
}
|
||||
|
|
|
@ -1,24 +1,19 @@
|
|||
{ stdenv, buildGoPackage, fetchFromGitHub, fetchgx }:
|
||||
{ stdenv, buildGoPackage, fetchFromGitHub }:
|
||||
|
||||
buildGoPackage rec {
|
||||
name = "ipfs-${version}";
|
||||
version = "0.4.19";
|
||||
version = "0.4.20";
|
||||
rev = "v${version}";
|
||||
|
||||
goPackagePath = "github.com/ipfs/go-ipfs";
|
||||
|
||||
extraSrcPaths = [
|
||||
(fetchgx {
|
||||
inherit name src;
|
||||
sha256 = "0bj2kzxjssp7szp1wr9pp08bsi55jgf0k7gi4h70phlib2q673j2";
|
||||
})
|
||||
];
|
||||
goDeps = ./deps.nix;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ipfs";
|
||||
repo = "go-ipfs";
|
||||
inherit rev;
|
||||
sha256 = "061mgkawimhw3gq506h8m6kw50a2v26qysa5kc5jdqgaqx5yvqh4";
|
||||
sha256 = "1xnjn4pcgknywfndrp2zwln3v1msaffhhfiym5mdz543rsxav0yp";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -9,12 +9,12 @@
|
|||
|
||||
mkDerivation rec {
|
||||
pname = "kexi";
|
||||
version = "3.1.0";
|
||||
version = "3.2.0";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kde/stable/${pname}/src/${name}.tar.xz";
|
||||
sha256 = "1ysj44qq75wglw4d080l3gfw47695gapf29scxhb1g3py55csmbd";
|
||||
sha256 = "1zy1q7q9rfdaws3rwf3my22ywkn6g747s3ixfcg9r80mm2g3z0bs";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
|
||||
|
@ -29,13 +29,6 @@ mkDerivation rec {
|
|||
|
||||
propagatedUserEnvPkgs = [ kproperty ];
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://phabricator.kde.org/file/data/6iwzltiifyqwjnzbvyo6/PHID-FILE-li4a7j35wkdkm2qdtnp4/D11503.diff";
|
||||
sha256 = "0yj717m4x1zb4xjy1ayhz78xkxpawxgsvjgvf5iw81jnlr8absq9";
|
||||
})
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A open source visual database applications creator, a long-awaited competitor for programs like MS Access or Filemaker";
|
||||
longDescription = ''
|
||||
|
|
|
@ -7,11 +7,11 @@
|
|||
|
||||
mkDerivation rec {
|
||||
name = "skrooge-${version}";
|
||||
version = "2.18.0";
|
||||
version = "2.19.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.kde.org/stable/skrooge/${name}.tar.xz";
|
||||
sha256 = "00zk152clnmq8rjjnrxmd7lfflf2pnzljaw73bjjsb6r6vkxywa6";
|
||||
sha256 = "04pajy540vwff1y84ndrnscvlggiwfkr6w65g4hpa75cg7m169ya";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -9,11 +9,11 @@
|
|||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
name = "zim-${version}";
|
||||
version = "0.70";
|
||||
version = "0.71.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://zim-wiki.org/downloads/${name}.tar.gz";
|
||||
sha256 = "1g1xj86iph1a2k4n9yykq0gipbd5jdd7fsh9qpv4v2h5lggadjdd";
|
||||
sha256 = "0mr3911ls5zp3z776ysrdm3sg89zg29r3ip23msydcdbl8wymw30";
|
||||
};
|
||||
|
||||
buildInputs = [ gtk3 gobject-introspection wrapGAppsHook ];
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
{ stdenv, fetchFromGitHub, cmake, fftw, hamlib, libpulseaudio, libGL, libX11, liquid-dsp,
|
||||
pkgconfig, soapysdr-with-plugins, wxGTK, enableDigitalLab ? false }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "cubicsdr-${version}";
|
||||
version = "0.2.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cjcliffe";
|
||||
repo = "CubicSDR";
|
||||
rev = version;
|
||||
sha256 = "1ihbn18bzdcdvwpa4hnb55ns38bj4b8xy53hkmra809f9qpbcjhn";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkgconfig ];
|
||||
buildInputs = [ fftw hamlib libpulseaudio libGL libX11 liquid-dsp soapysdr-with-plugins wxGTK ];
|
||||
|
||||
cmakeFlags = [ "-DUSE_HAMLIB=ON" ]
|
||||
++ stdenv.lib.optional enableDigitalLab "-DENABLE_DIGITAL_LAB=ON";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://cubicsdr.com;
|
||||
description = "Software Defined Radio application";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ lasandell ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
{ stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.2.38";
|
||||
pname = "aragorn";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://mbio-serv2.mbioekol.lu.se/ARAGORN/Downloads/${pname}${version}.tgz";
|
||||
sha256 = "09i1rg716smlbnixfm7q1ml2mfpaa2fpn3hwjg625ysmfwwy712b";
|
||||
};
|
||||
|
||||
buildPhase = ''
|
||||
gcc -O3 -ffast-math -finline-functions -o aragorn aragorn${version}.c
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin && cp aragorn $out/bin
|
||||
mkdir -p $out/man/1 && cp aragorn.1 $out/man/1
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Detects tRNA, mtRNA, and tmRNA genes in nucleotide sequences";
|
||||
homepage = http://mbio-serv2.mbioekol.lu.se/ARAGORN/;
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.bzizou ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
|
@ -1,50 +1,70 @@
|
|||
{ stdenv, lib, fetchFromGitHub, alex, happy, Agda, agdaIowaStdlib,
|
||||
buildPlatform, buildPackages, ghcWithPackages, fetchpatch }:
|
||||
let
|
||||
options-patch =
|
||||
fetchpatch {
|
||||
url = https://github.com/cedille/cedille/commit/ee62b0fabde6c4f7299a3778868519255cc4a64f.patch;
|
||||
name = "options.patch";
|
||||
sha256 = "19xzn9sqpfnfqikqy1x9lb9mb6722kbgvrapl6cf8ckcw8cfj8cz";
|
||||
};
|
||||
in
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, texinfo
|
||||
, alex
|
||||
, happy
|
||||
, Agda
|
||||
, buildPlatform
|
||||
, buildPackages
|
||||
, ghcWithPackages
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.0.0";
|
||||
name = "cedille-${version}";
|
||||
version = "1.1.1";
|
||||
pname = "cedille";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cedille";
|
||||
repo = "cedille";
|
||||
rev = "v${version}";
|
||||
sha256 = "08c2vgg8i6l3ws7hd5gsj89mki36lxm7x7s8hi1qa5gllq04a832";
|
||||
sha256 = "17j7an5bharc8q1pj06615zmflipjdd0clf67cnfdhsmqwzf6l9r";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
buildInputs = [ alex happy Agda (ghcWithPackages (ps: [ps.ieee])) ];
|
||||
|
||||
patches = [options-patch];
|
||||
nativeBuildInputs = [ texinfo alex happy ];
|
||||
buildInputs = [ Agda (ghcWithPackages (ps: [ps.ieee])) ];
|
||||
|
||||
LANG = "en_US.UTF-8";
|
||||
LOCALE_ARCHIVE =
|
||||
lib.optionalString (buildPlatform.libc == "glibc")
|
||||
"${buildPackages.glibcLocales}/lib/locale/locale-archive";
|
||||
|
||||
patches = [
|
||||
# texinfo direntry fix. See: https://github.com/cedille/cedille/pull/86
|
||||
(fetchpatch {
|
||||
url = "https://github.com/cedille/cedille/commit/c058f42179a635c7b6179772c30f0eba4ac53724.patch";
|
||||
sha256 = "02qd86k5bdrygjzh2k0j0q5qk4nk2vwnsz7nvlssvysbvsmiba7x";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs create-libraries.sh
|
||||
cp -r ${agdaIowaStdlib.src} ial
|
||||
chmod -R 755 ial
|
||||
patchShebangs docs/src/compile-docs.sh
|
||||
'';
|
||||
|
||||
outputs = ["out" "lib"];
|
||||
# We regenerate the info file in order to fix the direntry
|
||||
preBuild = ''
|
||||
rm -f docs/info/cedille-info-main.info
|
||||
'';
|
||||
|
||||
buildFlags = [ "all" "cedille-docs" ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
mv cedille $out/bin/cedille
|
||||
mv lib $lib
|
||||
install -Dm755 -t $out/bin/ cedille
|
||||
install -Dm755 -t $out/bin/ core/cedille-core
|
||||
install -Dm644 -t $out/share/info docs/info/cedille-info-main.info
|
||||
|
||||
mkdir -p $out/lib/
|
||||
cp -r lib/ $out/lib/cedille/
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "An interactive theorem-prover and dependently typed programming language, based on extrinsic (aka Curry-style) type theory.";
|
||||
meta = with stdenv.lib; {
|
||||
description = "An interactive theorem-prover and dependently typed programming language, based on extrinsic (aka Curry-style) type theory";
|
||||
homepage = https://cedille.github.io/;
|
||||
license = stdenv.lib.licenses.mit;
|
||||
maintainers = [ stdenv.lib.maintainers.mpickering ];
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ marsam mpickering ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
{ stdenv, fetchurl, bzip2, gfortran, libX11, libXmu, libXt, libjpeg, libpng
|
||||
, libtiff, ncurses, pango, pcre, perl, readline, tcl, texLive, tk, xz, zlib
|
||||
, less, texinfo, graphviz, icu, pkgconfig, bison, imake, which, jdk, openblas
|
||||
, curl, Cocoa, Foundation, libobjc, libcxx, tzdata
|
||||
, curl, Cocoa, Foundation, libobjc, libcxx, tzdata, fetchpatch
|
||||
, withRecommendedPackages ? true
|
||||
, enableStrictBarrier ? false
|
||||
, javaSupport ? (!stdenv.hostPlatform.isAarch32 && !stdenv.hostPlatform.isAarch64)
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "R-3.5.3";
|
||||
name = "R-3.6.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://cran.r-project.org/src/base/R-3/${name}.tar.gz";
|
||||
sha256 = "1337irx9y0r3jm1rcq1dcwnxsgfhnvgjs5wadcyh17vhpnvkgyib";
|
||||
sha256 = "02bmylmzrm9sdidirmwy233lghmd2346z725ca71ari68lzarz1n";
|
||||
};
|
||||
|
||||
dontUseImakeConfigure = true;
|
||||
|
@ -25,7 +25,13 @@ stdenv.mkDerivation rec {
|
|||
++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa Foundation libobjc libcxx ]
|
||||
++ stdenv.lib.optional javaSupport jdk;
|
||||
|
||||
patches = [ ./no-usr-local-search-paths.patch ];
|
||||
patches = [
|
||||
./no-usr-local-search-paths.patch
|
||||
(fetchpatch {
|
||||
url = "https://github.com/wch/r-source/commit/aeb75e12863019be06fe6c762ab705bf5ed8b38c.patch";
|
||||
sha256 = "03xv1g1yw1dbhx4paw6pn6hkawj8sny86km3748l1vnasbham82g";
|
||||
})
|
||||
];
|
||||
|
||||
prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
substituteInPlace configure --replace "-install_name libR.dylib" "-install_name $out/lib/R/lib/libR.dylib"
|
||||
|
@ -108,6 +114,6 @@ stdenv.mkDerivation rec {
|
|||
platforms = platforms.all;
|
||||
hydraPlatforms = platforms.linux;
|
||||
|
||||
maintainers = [ maintainers.peti ];
|
||||
maintainers = with maintainers; [ peti timokau ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "geogebra-${version}";
|
||||
version = "5-0-472-0";
|
||||
version = "5-0-535-0";
|
||||
|
||||
preferLocalBuild = true;
|
||||
|
||||
|
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
|||
"https://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2"
|
||||
"http://web.archive.org/https://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2"
|
||||
];
|
||||
sha256 = "1f56k5r5wf2l27sgp2vjpvx7wl72gizwxs0a6hngk15nzzka87v9";
|
||||
sha256 = "1mbjwa9isw390i0k1yh6r9wmh8zkczian0v25w2vxb2a8vv0hjk0";
|
||||
};
|
||||
|
||||
srcIcon = fetchurl {
|
||||
|
|
|
@ -134,6 +134,13 @@ stdenv.mkDerivation rec {
|
|||
url = "https://git.sagemath.org/sage.git/patch?id=d3483110474591ea6cc8e3210cd884f3e0018b3e";
|
||||
sha256 = "028i6h8l8npwzx5z0ax0rcywl85gc83qw1jf93zf523msdfcsk0n";
|
||||
})
|
||||
|
||||
# https://trac.sagemath.org/ticket/27738
|
||||
(fetchpatch {
|
||||
name = "R-3.6.0.patch";
|
||||
url = "https://git.sagemath.org/sage.git/patch/?h=8b7dbd0805d02d0e8674a272e161ceb24a637966";
|
||||
sha256 = "1c81f13z1w62s06yvp43gz6vkp8mxcs289n6l4gj9xj10slimzff";
|
||||
})
|
||||
];
|
||||
|
||||
patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches;
|
||||
|
|
|
@ -12,13 +12,13 @@ with stdenv.lib;
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mkvtoolnix";
|
||||
version = "33.0.0";
|
||||
version = "33.1.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "mbunkus";
|
||||
repo = "mkvtoolnix";
|
||||
rev = "release-${version}";
|
||||
sha256 = "0bphwjjpcj86phcx795wdy5b0ivwh5mvbvi5288pql88x6x0jjk9";
|
||||
sha256 = "130hh6m7cv2x9jv51qclnfg3dldxhfzhzhf6sqibfhynaj65m09i";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -200,14 +200,14 @@ rec {
|
|||
# Get revisions from
|
||||
# https://github.com/docker/docker-ce/tree/v${version}/components/engine/hack/dockerfile/install/*
|
||||
|
||||
docker_18_09 = dockerGen rec {
|
||||
version = "18.09.2";
|
||||
rev = "62479626f213818ba5b4565105a05277308587d5"; # git commit
|
||||
sha256 = "05kvpy1c4g661xfds6dfzb8r5q76ndblxjykfj06had18pv0xxd4";
|
||||
runcRev = "09c8266bf2fcf9519a651b04ae54c967b9ab86ec";
|
||||
runcSha256 = "08h45vs1f25byapqzy6x42r86m232z166v6z81gc2a3id8v0nzia";
|
||||
containerdRev = "9754871865f7fe2f4e74d43e2fc7ccd237edcbce";
|
||||
containerdSha256 = "065snv0s3v3z0ghadlii4w78qnhchcbx2kfdrvm8fk8gb4pkx1ya";
|
||||
docker_18_09 = makeOverridable dockerGen {
|
||||
version = "18.09.5";
|
||||
rev = "e8ff056dbcfadaeca12a5f508b0cec281126c01d";
|
||||
sha256 = "16nd9vg2286m6v47fjq2zicmfvi8vwiwn24yylxia8b9mk417kdb";
|
||||
runcRev = "2b18fe1d885ee5083ef9f0838fee39b62d653e30";
|
||||
runcSha256 = "0g0d9mh5fcvsjgddiyw98ph5zpz5ivlwy89m45jxwbzkxb21gy7w";
|
||||
containerdRev = "bb71b10fd8f58240ca47fbb579b9d1028eea7c84";
|
||||
containerdSha256 = "0npbzixf3c0jvzm159vygvkydrr8h36c9sq50yv0mdinrys2bvg0";
|
||||
tiniRev = "fec3683b971d9c3ef73f284f176672c44b448662";
|
||||
tiniSha256 = "1h20i3wwlbd8x4jr2gz68hgklh0lb0jj7y5xk1wvr8y58fip1rdn";
|
||||
};
|
||||
|
|
|
@ -47,9 +47,10 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "08frr1fdjx8qcfh3fafn10kibdwbvkqqvfl7hpqbm7i9dg4f1zlq";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ python2 pkgconfig flex bison ];
|
||||
buildInputs =
|
||||
[ python2 zlib pkgconfig glib ncurses perl pixman
|
||||
vde2 texinfo flex bison makeWrapper lzo snappy
|
||||
[ zlib glib ncurses perl pixman
|
||||
vde2 texinfo makeWrapper lzo snappy
|
||||
gnutls nettle curl
|
||||
]
|
||||
++ optionals stdenv.isDarwin [ CoreServices Cocoa Hypervisor rez setfile ]
|
||||
|
|
|
@ -42,17 +42,17 @@ with luaPackages; stdenv.mkDerivation rec {
|
|||
cmakeFlags = "-DOVERRIDE_VERSION=${version}";
|
||||
|
||||
GI_TYPELIB_PATH = "${pango.out}/lib/girepository-1.0";
|
||||
# LUA_CPATH and LUA_PATH are used only for *building*, see the --search flags
|
||||
# below for how awesome finds the libraries it needs at runtime.
|
||||
LUA_CPATH = "${lgi}/lib/lua/${lua.luaversion}/?.so";
|
||||
LUA_PATH = "?.lua;${lgi}/share/lua/${lua.luaversion}/?.lua;${lgi}/share/lua/${lua.luaversion}/lgi/?.lua";
|
||||
LUA_PATH = "${lgi}/share/lua/${lua.luaversion}/?.lua;;";
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/awesome \
|
||||
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
|
||||
--add-flags '--search ${lgi}/lib/lua/${lua.luaversion}' \
|
||||
--add-flags '--search ${lgi}/share/lua/${lua.luaversion}' \
|
||||
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
|
||||
--prefix LUA_PATH ';' "${lgi}/share/lua/${lua.luaversion}/?.lua;${lgi}/share/lua/${lua.luaversion}/lgi/?.lua" \
|
||||
--prefix LUA_CPATH ';' "${lgi}/lib/lua/${lua.luaversion}/?.so"
|
||||
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH"
|
||||
|
||||
wrapProgram $out/bin/awesome-client \
|
||||
--prefix PATH : "${which}/bin"
|
||||
|
|
|
@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "0r583nmqvq43ib93yv6flw8pj833v32lbs0q0xld56s3rnzvvdcp";
|
||||
})
|
||||
./sway-config-no-nix-store-references.patch
|
||||
./load-configuration-from-etc.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig meson ninja scdoc ];
|
||||
|
|
|
@ -0,0 +1,42 @@
|
|||
From 26f9c65ef037892977a824f0d7d7111066856b53 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Weiss <dev.primeos@gmail.com>
|
||||
Date: Sat, 27 Apr 2019 14:26:16 +0200
|
||||
Subject: [PATCH] Load configs from /etc but fallback to /nix/store
|
||||
|
||||
This change will load all configuration files from /etc, to make it easy
|
||||
to override them, but fallback to /nix/store/.../etc/sway/config to make
|
||||
Sway work out-of-the-box with the default configuration on non NixOS
|
||||
systems.
|
||||
---
|
||||
meson.build | 3 ++-
|
||||
sway/config.c | 1 +
|
||||
2 files changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 02b5d606..c03a9c0f 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -129,7 +129,8 @@ if scdoc.found()
|
||||
endforeach
|
||||
endif
|
||||
|
||||
-add_project_arguments('-DSYSCONFDIR="/@0@"'.format(join_paths(prefix, sysconfdir)), language : 'c')
|
||||
+add_project_arguments('-DSYSCONFDIR="/@0@"'.format(sysconfdir), language : 'c')
|
||||
+add_project_arguments('-DNIX_SYSCONFDIR="/@0@"'.format(join_paths(prefix, sysconfdir)), language : 'c')
|
||||
|
||||
version = '"@0@"'.format(meson.project_version())
|
||||
if git.found()
|
||||
diff --git a/sway/config.c b/sway/config.c
|
||||
index 4cd21bbc..dd855753 100644
|
||||
--- a/sway/config.c
|
||||
+++ b/sway/config.c
|
||||
@@ -317,6 +317,7 @@ static char *get_config_path(void) {
|
||||
"$XDG_CONFIG_HOME/i3/config",
|
||||
SYSCONFDIR "/sway/config",
|
||||
SYSCONFDIR "/i3/config",
|
||||
+ NIX_SYSCONFDIR "/sway/config",
|
||||
};
|
||||
|
||||
char *config_home = getenv("XDG_CONFIG_HOME");
|
||||
--
|
||||
2.19.2
|
|
@ -49,10 +49,12 @@ rec {
|
|||
} // (removeAttrs args (builtins.attrNames (builtins.functionArgs wrapAppImage))));
|
||||
|
||||
wrapType1 = args@{ name, src, extraPkgs ? pkgs: [], ... }: wrapAppImage (args // {
|
||||
inherit name extraPkgs;
|
||||
src = extractType1 { inherit name src; };
|
||||
});
|
||||
|
||||
wrapType2 = args@{ name, src, extraPkgs ? pkgs: [], ... }: wrapAppImage (args // {
|
||||
inherit name extraPkgs;
|
||||
src = extractType2 { inherit name src; };
|
||||
});
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ stdenv, fetchzip }:
|
||||
|
||||
let
|
||||
version = "2.2.0";
|
||||
version = "2.2.1";
|
||||
in fetchzip rec {
|
||||
name = "iosevka-bin-${version}";
|
||||
|
||||
|
@ -12,7 +12,7 @@ in fetchzip rec {
|
|||
unzip -j $downloadedFile \*.ttc -d $out/share/fonts/iosevka
|
||||
'';
|
||||
|
||||
sha256 = "038jpax2kgpknqzlg4iip4213f5lbs99iixsxccxy1bg4w7liqsa";
|
||||
sha256 = "0d5ys9k8adj9v1hpwbmjqshzpjlnyj81xwp0328vc5q8pvjcfly6";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://be5invis.github.io/Iosevka/;
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
{ stdenv, fetchFromGitHub }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "nahid-fonts";
|
||||
version = "0.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rastikerdar";
|
||||
repo = "nahid-font";
|
||||
rev = "v${version}";
|
||||
sha256 = "0n42sywi41zin9dilr8vabmcqvmx2f1a8b4yyybs6ms9zb9xdkxg";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/fonts/nahid-fonts
|
||||
cp -v $( find . -name '*.ttf') $out/share/fonts/nahid-fonts
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://github.com/rastikerdar/nahid-font;
|
||||
description = "A Persian (Farsi) Font - قلم (فونت) فارسی ناهید";
|
||||
license = licenses.free;
|
||||
platforms = platforms.all;
|
||||
maintainers = [ maintainers.linarcx ];
|
||||
};
|
||||
}
|
|
@ -8,11 +8,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "efl-${version}";
|
||||
version = "1.21.1";
|
||||
version = "1.22.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.enlightenment.org/rel/libs/efl/${name}.tar.xz";
|
||||
sha256 = "0a5907h896pvpix7a6idc2fspzy6d78xrzf84k8y9fyvnd14nxs4";
|
||||
sha256 = "04mfjvaxi36b7r6kn4n0nq2gj97cbldk9iqnr5pf8jnm8plyblr0";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig gtk3 ];
|
||||
|
@ -29,9 +29,6 @@ stdenv.mkDerivation rec {
|
|||
harfbuzz jbig2dec librsvg dbus alsaLib poppler ghostscript libraw libspectre xineLib libwebp curl libdrm
|
||||
libinput utillinux fribidi SDL2 ];
|
||||
|
||||
# as of 1.21.0 compilation will fail due to -Werror=format-security
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
# ac_ct_CXX must be set to random value, because then it skips some magic which does alternative searching for g++
|
||||
configureFlags = [
|
||||
"--enable-sdl"
|
||||
|
@ -54,6 +51,10 @@ stdenv.mkDerivation rec {
|
|||
|
||||
patches = [ ./efl-elua.patch ];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs src/lib/elementary/config_embed
|
||||
'';
|
||||
|
||||
# bin/edje_cc creates $HOME/.run, which would break build of reverse dependencies.
|
||||
setupHook = writeText "setupHook.sh" ''
|
||||
export HOME="$TEMPDIR"
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
, libgnomekbd
|
||||
, lcms2
|
||||
, libpulseaudio
|
||||
, mousetweaks
|
||||
, alsaLib
|
||||
, libcanberra-gtk3
|
||||
, upower
|
||||
|
@ -48,7 +49,7 @@ stdenv.mkDerivation rec {
|
|||
patches = [
|
||||
(substituteAll {
|
||||
src = ./fix-paths.patch;
|
||||
inherit tzdata;
|
||||
inherit tzdata mousetweaks;
|
||||
})
|
||||
];
|
||||
|
||||
|
|
|
@ -13,3 +13,14 @@
|
|||
|
||||
typedef struct _TzDB TzDB;
|
||||
typedef struct _TzLocation TzLocation;
|
||||
--- a/plugins/mouse/gsd-mouse-manager.c
|
||||
+++ b/plugins/mouse/gsd-mouse-manager.c
|
||||
@@ -118,7 +118,7 @@ set_mousetweaks_daemon (GsdMouseManager *manager,
|
||||
gboolean run_daemon = dwell_click_enabled || secondary_click_enabled;
|
||||
|
||||
if (run_daemon || manager->priv->mousetweaks_daemon_running)
|
||||
- comm = g_strdup_printf ("mousetweaks %s",
|
||||
+ comm = g_strdup_printf ("@mousetweaks@/bin/mousetweaks %s",
|
||||
run_daemon ? "" : "-s");
|
||||
else
|
||||
return;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ fetchFromGitLab, stdenv, substituteAll, pkgconfig, gnome3, intltool, gobject-introspection, upower, cairo
|
||||
, glib, gtk3, pango, cogl, clutter, libstartup_notification, zenity, libcanberra-gtk3
|
||||
, glib, gtk3, pango, cogl, clutter, libstartup_notification, zenity, libcanberra-gtk3, fetchpatch
|
||||
, gsettings-desktop-schemas, gnome-desktop, wrapGAppsHook
|
||||
, libtool, makeWrapper, xkeyboard_config, libxkbfile, libxkbcommon, libXtst, libinput
|
||||
, geocode-glib, libgudev, libwacom, xwayland, autoreconfHook }:
|
||||
|
@ -21,6 +21,33 @@ stdenv.mkDerivation rec {
|
|||
src = ./fix-paths-328.patch;
|
||||
inherit zenity;
|
||||
})
|
||||
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1700337
|
||||
# https://gitlab.gnome.org/GNOME/mutter/merge_requests/133
|
||||
(fetchpatch {
|
||||
url = "https://src.fedoraproject.org/rpms/mutter328/raw/fff28bebda02111b4c534952465ff967ba7efced/f/0070-clutter-Add-API-to-retrieve-the-physical-size-of-abs.patch";
|
||||
sha256 = "11xg0clrqwvssy2r6hv4iya8g87z2v5f47fimd2b4hha6ki3g1is";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://src.fedoraproject.org/rpms/mutter328/raw/fff28bebda02111b4c534952465ff967ba7efced/f/0071-backends-Add-MetaInputMapper.patch";
|
||||
sha256 = "1kcp42hg8sy1q21w5586gdgmi95nf36829kkfswbah61h6bkb518";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://src.fedoraproject.org/rpms/mutter328/raw/fff28bebda02111b4c534952465ff967ba7efced/f/0072-backends-Delegate-on-MetaInputMapper-for-unmapped-di.patch";
|
||||
sha256 = "0zf4yxhq5s3dnzmn15mx4yb978g27ij4vmq055my9p7xgh6h9ga8";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://src.fedoraproject.org/rpms/mutter328/raw/fff28bebda02111b4c534952465ff967ba7efced/f/0073-backends-Add-MetaInputMapper-method-to-lookup-device.patch";
|
||||
sha256 = "0dnb2hqx5in6x9ar6wnr1hy3bg2wdcl3wbdx4jn66c7bi7s1k5zd";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://src.fedoraproject.org/rpms/mutter328/raw/fff28bebda02111b4c534952465ff967ba7efced/f/0074-backends-Turn-builtin-touchscreen-on-off-together-wi.patch";
|
||||
sha256 = "17fvs7j5ws4sz6fkch93gjlik0nm4z426w4n348gyw5llh0r76pg";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://src.fedoraproject.org/rpms/mutter328/raw/fff28bebda02111b4c534952465ff967ba7efced/f/0075-backends-Update-to-new-output-setting-for-tablets-to.patch";
|
||||
sha256 = "141p3an83s042f67fw2fqmr79i5g634ndrbpd8cs47fd4wwiwpj5";
|
||||
})
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
|
|
|
@ -1,20 +1,17 @@
|
|||
{ stdenv, lib, fetchFromGitHub, cmake }:
|
||||
|
||||
let
|
||||
version = "1.8.1";
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libobjc2-${version}";
|
||||
pname = "libobjc2";
|
||||
version = "1.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gnustep";
|
||||
repo = "libobjc2";
|
||||
rev = "v${version}";
|
||||
sha256 = "12v9pjg97h56mb114cqd22q1pdwhmxrgdw5hal74ddlrhiq1nzvi";
|
||||
sha256 = "00pscl3ly3rv6alf9vk70kxnnxq2rfgpc1ylcv6cgjs9jxdnrqmn";
|
||||
};
|
||||
|
||||
buildInputs = [ cmake ];
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
cmakeFlags = [ "-DCMAKE_INSTALL_LIBDIR=lib" ];
|
||||
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "marco-${version}";
|
||||
version = "1.22.0";
|
||||
version = "1.22.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
|
||||
sha256 = "1i1pi1z9mrb6564mxcwb93jqpdppfv58c2viwmicsixis62hv5wx";
|
||||
sha256 = "1j7pvq8ndyl2x8jmh95sj69cnf0q9qsjn7lkr3jz6hk103mga82f";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -5,11 +5,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "mate-session-manager-${version}";
|
||||
version = "1.22.0";
|
||||
version = "1.22.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
|
||||
sha256 = "1kpfmgay01gm74paaxccs3lim4jfb4hsm7i85jfdypr51985pwyj";
|
||||
sha256 = "1ix8picxgc28m5zd0ww3zvzw6rz38wvzsrbqw28hghrfg926h6ig";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "mate-system-monitor-${version}";
|
||||
version = "1.22.0";
|
||||
version = "1.22.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
|
||||
sha256 = "0rs0n5ivmvi355fp3ymcp1jj2sz9viw31475aw7zh7s1l7dn969x";
|
||||
sha256 = "0yh1sh5snd7ivchh6l9rbn1s7ia4j5ihhzhqkyjnhr8ln59dvcbm";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
, libxml2
|
||||
, libxslt
|
||||
, meson
|
||||
, mousetweaks
|
||||
, networkmanager
|
||||
, ninja
|
||||
, nss
|
||||
|
@ -30,12 +31,12 @@
|
|||
, pkgconfig
|
||||
, polkit
|
||||
, python3
|
||||
, stdenv
|
||||
, substituteAll
|
||||
, systemd
|
||||
, tzdata
|
||||
, upower
|
||||
, wrapGAppsHook
|
||||
, stdenv
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -63,7 +64,7 @@ stdenv.mkDerivation rec {
|
|||
patches = let patchPath = "${src2}/debian/patches"; in [
|
||||
(substituteAll {
|
||||
src = ./fix-paths.patch;
|
||||
inherit tzdata;
|
||||
inherit tzdata mousetweaks;
|
||||
})
|
||||
"${patchPath}/45_suppress-printer-may-not-be-connected-notification.patch"
|
||||
"${patchPath}/64_restore_terminal_keyboard_shortcut_schema.patch"
|
||||
|
|
|
@ -13,3 +13,14 @@
|
|||
|
||||
typedef struct _TzDB TzDB;
|
||||
typedef struct _TzLocation TzLocation;
|
||||
--- a/plugins/mouse/gsd-mouse-manager.c
|
||||
+++ b/plugins/mouse/gsd-mouse-manager.c
|
||||
@@ -118,7 +118,7 @@ set_mousetweaks_daemon (GsdMouseManager *manager,
|
||||
gboolean run_daemon = dwell_click_enabled || secondary_click_enabled;
|
||||
|
||||
if (run_daemon || manager->priv->mousetweaks_daemon_running)
|
||||
- comm = g_strdup_printf ("mousetweaks %s",
|
||||
+ comm = g_strdup_printf ("@mousetweaks@/bin/mousetweaks %s",
|
||||
run_daemon ? "" : "-s");
|
||||
else
|
||||
return;
|
||||
|
|
|
@ -102,6 +102,7 @@ let
|
|||
breeze-qt5 = callPackage ./breeze-qt5.nix {};
|
||||
breeze-grub = callPackage ./breeze-grub.nix {};
|
||||
breeze-plymouth = callPackage ./breeze-plymouth {};
|
||||
discover = callPackage ./discover.nix {};
|
||||
kactivitymanagerd = callPackage ./kactivitymanagerd.nix {};
|
||||
kde-cli-tools = callPackage ./kde-cli-tools.nix {};
|
||||
kde-gtk-config = callPackage ./kde-gtk-config { inherit gsettings-desktop-schemas; };
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
mkDerivation,
|
||||
extra-cmake-modules, gettext, kdoctools, python,
|
||||
appstream-qt, discount, flatpak, fwupd, ostree, packagekit-qt, pcre, utillinux,
|
||||
qtquickcontrols2,
|
||||
karchive, kconfig, kcrash, kdbusaddons, kdeclarative, kio, kirigami2, kitemmodels,
|
||||
knewstuff, kwindowsystem, kxmlgui, plasma-framework
|
||||
}:
|
||||
|
||||
mkDerivation {
|
||||
name = "discover";
|
||||
nativeBuildInputs = [ extra-cmake-modules gettext kdoctools python ];
|
||||
buildInputs = [
|
||||
# discount is needed for libmarkdown
|
||||
appstream-qt discount flatpak fwupd ostree packagekit-qt pcre utillinux
|
||||
qtquickcontrols2
|
||||
karchive kconfig kcrash kdbusaddons kdeclarative kio kirigami2 kitemmodels knewstuff kwindowsystem kxmlgui
|
||||
plasma-framework
|
||||
];
|
||||
}
|
|
@ -5,7 +5,7 @@
|
|||
"hotspot": {
|
||||
"aarch64": {
|
||||
"build": "7",
|
||||
"sha256": "ac367f3261fb53508c07f7eeb767b11ab53681b7613b81b6b7030c4db00b1aa8",
|
||||
"sha256": "894a846600ddb0df474350037a2fb43e3343dc3606809a20c65e750580d8f2b9",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.3_7.tar.gz",
|
||||
"version": "11.0.3"
|
||||
},
|
||||
|
@ -33,7 +33,7 @@
|
|||
"hotspot": {
|
||||
"aarch64": {
|
||||
"build": "7",
|
||||
"sha256": "4af5b7d6678d03f2207029a7c610d81b1f016462c1dfcd8153a227b1df973a42",
|
||||
"sha256": "de31fab70640c6d5099de5fc8fa8b4d6b484a7352fa48a9fafbdc088ca708564",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jre_aarch64_linux_hotspot_11.0.3_7.tar.gz",
|
||||
"version": "11.0.3"
|
||||
},
|
||||
|
|
|
@ -84,12 +84,12 @@ let
|
|||
|
||||
in
|
||||
stdenv.mkDerivation (rec {
|
||||
version = "8.6.4.20190406";
|
||||
version = "8.6.5";
|
||||
name = "${targetPrefix}ghc-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://downloads.haskell.org/~ghc/8.6.5-rc1/ghc-${version}-src.tar.xz";
|
||||
sha256 = "1zschidlaj80fl9flnlfhvlvy75cks3hz31cfxyyz935m3xyayxv";
|
||||
url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.xz";
|
||||
sha256 = "0qg3zsmbk4rkwkc3jpas3zs74qaxmw4sp4v1mhsbj0a0dzls2jjd";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
@ -228,7 +228,7 @@ stdenv.mkDerivation (rec {
|
|||
inherit enableShared;
|
||||
|
||||
# Our Cabal compiler name
|
||||
haskellCompilerName = "ghc-8.6.4.20190406";
|
||||
haskellCompilerName = "ghc-${version}";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
|
|
@ -0,0 +1,230 @@
|
|||
{ stdenv, pkgsBuildTarget, targetPackages
|
||||
|
||||
# build-tools
|
||||
, bootPkgs
|
||||
, autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3, m4, sphinx
|
||||
|
||||
, libiconv ? null, ncurses
|
||||
|
||||
, # GHC can be built with system libffi or a bundled one.
|
||||
libffi ? null
|
||||
|
||||
, useLLVM ? !stdenv.targetPlatform.isx86 || (stdenv.targetPlatform.isMusl && stdenv.hostPlatform != stdenv.targetPlatform)
|
||||
, # LLVM is conceptually a run-time-only depedendency, but for
|
||||
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
|
||||
# build-time dependency too.
|
||||
buildLlvmPackages, llvmPackages
|
||||
|
||||
, # If enabled, GHC will be built with the GPL-free but slower integer-simple
|
||||
# library instead of the faster but GPLed integer-gmp library.
|
||||
enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp
|
||||
|
||||
, # If enabled, use -fPIC when compiling static libs.
|
||||
enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
|
||||
|
||||
, # Whether to build dynamic libs for the standard library (on the target
|
||||
# platform). Static libs are always built.
|
||||
enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt
|
||||
|
||||
, # Whetherto build terminfo.
|
||||
enableTerminfo ? !stdenv.targetPlatform.isWindows
|
||||
|
||||
, # What flavour to build. An empty string indicates no
|
||||
# specific flavour and falls back to ghc default values.
|
||||
ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) "perf-cross"
|
||||
|
||||
, # Whether to disable the large address space allocator
|
||||
# necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
|
||||
disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64
|
||||
}:
|
||||
|
||||
assert !enableIntegerSimple -> gmp != null;
|
||||
|
||||
let
|
||||
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
||||
|
||||
inherit (bootPkgs) ghc;
|
||||
|
||||
# TODO(@Ericson2314) Make unconditional
|
||||
targetPrefix = stdenv.lib.optionalString
|
||||
(targetPlatform != hostPlatform)
|
||||
"${targetPlatform.config}-";
|
||||
|
||||
buildMK = ''
|
||||
BuildFlavour = ${ghcFlavour}
|
||||
ifneq \"\$(BuildFlavour)\" \"\"
|
||||
include mk/flavours/\$(BuildFlavour).mk
|
||||
endif
|
||||
DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
|
||||
INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
|
||||
'' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
|
||||
Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"}
|
||||
CrossCompilePrefix = ${targetPrefix}
|
||||
HADDOCK_DOCS = NO
|
||||
BUILD_SPHINX_HTML = NO
|
||||
BUILD_SPHINX_PDF = NO
|
||||
'' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
|
||||
GhcLibHcOpts += -fPIC
|
||||
GhcRtsHcOpts += -fPIC
|
||||
'' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
|
||||
EXTRA_CC_OPTS += -std=gnu99
|
||||
'';
|
||||
|
||||
# Splicer will pull out correct variations
|
||||
libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ]
|
||||
++ [libffi]
|
||||
++ stdenv.lib.optional (!enableIntegerSimple) gmp
|
||||
++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
|
||||
|
||||
toolsForTarget = [
|
||||
pkgsBuildTarget.targetPackages.stdenv.cc
|
||||
] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm;
|
||||
|
||||
targetCC = builtins.head toolsForTarget;
|
||||
|
||||
in
|
||||
stdenv.mkDerivation (rec {
|
||||
version = "8.8.0.20190424";
|
||||
name = "${targetPrefix}ghc-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://downloads.haskell.org/~ghc/8.8.1-alpha1/ghc-${version}-src.tar.xz";
|
||||
sha256 = "1lwzy4q9hhaayamr1ij3lk8l7zdwfqza5b2racylp7xn2y9wanl9";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
outputs = [ "out" "doc" ];
|
||||
|
||||
postPatch = "patchShebangs .";
|
||||
|
||||
# GHC is a bit confused on its cross terminology.
|
||||
preConfigure = ''
|
||||
for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
|
||||
export "''${env#TARGET_}=''${!env}"
|
||||
done
|
||||
# GHC is a bit confused on its cross terminology, as these would normally be
|
||||
# the *host* tools.
|
||||
export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
|
||||
export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
|
||||
# Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
|
||||
export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isAarch32 ".gold"}"
|
||||
export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
|
||||
export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
|
||||
export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
|
||||
export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
|
||||
export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
|
||||
export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
|
||||
|
||||
echo -n "${buildMK}" > mk/build.mk
|
||||
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
|
||||
'' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
|
||||
export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
|
||||
'' + stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
export NIX_LDFLAGS+=" -no_dtrace_dof"
|
||||
'' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
|
||||
sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets
|
||||
'' + stdenv.lib.optionalString targetPlatform.isMusl ''
|
||||
echo "patching llvm-targets for musl targets..."
|
||||
echo "Cloning these existing '*-linux-gnu*' targets:"
|
||||
grep linux-gnu llvm-targets | sed 's/^/ /'
|
||||
echo "(go go gadget sed)"
|
||||
sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets
|
||||
echo "llvm-targets now contains these '*-linux-musl*' targets:"
|
||||
grep linux-musl llvm-targets | sed 's/^/ /'
|
||||
|
||||
echo "And now patching to preserve '-musleabi' as done with '-gnueabi'"
|
||||
# (aclocal.m4 is actual source, but patch configure as well since we don't re-gen)
|
||||
for x in configure aclocal.m4; do
|
||||
substituteInPlace $x \
|
||||
--replace '*-android*|*-gnueabi*)' \
|
||||
'*-android*|*-gnueabi*|*-musleabi*)'
|
||||
done
|
||||
'';
|
||||
|
||||
# TODO(@Ericson2314): Always pass "--target" and always prefix.
|
||||
configurePlatforms = [ "build" "host" ]
|
||||
++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
|
||||
# `--with` flags for libraries needed for RTS linker
|
||||
configureFlags = [
|
||||
"--datadir=$doc/share/doc/ghc"
|
||||
"--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
|
||||
] ++ stdenv.lib.optionals (libffi != null) ["--with-system-libffi" "--with-ffi-includes=${targetPackages.libffi.dev}/include" "--with-ffi-libraries=${targetPackages.libffi.out}/lib"
|
||||
] ++ stdenv.lib.optional (targetPlatform == hostPlatform && !enableIntegerSimple) [
|
||||
"--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib"
|
||||
] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
|
||||
"--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
|
||||
] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
|
||||
"--enable-bootstrap-with-devel-snapshot"
|
||||
] ++ stdenv.lib.optionals (targetPlatform.isAarch32) [
|
||||
"CFLAGS=-fuse-ld=gold"
|
||||
"CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
|
||||
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
|
||||
] ++ stdenv.lib.optionals (disableLargeAddressSpace) [
|
||||
"--disable-large-address-space"
|
||||
];
|
||||
|
||||
# Make sure we never relax`$PATH` and hooks support for compatability.
|
||||
strictDeps = true;
|
||||
|
||||
# Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself.
|
||||
dontAddExtraLibs = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
perl autoconf automake m4 python3 sphinx
|
||||
ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
|
||||
];
|
||||
|
||||
# For building runtime libs
|
||||
depsBuildTarget = toolsForTarget;
|
||||
|
||||
buildInputs = [ perl ] ++ (libDeps hostPlatform);
|
||||
|
||||
propagatedBuildInputs = [ targetPackages.stdenv.cc ]
|
||||
++ stdenv.lib.optional useLLVM llvmPackages.llvm;
|
||||
|
||||
depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform);
|
||||
depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform);
|
||||
|
||||
# required, because otherwise all symbols from HSffi.o are stripped, and
|
||||
# that in turn causes GHCi to abort
|
||||
stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
|
||||
|
||||
checkTarget = "test";
|
||||
|
||||
hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie";
|
||||
|
||||
postInstall = ''
|
||||
# Install the bash completion file.
|
||||
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
|
||||
|
||||
# Patch scripts to include "readelf" and "cat" in $PATH.
|
||||
for i in "$out/bin/"*; do
|
||||
test ! -h $i || continue
|
||||
egrep --quiet '^#!' <(head -n 1 $i) || continue
|
||||
sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
|
||||
done
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
inherit bootPkgs targetPrefix;
|
||||
|
||||
inherit llvmPackages;
|
||||
inherit enableShared;
|
||||
|
||||
# Our Cabal compiler name
|
||||
haskellCompilerName = "ghc-${version}";
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = http://haskell.org/ghc;
|
||||
description = "The Glasgow Haskell Compiler";
|
||||
maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
|
||||
inherit (ghc.meta) license platforms;
|
||||
};
|
||||
|
||||
} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
|
||||
dontStrip = true;
|
||||
dontPatchELF = true;
|
||||
noAuditTmpdir = true;
|
||||
})
|
|
@ -1,19 +1,19 @@
|
|||
{ stdenv, lib, fetchurl, file, glib, libxml2, libav_0_8, ffmpeg, libxslt
|
||||
, libGL , xorg, alsaLib, fontconfig, freetype, pango, gtk2, cairo
|
||||
, gdk_pixbuf, atk }:
|
||||
, gdk_pixbuf, atk, zlib }:
|
||||
|
||||
# TODO: Investigate building from source instead of patching binaries.
|
||||
# TODO: Binary patching for not just x86_64-linux but also x86_64-darwin i686-linux
|
||||
|
||||
let drv = stdenv.mkDerivation rec {
|
||||
pname = "jetbrainsjdk";
|
||||
version = "202b1483.37";
|
||||
version = "164";
|
||||
name = pname + "-" + version;
|
||||
|
||||
src = if stdenv.hostPlatform.system == "x86_64-linux" then
|
||||
fetchurl {
|
||||
url = "https://bintray.com/jetbrains/intellij-jdk/download_file?file_path=jbrsdk8u${version}_linux_x64.tar.gz";
|
||||
sha256 = "12l81g8zhaymh4rzyfl9nyzmpkgzc7wrphm3j4plxx129yn9i7d7";
|
||||
url = "https://bintray.com/jetbrains/intellij-jdk/download_file?file_path=jbrsdk-11_0_2-linux-x64-b${version}.tar.gz";
|
||||
sha256 = "121yzgvkfx7lq0k9s8wjnhz09a564br5y7zlkxgh191sbm2i7zdi";
|
||||
}
|
||||
else
|
||||
throw "unsupported system: ${stdenv.hostPlatform.system}";
|
||||
|
@ -29,16 +29,7 @@ let drv = stdenv.mkDerivation rec {
|
|||
jrePath=$out/jre
|
||||
'';
|
||||
|
||||
postFixup = let
|
||||
arch = "amd64";
|
||||
rSubPaths = [
|
||||
"lib/${arch}/jli"
|
||||
"lib/${arch}/server"
|
||||
"lib/${arch}/xawt"
|
||||
"lib/${arch}"
|
||||
];
|
||||
in ''
|
||||
rpath+="''${rpath:+:}${stdenv.lib.concatStringsSep ":" (map (a: "$jrePath/${a}") rSubPaths)}"
|
||||
postFixup = ''
|
||||
find $out -type f -perm -0100 \
|
||||
-exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||
--set-rpath "$rpath" {} \;
|
||||
|
@ -47,10 +38,11 @@ let drv = stdenv.mkDerivation rec {
|
|||
|
||||
rpath = lib.makeLibraryPath ([
|
||||
stdenv.cc.cc stdenv.cc.libc glib libxml2 libav_0_8 ffmpeg libxslt libGL
|
||||
alsaLib fontconfig freetype pango gtk2 cairo gdk_pixbuf atk
|
||||
alsaLib fontconfig freetype pango gtk2 cairo gdk_pixbuf atk zlib
|
||||
(placeholder "out")
|
||||
] ++ (with xorg; [
|
||||
libX11 libXext libXtst libXi libXp libXt libXrender libXxf86vm
|
||||
]));
|
||||
])) + ":${placeholder "out"}/lib/jli";
|
||||
|
||||
passthru.home = drv;
|
||||
|
||||
|
|
|
@ -95,6 +95,9 @@ let
|
|||
./swing-use-gtk-jdk8.patch
|
||||
];
|
||||
|
||||
# Hotspot cares about the host(!) version otherwise
|
||||
DISABLE_HOTSPOT_OS_VERSION_CHECK = "ok";
|
||||
|
||||
preConfigure = ''
|
||||
chmod +x configure
|
||||
substituteInPlace configure --replace /bin/bash "${bash}/bin/bash"
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
# jce download url: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html;
|
||||
import ./jdk-linux-base.nix {
|
||||
productVersion = "8";
|
||||
patchVersion = "201";
|
||||
buildVersion = "09";
|
||||
sha256.i686-linux = "1f9n93zmkggchaxkchp4bqasvxznn96zjci34f52h7v392jkzqac";
|
||||
sha256.x86_64-linux = "0w730v2q0iaxf2lprabwmy7129byrs0hhdbwas575p1xmk00qw6b";
|
||||
sha256.armv7l-linux = "0y6bvq93lsf21v6ca536dpfhkk5ljsj7c6di0qzkban37bivj0si";
|
||||
sha256.aarch64-linux = "1bybysgg9llqzllsmdszmmb73v5az2l1shxn6lxwv3wwiazpf47q";
|
||||
releaseToken = "42970487e3af4f5aa5bca3f542482c60";
|
||||
patchVersion = "211";
|
||||
buildVersion = "12";
|
||||
sha256.i686-linux = "0mdrljs0rw9s4pvaa3sn791nqgdrp8749z3qn80y7hhad74kvsnp";
|
||||
sha256.x86_64-linux = "13b6qk4sn8jdhxa22na9d2aazm4yjh6yxrlxr189gxy3619y9dy0";
|
||||
sha256.armv7l-linux = "1ij1x925k7lyp5f98gy8r0xfr41qhczf2rb74plwwmrccc1k00p5";
|
||||
sha256.aarch64-linux = "041r615qj9qy34a9gxm8968qlmf060ba2as5w97v86mbik4rca05";
|
||||
releaseToken = "478a62b7d4e34b78b671c754eaaf38ab";
|
||||
jceName = "jce_policy-8.zip";
|
||||
sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk";
|
||||
}
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
# jce download url: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html;
|
||||
import ./jdk-linux-base.nix {
|
||||
productVersion = "8";
|
||||
patchVersion = "202";
|
||||
buildVersion = "09";
|
||||
sha256.i686-linux = "19np392dwdqdq39lmm10607w2h042lrm5953fnsfh1bb9jli1pgj";
|
||||
sha256.x86_64-linux = "1q4l8pymjvsvxfwaw0rdcnhryh1la2bvg5f4d4my41ka390k4p4s";
|
||||
sha256.armv7l-linux = "06aljl7dqmmhmp7xswgvkcgh9mam71wnqydg9yb3hkcc443cm581";
|
||||
sha256.aarch64-linux = "12v9ndv7a2c9zqq6ai2vsgwad0lzmf4c6jxy4p9miapmhjzx5vii";
|
||||
releaseToken = "42970487e3af4f5aa5bca3f542482c60";
|
||||
patchVersion = "212";
|
||||
buildVersion = "10";
|
||||
sha256.i686-linux = "03dj9q0bi3ib731f4zl9hylkrgw417h6qlg2wi7nw71b0fqhijn1";
|
||||
sha256.x86_64-linux = "1yzddxzfh6h14bpzis1abp52x4jjljg8a3zyqz483q6qm05caq1i";
|
||||
sha256.armv7l-linux = "0x333alkqdx8mmiirair7g5iiwif5v9ka4j3qr0f42ilvmk8csnx";
|
||||
sha256.aarch64-linux = "0vcbdvcsl8rm47i07s93jmrrs5laibf937d8vacjqqgh9bbhsr2c";
|
||||
releaseToken = "59066701cf1a433da9770636fbc4c9aa";
|
||||
jceName = "jce_policy-8.zip";
|
||||
sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk";
|
||||
}
|
||||
|
|
|
@ -3,9 +3,9 @@
|
|||
let
|
||||
options = rec {
|
||||
x86_64-darwin = rec {
|
||||
version = "1.1.8";
|
||||
version = "1.2.11";
|
||||
system = "x86-64-darwin";
|
||||
sha256 = "006pr88053wclvbjfjdypnbiw8wymbzdzi7a6kbkpdfn4zf5943j";
|
||||
sha256 = "0lh4gpvi8hl6g6b9321g5pwh8sk3218i7h4lx7p3vd9z0cf3lz85";
|
||||
};
|
||||
x86_64-linux = rec {
|
||||
version = "1.3.16";
|
||||
|
|
|
@ -10,11 +10,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "sbcl-${version}";
|
||||
version = "1.5.0";
|
||||
version = "1.5.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
|
||||
sha256 = "1a4c84b6qqi4w4l1zzhnhnywk73j3wb0gjgghzcw0h5syqbqzy8z";
|
||||
sha256 = "08z62qba0kmm15k93s2rq7ipi769895g8iwigcp20qjh6amwnwph";
|
||||
};
|
||||
|
||||
buildInputs = [texinfo];
|
||||
|
|
|
@ -1,22 +1,30 @@
|
|||
{ stdenv, fetchurl, jdk, gmp, readline, openssl, libjpeg, unixODBC, zlib
|
||||
{ stdenv, fetchgit, jdk, gmp, readline, openssl, libjpeg, unixODBC, zlib
|
||||
, libXinerama, libarchive, db, pcre, libedit, libossp_uuid, libXft, libXpm
|
||||
, libSM, libXt, freetype, pkgconfig, fontconfig, makeWrapper ? stdenv.isDarwin
|
||||
, git, cacert, cmake, libyaml
|
||||
, extraLibraries ? [ jdk unixODBC libXpm libSM libXt freetype fontconfig ]
|
||||
, extraPacks ? []
|
||||
}:
|
||||
|
||||
let
|
||||
version = "7.6.4";
|
||||
version = "8.1.4";
|
||||
packInstall = swiplPath: pack:
|
||||
''${swiplPath}/bin/swipl -g "pack_install(${pack}, [package_directory(\"${swiplPath}/lib/swipl/pack\"), silent(true), interactive(false)])." -t "halt."
|
||||
'';
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
name = "swi-prolog-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.swi-prolog.org/download/stable/src/swipl-${version}.tar.gz";
|
||||
sha256 = "14bq4sqs61maqpnmgy6687jjj0shwc27cpfsqbf056nrssmplg9d";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/SWI-Prolog/swipl-devel";
|
||||
rev = "V${version}";
|
||||
sha256 = "0qxa6f5dypwczxajlf0l736adbjb17cbak3qsh5g04hpv2bxm6dh";
|
||||
};
|
||||
|
||||
buildInputs = [ jdk gmp readline openssl libjpeg unixODBC libXinerama
|
||||
libarchive db pcre libedit libossp_uuid libXft libXpm libSM libXt
|
||||
zlib freetype pkgconfig fontconfig ]
|
||||
buildInputs = [ cacert git cmake gmp readline openssl
|
||||
libarchive libyaml db pcre libedit libossp_uuid
|
||||
zlib pkgconfig ]
|
||||
++ extraLibraries
|
||||
++ stdenv.lib.optional stdenv.isDarwin makeWrapper;
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
@ -27,7 +35,20 @@ stdenv.mkDerivation {
|
|||
"--enable-shared"
|
||||
];
|
||||
|
||||
buildFlags = "world";
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
mkdir build
|
||||
cd build
|
||||
${cmake}/bin/cmake -DCMAKE_INSTALL_PREFIX=$out ..
|
||||
cd ../
|
||||
make
|
||||
make install
|
||||
make clean
|
||||
mkdir -p $out/lib/swipl/pack
|
||||
''
|
||||
+ builtins.concatStringsSep "\n"
|
||||
( builtins.map (packInstall "$out") extraPacks
|
||||
);
|
||||
|
||||
# For macOS: still not fixed in upstream: "abort trap 6" when called
|
||||
# through symlink, so wrap binary.
|
||||
|
|
|
@ -1282,4 +1282,10 @@ self: super: {
|
|||
# Break out of pandoc >=2.0 && <2.7 (https://github.com/pbrisbin/yesod-markdown/pull/65)
|
||||
yesod-markdown = doJailbreak super.yesod-markdown;
|
||||
|
||||
# These packages needs network 3.x, which is not in LTS-13.x.
|
||||
network-bsd = super.network-bsd.override { network = self.network_3_0_1_1; };
|
||||
lambdabot-core = super.lambdabot-core.overrideScope (self: super: { network = self.network_3_0_1_1; hslogger = self.hslogger_1_3_0_0; });
|
||||
lambdabot-reference-plugins = super.lambdabot-reference-plugins.overrideScope (self: super: { network = self.network_3_0_1_1; hslogger = self.hslogger_1_3_0_0; });
|
||||
lambdabot-haskell-plugins = super.lambdabot-haskell-plugins.overrideScope (self: super: { network = self.network_3_0_1_1; socks = self.socks_0_6_0; connection = self.connection_0_3_0; haskell-src-exts = self.haskell-src-exts_1_21_0; });
|
||||
|
||||
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
|
||||
|
|
|
@ -4,8 +4,8 @@ with haskellLib;
|
|||
|
||||
self: super: {
|
||||
|
||||
# This compiler version needs llvm 5.x.
|
||||
llvmPackages = pkgs.llvmPackages_5;
|
||||
# This compiler version needs llvm 6.x.
|
||||
llvmPackages = pkgs.llvmPackages_6;
|
||||
|
||||
# Disable GHC 8.6.x core libraries.
|
||||
array = null;
|
||||
|
|
|
@ -0,0 +1,58 @@
|
|||
{ pkgs, haskellLib }:
|
||||
|
||||
with haskellLib;
|
||||
|
||||
self: super: {
|
||||
|
||||
# This compiler version needs llvm 7.x.
|
||||
llvmPackages = pkgs.llvmPackages_7;
|
||||
|
||||
# Disable GHC 8.8.x core libraries.
|
||||
array = null;
|
||||
base = null;
|
||||
binary = null;
|
||||
bytestring = null;
|
||||
Cabal = null;
|
||||
containers = null;
|
||||
deepseq = null;
|
||||
directory = null;
|
||||
filepath = null;
|
||||
ghc-boot = null;
|
||||
ghc-boot-th = null;
|
||||
ghc-compact = null;
|
||||
ghc-heap = null;
|
||||
ghc-prim = null;
|
||||
ghci = null;
|
||||
haskeline = null;
|
||||
hpc = null;
|
||||
integer-gmp = null;
|
||||
libiserv = null;
|
||||
mtl = null;
|
||||
parsec = null;
|
||||
pretty = null;
|
||||
process = null;
|
||||
rts = null;
|
||||
stm = null;
|
||||
template-haskell = null;
|
||||
terminfo = null;
|
||||
text = null;
|
||||
time = null;
|
||||
transformers = null;
|
||||
unix = null;
|
||||
xhtml = null;
|
||||
|
||||
# Ignore overly restrictive upper version bounds.
|
||||
doctest = doJailbreak super.doctest;
|
||||
|
||||
# These packages don't work and need patching and/or an update.
|
||||
primitive = overrideSrc (doJailbreak super.primitive) {
|
||||
version = "20180530-git";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "haskell";
|
||||
repo = "primitive";
|
||||
rev = "97964182881aa0419546e0bb188b2d17e4468324";
|
||||
sha256 = "1p1pinca33vd10iy7hl20c1fc99vharcgcai6z3ngqbq50k2pd3q";
|
||||
};
|
||||
};
|
||||
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
# pkgs/development/haskell-modules/configuration-hackage2nix.yaml
|
||||
|
||||
compiler: ghc-8.6.4
|
||||
compiler: ghc-8.6.5
|
||||
|
||||
core-packages:
|
||||
- array-0.5.3.0
|
||||
|
@ -12,13 +12,13 @@ core-packages:
|
|||
- deepseq-1.4.4.0
|
||||
- directory-1.3.3.0
|
||||
- filepath-1.4.2.1
|
||||
- ghc-8.6.4
|
||||
- ghc-boot-8.6.4
|
||||
- ghc-boot-th-8.6.4
|
||||
- ghc-8.6.5
|
||||
- ghc-boot-8.6.5
|
||||
- ghc-boot-th-8.6.5
|
||||
- ghc-compact-0.1.0.0
|
||||
- ghc-heap-8.6.4
|
||||
- ghc-heap-8.6.5
|
||||
- ghc-prim-0.5.3
|
||||
- ghci-8.6.4
|
||||
- ghci-8.6.5
|
||||
- haskeline-0.7.4.3
|
||||
- hpc-0.6.0.3
|
||||
- integer-gmp-1.0.2.0
|
||||
|
@ -46,7 +46,7 @@ default-package-overrides:
|
|||
# Newer versions don't work in LTS-12.x
|
||||
- alsa-mixer < 0.3
|
||||
- cassava-megaparsec < 2
|
||||
# LTS Haskell 13.18
|
||||
# LTS Haskell 13.19
|
||||
- abstract-deque ==0.3
|
||||
- abstract-deque-tests ==0.3
|
||||
- abstract-par ==0.3.3
|
||||
|
@ -179,7 +179,7 @@ default-package-overrides:
|
|||
- amazonka-waf ==1.6.1
|
||||
- amazonka-workspaces ==1.6.1
|
||||
- amazonka-xray ==1.6.1
|
||||
- amqp ==0.18.1
|
||||
- amqp ==0.18.2
|
||||
- annotated-wl-pprint ==0.7.0
|
||||
- ansi-terminal ==0.8.2
|
||||
- ansi-wl-pprint ==0.6.8.2
|
||||
|
@ -269,7 +269,7 @@ default-package-overrides:
|
|||
- bencode ==0.6.0.0
|
||||
- between ==0.11.0.0
|
||||
- bibtex ==0.1.0.6
|
||||
- bifunctors ==5.5.3
|
||||
- bifunctors ==5.5.4
|
||||
- bimap ==0.3.3
|
||||
- bimap-server ==0.1.0.1
|
||||
- binary-bits ==0.5
|
||||
|
@ -316,7 +316,7 @@ default-package-overrides:
|
|||
- boolean-normal-forms ==0.0.1
|
||||
- boolsimplifier ==0.1.8
|
||||
- bordacount ==0.1.0.0
|
||||
- boring ==0.1
|
||||
- boring ==0.1.1
|
||||
- both ==0.1.1.0
|
||||
- bound ==2.0.1
|
||||
- BoundedChan ==1.0.3.0
|
||||
|
@ -563,7 +563,7 @@ default-package-overrides:
|
|||
- DAV ==1.3.3
|
||||
- dbcleaner ==0.1.3
|
||||
- DBFunctor ==0.1.1.1
|
||||
- dbus ==1.2.5
|
||||
- dbus ==1.2.6
|
||||
- debian-build ==0.10.1.2
|
||||
- debug ==0.1.1
|
||||
- debug-trace-var ==0.2.0
|
||||
|
@ -579,7 +579,7 @@ default-package-overrides:
|
|||
- dependent-sum-template ==0.0.0.6
|
||||
- deque ==0.2.7
|
||||
- deriveJsonNoPrefix ==0.1.0.1
|
||||
- deriving-compat ==0.5.4
|
||||
- deriving-compat ==0.5.5
|
||||
- derulo ==1.0.5
|
||||
- detour-via-sci ==1.0.0
|
||||
- dhall ==1.19.1
|
||||
|
@ -651,7 +651,7 @@ default-package-overrides:
|
|||
- ekg-statsd ==0.2.4.0
|
||||
- elerea ==2.9.0
|
||||
- elf ==0.29
|
||||
- eliminators ==0.5
|
||||
- eliminators ==0.5.1
|
||||
- elm2nix ==0.1.1
|
||||
- elm-core-sources ==1.0.0
|
||||
- elm-export ==0.6.0.1
|
||||
|
@ -698,7 +698,7 @@ default-package-overrides:
|
|||
- explicit-exception ==0.1.9.2
|
||||
- exp-pairs ==0.2.0.0
|
||||
- extensible-exceptions ==0.1.1.4
|
||||
- extra ==1.6.14
|
||||
- extra ==1.6.15
|
||||
- extractable-singleton ==0.0.1
|
||||
- extrapolate ==0.3.3
|
||||
- fail ==4.9.0.0
|
||||
|
@ -725,7 +725,7 @@ default-package-overrides:
|
|||
- fileplow ==0.1.0.0
|
||||
- filter-logger ==0.6.0.0
|
||||
- filtrable ==0.1.1.0
|
||||
- fin ==0.0.1
|
||||
- fin ==0.0.2
|
||||
- FindBin ==0.0.5
|
||||
- fingertree ==0.1.4.2
|
||||
- finite-typelits ==0.1.4.2
|
||||
|
@ -788,7 +788,7 @@ default-package-overrides:
|
|||
- general-games ==1.1.1
|
||||
- generic-arbitrary ==0.1.0
|
||||
- generic-data ==0.3.0.0
|
||||
- generic-deriving ==1.12.3
|
||||
- generic-deriving ==1.12.4
|
||||
- generic-lens ==1.1.0.0
|
||||
- GenericPretty ==1.2.2
|
||||
- generic-random ==1.2.0.0
|
||||
|
@ -896,7 +896,7 @@ default-package-overrides:
|
|||
- HandsomeSoup ==0.4.2
|
||||
- hapistrano ==0.3.9.2
|
||||
- happy ==1.19.9
|
||||
- hasbolt ==0.1.3.2
|
||||
- hasbolt ==0.1.3.3
|
||||
- hashable ==1.2.7.0
|
||||
- hashable-time ==0.2.0.2
|
||||
- hashids ==1.0.2.4
|
||||
|
@ -918,9 +918,9 @@ default-package-overrides:
|
|||
- haskell-src-meta ==0.8.2
|
||||
- haskey-btree ==0.3.0.0
|
||||
- haskoin-core ==0.8.4
|
||||
- hasql ==1.3.0.3
|
||||
- hasql ==1.3.0.5
|
||||
- hasql-optparse-applicative ==0.3.0.3
|
||||
- hasql-pool ==0.5.0.1
|
||||
- hasql-pool ==0.5.0.2
|
||||
- hasql-transaction ==0.7.1
|
||||
- hasty-hamiltonian ==1.3.2
|
||||
- haxl ==2.0.1.1
|
||||
|
@ -963,7 +963,7 @@ default-package-overrides:
|
|||
- hmatrix-gsl ==0.19.0.1
|
||||
- hmatrix-gsl-stats ==0.4.1.7
|
||||
- hmatrix-morpheus ==0.1.1.2
|
||||
- hmatrix-vector-sized ==0.1.1.2
|
||||
- hmatrix-vector-sized ==0.1.1.3
|
||||
- hmpfr ==0.4.4
|
||||
- hoauth2 ==1.8.4
|
||||
- Hoed ==0.5.1
|
||||
|
@ -1130,7 +1130,7 @@ default-package-overrides:
|
|||
- IntervalMap ==0.6.1.1
|
||||
- intervals ==0.8.1
|
||||
- intset-imperative ==0.1.0.0
|
||||
- invariant ==0.5.1
|
||||
- invariant ==0.5.2
|
||||
- invertible ==0.2.0.5
|
||||
- io-choice ==0.0.7
|
||||
- io-machine ==0.2.0.0
|
||||
|
@ -1212,7 +1212,7 @@ default-package-overrides:
|
|||
- leancheck ==0.8.0
|
||||
- leancheck-instances ==0.0.3
|
||||
- leapseconds-announced ==2017.1.0.1
|
||||
- lens ==4.17
|
||||
- lens ==4.17.1
|
||||
- lens-action ==0.2.3
|
||||
- lens-aeson ==1.0.2
|
||||
- lens-datetime ==0.3
|
||||
|
@ -1264,7 +1264,7 @@ default-package-overrides:
|
|||
- long-double ==0.1
|
||||
- loop ==0.3.0
|
||||
- lrucaching ==0.3.3
|
||||
- lsp-test ==0.5.1.1
|
||||
- lsp-test ==0.5.1.2
|
||||
- lucid ==2.9.11
|
||||
- lucid-extras ==0.1.0.1
|
||||
- lxd-client-config ==0.1.0.1
|
||||
|
@ -1414,7 +1414,7 @@ default-package-overrides:
|
|||
- netwire ==5.0.3
|
||||
- netwire-input ==0.0.7
|
||||
- netwire-input-glfw ==0.0.10
|
||||
- network ==2.8.0.0
|
||||
- network ==2.8.0.1
|
||||
- network-anonymous-i2p ==0.10.0
|
||||
- network-anonymous-tor ==0.11.0
|
||||
- network-attoparsec ==0.12.2
|
||||
|
@ -1485,7 +1485,7 @@ default-package-overrides:
|
|||
- options ==1.2.1.1
|
||||
- optparse-applicative ==0.14.3.0
|
||||
- optparse-generic ==1.3.0
|
||||
- optparse-simple ==0.1.1.1
|
||||
- optparse-simple ==0.1.1.2
|
||||
- optparse-text ==0.1.1.0
|
||||
- overhang ==1.0.0
|
||||
- packcheck ==0.4.1
|
||||
|
@ -1574,13 +1574,13 @@ default-package-overrides:
|
|||
- polynomials-bernstein ==1.1.2
|
||||
- polyparse ==1.12.1
|
||||
- pooled-io ==0.0.2.2
|
||||
- port-utils ==0.2.0.0
|
||||
- port-utils ==0.2.1.0
|
||||
- posix-paths ==0.2.1.6
|
||||
- possibly ==1.0.0.0
|
||||
- postgresql-binary ==0.12.1.2
|
||||
- postgresql-libpq ==0.9.4.2
|
||||
- postgresql-schema ==0.1.14
|
||||
- postgresql-simple ==0.6.1
|
||||
- postgresql-simple ==0.6.2
|
||||
- postgresql-simple-migration ==0.1.14.0
|
||||
- postgresql-simple-queue ==1.0.1
|
||||
- postgresql-simple-url ==0.2.1.0
|
||||
|
@ -1650,6 +1650,7 @@ default-package-overrides:
|
|||
- QuickCheck ==2.12.6.1
|
||||
- quickcheck-arbitrary-adt ==0.3.1.0
|
||||
- quickcheck-assertions ==0.3.0
|
||||
- quickcheck-classes ==0.6.0.0
|
||||
- quickcheck-instances ==0.3.19
|
||||
- quickcheck-io ==0.2.0
|
||||
- quickcheck-simple ==0.1.0.4
|
||||
|
@ -1687,7 +1688,7 @@ default-package-overrides:
|
|||
- rebase ==1.3.1
|
||||
- record-dot-preprocessor ==0.1.5
|
||||
- records-sop ==0.1.0.2
|
||||
- recursion-schemes ==5.1.2
|
||||
- recursion-schemes ==5.1.3
|
||||
- reducers ==3.12.3
|
||||
- refact ==0.3.0.2
|
||||
- references ==0.3.3.1
|
||||
|
@ -1825,7 +1826,7 @@ default-package-overrides:
|
|||
- servant-tracing ==0.1.0.2
|
||||
- servant-websockets ==1.1.0
|
||||
- servant-yaml ==0.1.0.1
|
||||
- serverless-haskell ==0.8.6
|
||||
- serverless-haskell ==0.8.7
|
||||
- serversession ==1.0.1
|
||||
- serversession-frontend-wai ==1.0
|
||||
- servius ==1.2.3.0
|
||||
|
@ -1921,7 +1922,7 @@ default-package-overrides:
|
|||
- storable-record ==0.0.4
|
||||
- storable-tuple ==0.0.3.3
|
||||
- storablevector ==0.2.13
|
||||
- store ==0.5.0.1
|
||||
- store ==0.5.1.0
|
||||
- store-core ==0.4.4
|
||||
- Strafunski-StrategyLib ==5.0.1.0
|
||||
- stratosphere ==0.29.1
|
||||
|
@ -2052,13 +2053,13 @@ default-package-overrides:
|
|||
- threads ==0.5.1.6
|
||||
- threepenny-gui ==0.8.3.0
|
||||
- th-reify-compat ==0.0.1.5
|
||||
- th-reify-many ==0.1.8
|
||||
- th-reify-many ==0.1.9
|
||||
- throttle-io-stream ==0.2.0.1
|
||||
- throwable-exceptions ==0.1.0.9
|
||||
- th-strict-compat ==0.1.0.1
|
||||
- th-utilities ==0.2.1.0
|
||||
- thyme ==0.3.5.5
|
||||
- tidal ==1.0.11
|
||||
- tidal ==1.0.13
|
||||
- tile ==0.3.0.0
|
||||
- time-compat ==0.1.0.3
|
||||
- timeit ==2.0
|
||||
|
@ -2066,7 +2067,7 @@ default-package-overrides:
|
|||
- time-lens ==0.4.0.2
|
||||
- time-locale-compat ==0.1.1.5
|
||||
- time-locale-vietnamese ==1.0.0.0
|
||||
- time-parsers ==0.1.2.0
|
||||
- time-parsers ==0.1.2.1
|
||||
- time-qq ==0.0.1.0
|
||||
- timerep ==2.0.0.2
|
||||
- timer-wheel ==0.1.0
|
||||
|
@ -2080,7 +2081,7 @@ default-package-overrides:
|
|||
- tls-session-manager ==0.0.0.2
|
||||
- tmapchan ==0.0.3
|
||||
- tmapmvar ==0.0.4
|
||||
- tmp-postgres ==0.1.1.1
|
||||
- tmp-postgres ==0.1.2.2
|
||||
- token-bucket ==0.1.0.1
|
||||
- tomland ==0.5.0
|
||||
- tostring ==0.2.1.1
|
||||
|
@ -2180,7 +2181,7 @@ default-package-overrides:
|
|||
- validity-vector ==0.2.0.2
|
||||
- valor ==0.1.0.0
|
||||
- vault ==0.3.1.2
|
||||
- vec ==0.1
|
||||
- vec ==0.1.1
|
||||
- vector ==0.12.0.2
|
||||
- vector-algorithms ==0.8.0.1
|
||||
- vector-binary-instances ==0.2.5.1
|
||||
|
@ -2223,9 +2224,9 @@ default-package-overrides:
|
|||
- wai-slack-middleware ==0.2.0
|
||||
- wai-transformers ==0.1.0
|
||||
- wai-websockets ==3.0.1.2
|
||||
- warp ==3.2.26
|
||||
- warp-tls ==3.2.4.3
|
||||
- warp-tls-uid ==0.2.0.5
|
||||
- warp ==3.2.27
|
||||
- warp-tls ==3.2.5
|
||||
- warp-tls-uid ==0.2.0.6
|
||||
- wave ==0.1.5
|
||||
- wcwidth ==0.0.2
|
||||
- web3 ==0.8.3.1
|
||||
|
@ -2309,7 +2310,7 @@ default-package-overrides:
|
|||
- yesod ==1.6.0
|
||||
- yesod-alerts ==0.1.2.0
|
||||
- yesod-auth ==1.6.6
|
||||
- yesod-auth-hashdb ==1.7.1
|
||||
- yesod-auth-hashdb ==1.7.1.1
|
||||
- yesod-auth-oauth2 ==0.6.1.1
|
||||
- yesod-bin ==1.6.0.3
|
||||
- yesod-core ==1.6.14
|
||||
|
@ -2322,8 +2323,8 @@ default-package-overrides:
|
|||
- yesod-gitrev ==0.2.1
|
||||
- yesod-markdown ==0.12.6.1
|
||||
- yesod-newsfeed ==1.6.1.0
|
||||
- yesod-paginator ==1.1.0.1
|
||||
- yesod-persistent ==1.6.0.1
|
||||
- yesod-paginator ==1.1.0.2
|
||||
- yesod-persistent ==1.6.0.2
|
||||
- yesod-recaptcha2 ==0.3.0
|
||||
- yesod-sitemap ==1.6.0
|
||||
- yesod-static ==1.6.0.1
|
||||
|
@ -2341,7 +2342,7 @@ default-package-overrides:
|
|||
- zeromq4-patterns ==0.3.1.0
|
||||
- zim-parser ==0.2.1.0
|
||||
- zip ==1.2.0
|
||||
- zip-archive ==0.4
|
||||
- zip-archive ==0.4.1
|
||||
- zippers ==0.2.5
|
||||
- zip-stream ==0.2.0.1
|
||||
- zlib ==0.6.2
|
||||
|
@ -2391,13 +2392,15 @@ extra-packages:
|
|||
- mtl < 2.2 # newer versions require transformers > 0.4.x, which we cannot provide in GHC 7.8.x
|
||||
- mtl-prelude < 2 # required for to build postgrest on mtl 2.1.x platforms
|
||||
- network == 2.6.3.1 # newer versions don't compile with GHC 7.4.x and below
|
||||
- network == 3.0.* # required by network-bsd, HTTP, and many others (2019-04-30)
|
||||
- parallel == 3.2.0.3 # newer versions don't work with GHC 6.12.3
|
||||
- patience ^>= 0.1 # required by chell-0.4.x
|
||||
- persistent >=2.5 && <2.8 # pre-lts-11.x versions neeed by git-annex 6.20180227
|
||||
- persistent-sqlite < 2.7 # pre-lts-11.x versions neeed by git-annex 6.20180227
|
||||
- primitive == 0.5.1.* # required to build alex with GHC 6.12.3
|
||||
- proto-lens == 0.2.* # required for tensorflow-proto-0.1.x on GHC 8.2.x
|
||||
- proto-lens-protoc == 0.2.* # required for tensorflow-proto-0.1.x on GHC 8.2.x
|
||||
- proto-lens-protobuf-types == 0.2.* # required for tensorflow-proto-0.1.x on GHC 8.2.x
|
||||
- proto-lens-protoc == 0.2.* # required for tensorflow-proto-0.1.x on GHC 8.2.x
|
||||
- QuickCheck < 2 # required by test-framework-quickcheck and its users
|
||||
- resourcet ==1.1.* # pre-lts-11.x versions neeed by git-annex 6.20180227
|
||||
- seqid < 0.2 # newer versions depend on transformers 0.4.x which we cannot provide in GHC 7.8.x
|
||||
|
@ -2413,7 +2416,6 @@ extra-packages:
|
|||
- yesod-persistent < 1.5 # pre-lts-11.x versions neeed by git-annex 6.20180227
|
||||
- yesod-static ^>= 1.5 # pre-lts-11.x versions neeed by git-annex 6.20180227
|
||||
- yesod-test ^>= 1.5 # pre-lts-11.x versions neeed by git-annex 6.20180227
|
||||
- patience ^>= 0.1 # required by chell-0.4.x
|
||||
|
||||
package-maintainers:
|
||||
peti:
|
||||
|
@ -2599,7 +2601,7 @@ dont-distribute-packages:
|
|||
- XML
|
||||
|
||||
broken-packages:
|
||||
# these packages don't compile
|
||||
# These packages don't compile or depend on packages that don't compile.
|
||||
- 3dmodels
|
||||
- 4Blocks
|
||||
- a50
|
||||
|
@ -3173,6 +3175,7 @@ broken-packages:
|
|||
- blockhash
|
||||
- Blogdown
|
||||
- blogination
|
||||
- BlogLiterately-diagrams
|
||||
- bloodhound
|
||||
- bloodhound-amazonka-auth
|
||||
- bloomfilter-redis
|
||||
|
@ -3228,6 +3231,9 @@ broken-packages:
|
|||
- brok
|
||||
- broker-haskell
|
||||
- bronyradiogermany-streaming
|
||||
- brotli
|
||||
- brotli-conduit
|
||||
- brotli-streams
|
||||
- browscap
|
||||
- bson-generic
|
||||
- bson-generics
|
||||
|
@ -3278,6 +3284,7 @@ broken-packages:
|
|||
- c2hsc
|
||||
- cabal-audit
|
||||
- cabal-bundle-clib
|
||||
- cabal-cache
|
||||
- cabal-cargs
|
||||
- cabal-constraints
|
||||
- cabal-db
|
||||
|
@ -4020,9 +4027,11 @@ broken-packages:
|
|||
- dia-base
|
||||
- dia-functions
|
||||
- diagrams-boolean
|
||||
- diagrams-builder
|
||||
- diagrams-canvas
|
||||
- diagrams-graphviz
|
||||
- diagrams-gtk
|
||||
- diagrams-haddock
|
||||
- diagrams-hsqml
|
||||
- diagrams-html5
|
||||
- diagrams-pandoc
|
||||
|
@ -4600,6 +4609,7 @@ broken-packages:
|
|||
- frag
|
||||
- Frames-beam
|
||||
- Frames-dsv
|
||||
- Frames-map-reduce
|
||||
- franchise
|
||||
- Frank
|
||||
- freddy
|
||||
|
@ -4731,6 +4741,7 @@ broken-packages:
|
|||
- generic-tree
|
||||
- generic-xml
|
||||
- generic-xmlpickler
|
||||
- generics-eot
|
||||
- genericserialize
|
||||
- genesis
|
||||
- genesis-test
|
||||
|
@ -5232,6 +5243,7 @@ broken-packages:
|
|||
- haskell-src-exts-prisms
|
||||
- haskell-src-exts-qq
|
||||
- haskell-src-exts-sc
|
||||
- haskell-src-exts-simple
|
||||
- haskell-src-meta-mwotton
|
||||
- haskell-stack-trace-plugin
|
||||
- haskell-token-utils
|
||||
|
@ -5567,6 +5579,7 @@ broken-packages:
|
|||
- HLearn-datastructures
|
||||
- HLearn-distributions
|
||||
- hledger-chart
|
||||
- hledger-flow
|
||||
- hledger-irr
|
||||
- hledger-vty
|
||||
- hlibBladeRF
|
||||
|
@ -5717,6 +5730,7 @@ broken-packages:
|
|||
- HROOT-math
|
||||
- HROOT-tree
|
||||
- hs-blake2
|
||||
- hs-brotli
|
||||
- hs-carbon-examples
|
||||
- hs-cdb
|
||||
- hs-conllu
|
||||
|
@ -6056,6 +6070,7 @@ broken-packages:
|
|||
- ihaskell-diagrams
|
||||
- ihaskell-display
|
||||
- ihaskell-gnuplot
|
||||
- ihaskell-graphviz
|
||||
- ihaskell-hatex
|
||||
- ihaskell-hvega
|
||||
- ihaskell-inline-r
|
||||
|
@ -6361,6 +6376,7 @@ broken-packages:
|
|||
- kmp-dfa
|
||||
- knead
|
||||
- knead-arithmetic
|
||||
- knit-haskell
|
||||
- knots
|
||||
- koellner-phonetic
|
||||
- korfu
|
||||
|
@ -6527,6 +6543,7 @@ broken-packages:
|
|||
- libconfig
|
||||
- libcspm
|
||||
- libexpect
|
||||
- libffi-dynamic
|
||||
- libGenI
|
||||
- libhbb
|
||||
- libinfluxdb
|
||||
|
@ -6767,6 +6784,7 @@ broken-packages:
|
|||
- manifolds
|
||||
- manifolds-core
|
||||
- map-exts
|
||||
- map-reduce-folds
|
||||
- map-syntax
|
||||
- Mapping
|
||||
- mappy
|
||||
|
@ -7174,7 +7192,6 @@ broken-packages:
|
|||
- netwire-vinylglfw-examples
|
||||
- network-address
|
||||
- network-anonymous-i2p
|
||||
- network-bsd
|
||||
- network-builder
|
||||
- network-bytestring
|
||||
- network-connection
|
||||
|
@ -7584,6 +7601,7 @@ broken-packages:
|
|||
- pipes-async
|
||||
- pipes-attoparsec-streaming
|
||||
- pipes-bgzf
|
||||
- pipes-brotli
|
||||
- pipes-cacophony
|
||||
- pipes-cereal
|
||||
- pipes-cereal-plus
|
||||
|
@ -7661,6 +7679,7 @@ broken-packages:
|
|||
- polh-lexicon
|
||||
- polimorf
|
||||
- Pollutocracy
|
||||
- poly
|
||||
- poly-control
|
||||
- polydata
|
||||
- polydata-core
|
||||
|
@ -7797,6 +7816,7 @@ broken-packages:
|
|||
- proteome
|
||||
- proto-lens-combinators
|
||||
- proto-lens-descriptors
|
||||
- proto3-suite
|
||||
- protobuf-native
|
||||
- protocol-buffers-descriptor-fork
|
||||
- protocol-buffers-fork
|
||||
|
@ -7833,6 +7853,7 @@ broken-packages:
|
|||
- purescript-iso
|
||||
- purescript-tsd-gen
|
||||
- push-notify
|
||||
- push-notify-apn
|
||||
- push-notify-ccs
|
||||
- push-notify-general
|
||||
- pusher-haskell
|
||||
|
@ -8295,6 +8316,7 @@ broken-packages:
|
|||
- scenegraph
|
||||
- schedevr
|
||||
- schedule-planner
|
||||
- scheduler
|
||||
- schedyield
|
||||
- schematic
|
||||
- scholdoc
|
||||
|
@ -8865,10 +8887,12 @@ broken-packages:
|
|||
- streamdeck
|
||||
- streamed
|
||||
- streaming-benchmarks
|
||||
- streaming-brotli
|
||||
- streaming-cassava
|
||||
- streaming-concurrency
|
||||
- streaming-conduit
|
||||
- streaming-fft
|
||||
- streaming-lzma
|
||||
- streaming-osm
|
||||
- streaming-pcap
|
||||
- streaming-png
|
||||
|
@ -9029,6 +9053,7 @@ broken-packages:
|
|||
- tasty-jenkins-xml
|
||||
- tasty-laws
|
||||
- tasty-lens
|
||||
- tasty-quickcheck-laws
|
||||
- tasty-stats
|
||||
- tasty-tap
|
||||
- tasty-travis
|
||||
|
@ -9209,6 +9234,7 @@ broken-packages:
|
|||
- tkhs
|
||||
- tkyprof
|
||||
- tls-extra
|
||||
- tmp-postgres
|
||||
- tn
|
||||
- to-haskell
|
||||
- to-string-class
|
||||
|
@ -9417,6 +9443,7 @@ broken-packages:
|
|||
- unity-testresult-parser
|
||||
- unitym-yesod
|
||||
- universe
|
||||
- universe-dependent-sum
|
||||
- universe-instances-extended
|
||||
- universe-th
|
||||
- universum
|
||||
|
@ -9528,6 +9555,7 @@ broken-packages:
|
|||
- vector-bytestring
|
||||
- vector-clock
|
||||
- vector-conduit
|
||||
- vector-endian
|
||||
- vector-extras
|
||||
- vector-functorlazy
|
||||
- vector-heterogenous
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue