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
|
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:
|
release and `nixos-unstable` for the latest successful build of master:
|
||||||
|
|
||||||
```
|
```
|
||||||
% git remote update channels
|
% git remote update channels
|
||||||
% git rebase channels/nixos-18.09
|
% git rebase channels/nixos-19.03
|
||||||
```
|
```
|
||||||
|
|
||||||
For pull requests, please rebase onto nixpkgs `master`.
|
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/)
|
* [Manual (NixOS)](https://nixos.org/nixos/manual/)
|
||||||
* [Community maintained wiki](https://nixos.wiki/)
|
* [Community maintained wiki](https://nixos.wiki/)
|
||||||
* [Continuous package builds for unstable/master](https://hydra.nixos.org/jobset/nixos/trunk-combined)
|
* [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 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:
|
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
|
application. You can install and use Haskell executables just like any other
|
||||||
program in Nixpkgs, but using Haskell libraries for development is a bit
|
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
|
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
|
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
|
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
|
A simple development environment consists of a Haskell compiler and one or both
|
||||||
of the tools `cabal-install` and `stack`. We saw in section
|
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:
|
user profile:
|
||||||
```shell
|
```shell
|
||||||
nix-env -f "<nixpkgs>" -iA haskellPackages.ghc haskellPackages.cabal-install
|
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
|
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
|
`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.
|
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
|
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
|
shell switches your build to use that compiler instead. If you're working on
|
||||||
|
@ -197,6 +197,11 @@
|
|||||||
github = "aij";
|
github = "aij";
|
||||||
name = "Ivan Jager";
|
name = "Ivan Jager";
|
||||||
};
|
};
|
||||||
|
ajs124 = {
|
||||||
|
email = "nix@ajs124.de";
|
||||||
|
github = "ajs124";
|
||||||
|
name = "Andreas Schrägle";
|
||||||
|
};
|
||||||
ajgrf = {
|
ajgrf = {
|
||||||
email = "a@ajgrf.com";
|
email = "a@ajgrf.com";
|
||||||
github = "ajgrf";
|
github = "ajgrf";
|
||||||
@ -578,6 +583,11 @@
|
|||||||
github = "bbarker";
|
github = "bbarker";
|
||||||
name = "Brandon Elam Barker";
|
name = "Brandon Elam Barker";
|
||||||
};
|
};
|
||||||
|
bbigras = {
|
||||||
|
email = "bigras.bruno@gmail.com";
|
||||||
|
github = "bbigras";
|
||||||
|
name = "Bruno Bigras";
|
||||||
|
};
|
||||||
bcarrell = {
|
bcarrell = {
|
||||||
email = "brandoncarrell@gmail.com";
|
email = "brandoncarrell@gmail.com";
|
||||||
github = "bcarrell";
|
github = "bcarrell";
|
||||||
@ -2911,6 +2921,11 @@
|
|||||||
github = "marcweber";
|
github = "marcweber";
|
||||||
name = "Marc Weber";
|
name = "Marc Weber";
|
||||||
};
|
};
|
||||||
|
marenz = {
|
||||||
|
email = "marenz@arkom.men";
|
||||||
|
github = "marenz2569";
|
||||||
|
name = "Markus Schmidl";
|
||||||
|
};
|
||||||
markus1189 = {
|
markus1189 = {
|
||||||
email = "markus1189@gmail.com";
|
email = "markus1189@gmail.com";
|
||||||
github = "markus1189";
|
github = "markus1189";
|
||||||
|
@ -14,14 +14,19 @@ ltermbox,
|
|||||||
lua-cmsgpack,
|
lua-cmsgpack,
|
||||||
lua_cliargs,
|
lua_cliargs,
|
||||||
lua-iconv,
|
lua-iconv,
|
||||||
|
lua-messagepack,
|
||||||
lua-term,
|
lua-term,
|
||||||
|
lua-toml,
|
||||||
luabitop,
|
luabitop,
|
||||||
luaevent,
|
luaevent,
|
||||||
luacheck
|
luacheck
|
||||||
luaffi,,http://luarocks.org/dev,
|
luaffi,,http://luarocks.org/dev,
|
||||||
luuid,
|
luuid,
|
||||||
penlight,
|
penlight,
|
||||||
|
rapidjson,
|
||||||
say,
|
say,
|
||||||
|
std__debug,std._debug,
|
||||||
|
std_normalize,std.normalize,
|
||||||
luv,
|
luv,
|
||||||
luasystem,
|
luasystem,
|
||||||
mediator_lua,,http://luarocks.org/manifests/teto
|
mediator_lua,,http://luarocks.org/manifests/teto
|
||||||
|
|
@ -81,7 +81,7 @@ function convert_pkg () {
|
|||||||
server=" --server=$3"
|
server=" --server=$3"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
version="${3:-}"
|
version="${4:-}"
|
||||||
|
|
||||||
echo "looking at $lua_pkg_name (version $version) from server [$server]" >&2
|
echo "looking at $lua_pkg_name (version $version) from server [$server]" >&2
|
||||||
cmd="luarocks nix $server $lua_pkg_name $version"
|
cmd="luarocks nix $server $lua_pkg_name $version"
|
||||||
|
@ -67,6 +67,32 @@
|
|||||||
<xref linkend="opt-hardware.opengl.driSupport32Bit"/> = true;
|
<xref linkend="opt-hardware.opengl.driSupport32Bit"/> = true;
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</para>
|
</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">
|
<simplesect xml:id="sec-x11-graphics-cards-nvidia">
|
||||||
<title>Proprietary NVIDIA drivers</title>
|
<title>Proprietary NVIDIA drivers</title>
|
||||||
<para>
|
<para>
|
||||||
|
@ -83,6 +83,14 @@
|
|||||||
The same applies to ModemManager where modem-manager.service is now called ModemManager.service again.
|
The same applies to ModemManager where modem-manager.service is now called ModemManager.service again.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</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>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
@ -414,6 +414,7 @@
|
|||||||
./services/misc/ihaskell.nix
|
./services/misc/ihaskell.nix
|
||||||
./services/misc/irkerd.nix
|
./services/misc/irkerd.nix
|
||||||
./services/misc/jackett.nix
|
./services/misc/jackett.nix
|
||||||
|
./services/misc/jellyfin.nix
|
||||||
./services/misc/logkeys.nix
|
./services/misc/logkeys.nix
|
||||||
./services/misc/leaps.nix
|
./services/misc/leaps.nix
|
||||||
./services/misc/lidarr.nix
|
./services/misc/lidarr.nix
|
||||||
|
@ -26,16 +26,6 @@ with lib;
|
|||||||
# brave
|
# brave
|
||||||
"opt/brave/native-messaging-hosts/${appId}".source = source "hosts/chromium";
|
"opt/brave/native-messaging-hosts/${appId}".source = source "hosts/chromium";
|
||||||
"opt/brave/policies/managed/${appId}".source = source "policies/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;
|
nixpkgs.config.firefox.enableBrowserpass = true;
|
||||||
};
|
};
|
||||||
|
@ -78,9 +78,9 @@ in {
|
|||||||
environment = {
|
environment = {
|
||||||
systemPackages = [ swayJoined ] ++ cfg.extraPackages;
|
systemPackages = [ swayJoined ] ++ cfg.extraPackages;
|
||||||
etc = {
|
etc = {
|
||||||
"sway/config".source = "${swayPackage}/etc/sway/config";
|
"sway/config".source = mkOptionDefault "${swayPackage}/etc/sway/config";
|
||||||
#"sway/security.d".source = "${swayPackage}/etc/sway/security.d/";
|
#"sway/security.d".source = mkOptionDefault "${swayPackage}/etc/sway/security.d/";
|
||||||
#"sway/config.d".source = "${swayPackage}/etc/sway/config.d/";
|
#"sway/config.d".source = mkOptionDefault "${swayPackage}/etc/sway/config.d/";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
security.pam.services.swaylock = {};
|
security.pam.services.swaylock = {};
|
||||||
|
@ -45,6 +45,9 @@ with lib;
|
|||||||
(mkRemovedOptionModule [ "services" "neo4j" "port" ] "Use services.neo4j.http.listenAddress instead.")
|
(mkRemovedOptionModule [ "services" "neo4j" "port" ] "Use services.neo4j.http.listenAddress instead.")
|
||||||
(mkRemovedOptionModule [ "services" "neo4j" "boltPort" ] "Use services.neo4j.bolt.listenAddress instead.")
|
(mkRemovedOptionModule [ "services" "neo4j" "boltPort" ] "Use services.neo4j.bolt.listenAddress instead.")
|
||||||
(mkRemovedOptionModule [ "services" "neo4j" "httpsPort" ] "Use services.neo4j.https.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" "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.")
|
(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" ])
|
(mkRenamedOptionModule [ "services" "tor" "relay" "portSpec" ] [ "services" "tor" "relay" "port" ])
|
||||||
|
@ -33,7 +33,12 @@ in
|
|||||||
paths = concatMapStrings (s: " -I ${s}/etc/apparmor.d")
|
paths = concatMapStrings (s: " -I ${s}/etc/apparmor.d")
|
||||||
([ pkgs.apparmor-profiles ] ++ cfg.packages);
|
([ pkgs.apparmor-profiles ] ++ cfg.packages);
|
||||||
in {
|
in {
|
||||||
wantedBy = [ "local-fs.target" ];
|
after = [ "local-fs.target" ];
|
||||||
|
before = [ "sysinit.target" ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
unitConfig = {
|
||||||
|
DefaultDependencies = "no";
|
||||||
|
};
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
RemainAfterExit = "yes";
|
RemainAfterExit = "yes";
|
||||||
@ -43,6 +48,9 @@ in
|
|||||||
ExecStop = map (p:
|
ExecStop = map (p:
|
||||||
''${pkgs.apparmor-parser}/bin/apparmor_parser -Rv "${p}"''
|
''${pkgs.apparmor-parser}/bin/apparmor_parser -Rv "${p}"''
|
||||||
) cfg.profiles;
|
) 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" ];
|
wantedBy = [ "kube-control-plane-online.target" ];
|
||||||
after = [ "kube-scheduler.service" "kube-controller-manager.service" ];
|
after = [ "kube-scheduler.service" "kube-controller-manager.service" ];
|
||||||
before = [ "kube-control-plane-online.target" ];
|
before = [ "kube-control-plane-online.target" ];
|
||||||
environment.KUBECONFIG = cfg.lib.mkKubeConfig "default" cfg.kubeconfig;
|
path = [ pkgs.curl ];
|
||||||
path = [ pkgs.kubectl ];
|
|
||||||
preStart = ''
|
preStart = ''
|
||||||
until kubectl get --raw=/healthz 2>/dev/null; do
|
until curl -Ssf ${cfg.apiserverAddress}/healthz do
|
||||||
echo kubectl get --raw=/healthz: exit status $?
|
echo curl -Ssf ${cfg.apiserverAddress}/healthz: exit status $?
|
||||||
sleep 3
|
sleep 3
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
@ -4,6 +4,8 @@ with lib;
|
|||||||
let
|
let
|
||||||
cfg = config.services.journalwatch;
|
cfg = config.services.journalwatch;
|
||||||
user = "journalwatch";
|
user = "journalwatch";
|
||||||
|
# for journal access
|
||||||
|
group = "systemd-journal";
|
||||||
dataDir = "/var/lib/${user}";
|
dataDir = "/var/lib/${user}";
|
||||||
|
|
||||||
journalwatchConfig = pkgs.writeText "config" (''
|
journalwatchConfig = pkgs.writeText "config" (''
|
||||||
@ -31,6 +33,17 @@ let
|
|||||||
|
|
||||||
'') filterBlocks);
|
'') 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 {
|
in {
|
||||||
options = {
|
options = {
|
||||||
@ -199,33 +212,38 @@ in {
|
|||||||
|
|
||||||
users.users.${user} = {
|
users.users.${user} = {
|
||||||
isSystemUser = true;
|
isSystemUser = true;
|
||||||
createHome = true;
|
|
||||||
home = dataDir;
|
home = dataDir;
|
||||||
# for journal access
|
group = group;
|
||||||
group = "systemd-journal";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
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 = {
|
systemd.services.journalwatch = {
|
||||||
|
|
||||||
environment = {
|
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_DATA_HOME = "${dataDir}/share";
|
||||||
XDG_CONFIG_HOME = "${dataDir}/config";
|
XDG_CONFIG_HOME = journalwatchConfigDir;
|
||||||
};
|
};
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
User = user;
|
User = user;
|
||||||
|
Group = group;
|
||||||
Type = "oneshot";
|
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";
|
ExecStart = "${pkgs.python3Packages.journalwatch}/bin/journalwatch mail";
|
||||||
# lowest CPU and IO priority, but both still in best-effort class to prevent starvation
|
# lowest CPU and IO priority, but both still in best-effort class to prevent starvation
|
||||||
Nice=19;
|
Nice=19;
|
||||||
IOSchedulingPriority=7;
|
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 = {
|
systemd.timers.journalwatch = {
|
||||||
|
@ -8,6 +8,7 @@ let
|
|||||||
pg = config.services.postgresql;
|
pg = config.services.postgresql;
|
||||||
useMysql = cfg.database.type == "mysql";
|
useMysql = cfg.database.type == "mysql";
|
||||||
usePostgresql = cfg.database.type == "postgres";
|
usePostgresql = cfg.database.type == "postgres";
|
||||||
|
useSqlite = cfg.database.type == "sqlite3";
|
||||||
configFile = pkgs.writeText "app.ini" ''
|
configFile = pkgs.writeText "app.ini" ''
|
||||||
APP_NAME = ${cfg.appName}
|
APP_NAME = ${cfg.appName}
|
||||||
RUN_USER = ${cfg.user}
|
RUN_USER = ${cfg.user}
|
||||||
@ -15,11 +16,15 @@ let
|
|||||||
|
|
||||||
[database]
|
[database]
|
||||||
DB_TYPE = ${cfg.database.type}
|
DB_TYPE = ${cfg.database.type}
|
||||||
|
${optionalString (usePostgresql || useMysql) ''
|
||||||
HOST = ${if cfg.database.socket != null then cfg.database.socket else cfg.database.host + ":" + toString cfg.database.port}
|
HOST = ${if cfg.database.socket != null then cfg.database.socket else cfg.database.host + ":" + toString cfg.database.port}
|
||||||
NAME = ${cfg.database.name}
|
NAME = ${cfg.database.name}
|
||||||
USER = ${cfg.database.user}
|
USER = ${cfg.database.user}
|
||||||
PASSWD = #dbpass#
|
PASSWD = #dbpass#
|
||||||
|
''}
|
||||||
|
${optionalString useSqlite ''
|
||||||
PATH = ${cfg.database.path}
|
PATH = ${cfg.database.path}
|
||||||
|
''}
|
||||||
${optionalString usePostgresql ''
|
${optionalString usePostgresql ''
|
||||||
SSL_MODE = disable
|
SSL_MODE = disable
|
||||||
''}
|
''}
|
||||||
|
60
nixos/modules/services/misc/jellyfin.nix
Normal file
60
nixos/modules/services/misc/jellyfin.nix
Normal file
@ -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
|
let
|
||||||
cfg = config.services.nzbget;
|
cfg = config.services.nzbget;
|
||||||
dataDir = builtins.dirOf cfg.configFile;
|
pkg = pkgs.nzbget;
|
||||||
in {
|
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 = {
|
options = {
|
||||||
services.nzbget = {
|
services.nzbget = {
|
||||||
enable = mkEnableOption "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 {
|
user = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
default = "nzbget";
|
default = "nzbget";
|
||||||
@ -42,14 +44,10 @@ in {
|
|||||||
default = "nzbget";
|
default = "nzbget";
|
||||||
description = "Group under which NZBGet runs";
|
description = "Group under which NZBGet runs";
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
configFile = mkOption {
|
# implementation
|
||||||
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.)";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
systemd.services.nzbget = {
|
systemd.services.nzbget = {
|
||||||
@ -61,50 +59,26 @@ in {
|
|||||||
p7zip
|
p7zip
|
||||||
];
|
];
|
||||||
preStart = ''
|
preStart = ''
|
||||||
cfgtemplate=${cfg.package}/share/nzbget/nzbget.conf
|
if [ ! -f ${configFile} ]; then
|
||||||
if [ ! -f ${cfg.configFile} ]; then
|
${pkgs.coreutils}/bin/install -m 0700 ${pkg}/share/nzbget/nzbget.conf ${configFile}
|
||||||
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}
|
|
||||||
fi
|
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 = {
|
serviceConfig = {
|
||||||
StateDirectory = dataDir;
|
StateDirectory = "nzbget";
|
||||||
StateDirectoryMode = "0700";
|
StateDirectoryMode = "0750";
|
||||||
Type = "forking";
|
|
||||||
User = cfg.user;
|
User = cfg.user;
|
||||||
Group = cfg.group;
|
Group = cfg.group;
|
||||||
PermissionsStartOnly = "true";
|
UMask = "0002";
|
||||||
Restart = "on-failure";
|
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") {
|
users.users = mkIf (cfg.user == "nzbget") {
|
||||||
nzbget = {
|
nzbget = {
|
||||||
|
home = stateDir;
|
||||||
group = cfg.group;
|
group = cfg.group;
|
||||||
uid = config.ids.uids.nzbget;
|
uid = config.ids.uids.nzbget;
|
||||||
};
|
};
|
||||||
|
@ -177,7 +177,7 @@ let
|
|||||||
folder = mkOption {
|
folder = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
default = "";
|
default = "";
|
||||||
description = "Add dashboards to the speciied folder";
|
description = "Add dashboards to the specified folder";
|
||||||
};
|
};
|
||||||
type = mkOption {
|
type = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
|
@ -11,7 +11,7 @@ let
|
|||||||
${cfg.ctlConfig}
|
${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;
|
dumps = lib.escapeShellArgs cfg.loadDumps;
|
||||||
|
|
||||||
@ -111,28 +111,17 @@ in {
|
|||||||
description = "ejabberd server";
|
description = "ejabberd server";
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
after = [ "network.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 = {
|
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;
|
User = cfg.user;
|
||||||
Group = cfg.group;
|
Group = cfg.group;
|
||||||
PermissionsStartOnly = true;
|
ExecStart = "${ectl} foreground";
|
||||||
|
ExecStop = "${ectl} stop";
|
||||||
|
ExecReload = "${ectl} reload_config";
|
||||||
};
|
};
|
||||||
|
|
||||||
preStart = ''
|
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
|
if [ -z "$(ls -A '${cfg.spoolDir}')" ]; then
|
||||||
touch "${cfg.spoolDir}/.firstRun"
|
touch "${cfg.spoolDir}/.firstRun"
|
||||||
fi
|
fi
|
||||||
@ -149,13 +138,18 @@ in {
|
|||||||
for src in ${dumps}; do
|
for src in ${dumps}; do
|
||||||
find "$src" -type f | while read dump; do
|
find "$src" -type f | while read dump; do
|
||||||
echo "Loading configuration dump at $dump"
|
echo "Loading configuration dump at $dump"
|
||||||
chpst -u "${cfg.user}:${cfg.group}" ${ectl} load "$dump"
|
${ectl} load "$dump"
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
"d '${cfg.logsDir}' 0750 ${cfg.user} ${cfg.group} -"
|
||||||
|
"d '${cfg.spoolDir}' 0700 ${cfg.user} ${cfg.group} -"
|
||||||
|
];
|
||||||
|
|
||||||
security.pam.services.ejabberd = {};
|
security.pam.services.ejabberd = {};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -12,6 +12,8 @@ let
|
|||||||
log_dir = ${cfg.logDir}
|
log_dir = ${cfg.logDir}
|
||||||
'' + lib.optionalString (cfg.port != null) ''
|
'' + lib.optionalString (cfg.port != null) ''
|
||||||
ui_port = ${toString cfg.port}
|
ui_port = ${toString cfg.port}
|
||||||
|
'' + lib.optionalString (cfg.fileserverPort != null) ''
|
||||||
|
fileserver_port = ${toString cfg.fileserverPort}
|
||||||
'' + lib.optionalString (cfg.torAlways) ''
|
'' + lib.optionalString (cfg.torAlways) ''
|
||||||
tor = always
|
tor = always
|
||||||
'' + cfg.extraConfig;
|
'' + cfg.extraConfig;
|
||||||
@ -41,6 +43,15 @@ in with lib; {
|
|||||||
description = "Optional zeronet web UI port.";
|
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 {
|
tor = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
|
@ -116,20 +116,22 @@ in {
|
|||||||
${lib.optionalString (cfg.webroot != null)
|
${lib.optionalString (cfg.webroot != null)
|
||||||
"ln -sfT \"${cfg.webroot}\" web"}
|
"ln -sfT \"${cfg.webroot}\" web"}
|
||||||
mkdir -p dump
|
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 build dump/*.gpg -n 10 -cache 100 || true #*/
|
||||||
${sksPkg}/bin/sks cleandb || true
|
${sksPkg}/bin/sks cleandb || true
|
||||||
${sksPkg}/bin/sks pbuild -cache 20 -ptree_cache 70 || 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 = {
|
serviceConfig = {
|
||||||
WorkingDirectory = "~";
|
WorkingDirectory = "~";
|
||||||
|
@ -63,6 +63,17 @@ in
|
|||||||
Enable debugging messages.
|
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} \
|
-s ${toString ecfg.freeSwapThreshold} \
|
||||||
${optionalString ecfg.useKernelOOMKiller "-k"} \
|
${optionalString ecfg.useKernelOOMKiller "-k"} \
|
||||||
${optionalString ecfg.ignoreOOMScoreAdjust "-i"} \
|
${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;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
cfg = config.services.documize;
|
cfg = config.services.documize;
|
||||||
|
|
||||||
in
|
mkParams = optional: concatMapStrings (name: let
|
||||||
|
predicate = optional -> cfg.${name} != null;
|
||||||
|
template = " -${name} '${toString cfg.${name}}'";
|
||||||
|
in optionalString predicate template);
|
||||||
|
|
||||||
{
|
in {
|
||||||
options.services.documize = {
|
options.services.documize = {
|
||||||
enable = mkEnableOption "Documize Wiki";
|
enable = mkEnableOption "Documize Wiki";
|
||||||
|
|
||||||
offline = mkEnableOption "Documize offline mode";
|
|
||||||
|
|
||||||
package = mkOption {
|
package = mkOption {
|
||||||
default = pkgs.documize-community;
|
|
||||||
type = types.package;
|
type = types.package;
|
||||||
|
default = pkgs.documize-community;
|
||||||
description = ''
|
description = ''
|
||||||
Which package to use for documize.
|
Which package to use for documize.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
db = mkOption {
|
salt = mkOption {
|
||||||
type = types.str;
|
type = types.nullOr types.str;
|
||||||
example = "host=localhost port=5432 sslmode=disable user=admin password=secret dbname=documize";
|
default = null;
|
||||||
|
example = "3edIYV6c8B28b19fh";
|
||||||
description = ''
|
description = ''
|
||||||
The DB connection string to use for the database.
|
The salt string used to encode JWT tokens, if not set a random value will be generated.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
dbtype = mkOption {
|
cert = mkOption {
|
||||||
type = types.enum [ "postgresql" "percona" "mariadb" "mysql" ];
|
type = types.nullOr types.str;
|
||||||
|
default = null;
|
||||||
description = ''
|
description = ''
|
||||||
Which database to use for storage.
|
The <filename>cert.pem</filename> file used for https.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
key = mkOption {
|
||||||
|
type = types.nullOr types.str;
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
The <filename>key.pem</filename> file used for https.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
port = mkOption {
|
port = mkOption {
|
||||||
type = types.port;
|
type = types.port;
|
||||||
example = 3000;
|
default = 5001;
|
||||||
description = ''
|
description = ''
|
||||||
Which TCP port to serve.
|
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 {
|
config = mkIf cfg.enable {
|
||||||
systemd.services.documize-server = {
|
systemd.services.documize-server = {
|
||||||
|
description = "Documize Wiki";
|
||||||
|
documentation = [ https://documize.com/ ];
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
|
||||||
script = ''
|
|
||||||
${cfg.package}/bin/documize \
|
|
||||||
-db "${cfg.db}" \
|
|
||||||
-dbtype ${cfg.dbtype} \
|
|
||||||
-port ${toString cfg.port} \
|
|
||||||
-offline ${if cfg.offline then "1" else "0"}
|
|
||||||
'';
|
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
|
ExecStart = concatStringsSep " " [
|
||||||
|
"${cfg.package}/bin/documize"
|
||||||
|
(mkParams false [ "db" "dbtype" "port" ])
|
||||||
|
(mkParams true [ "offline" "location" "forcesslport" "key" "cert" "salt" ])
|
||||||
|
];
|
||||||
Restart = "always";
|
Restart = "always";
|
||||||
DynamicUser = "yes";
|
DynamicUser = "yes";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -60,12 +60,15 @@ in
|
|||||||
${cfg.extraSessionCommands}
|
${cfg.extraSessionCommands}
|
||||||
|
|
||||||
${cfg.package}/bin/i3 ${optionalString (cfg.configFile != null)
|
${cfg.package}/bin/i3 ${optionalString (cfg.configFile != null)
|
||||||
"-c \"${cfg.configFile}\""
|
"-c /etc/i3/config"
|
||||||
} &
|
} &
|
||||||
waitPID=$!
|
waitPID=$!
|
||||||
'';
|
'';
|
||||||
}];
|
}];
|
||||||
environment.systemPackages = [ cfg.package ] ++ cfg.extraPackages;
|
environment.systemPackages = [ cfg.package ] ++ cfg.extraPackages;
|
||||||
|
environment.etc."i3/config" = mkIf (cfg.configFile != null) {
|
||||||
|
source = cfg.configFile;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
|
@ -166,24 +166,6 @@ while (my ($unit, $state) = each %{$activePrev}) {
|
|||||||
|
|
||||||
if (-e $prevUnitFile && ($state->{state} eq "active" || $state->{state} eq "activating")) {
|
if (-e $prevUnitFile && ($state->{state} eq "active" || $state->{state} eq "activating")) {
|
||||||
if (! -e $newUnitFile || abs_path($newUnitFile) eq "/dev/null") {
|
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);
|
my $unitInfo = parseUnit($prevUnitFile);
|
||||||
$unitsToStop{$unit} = 1 if boolIsTrue($unitInfo->{'X-StopOnRemoval'} // "yes");
|
$unitsToStop{$unit} = 1 if boolIsTrue($unitInfo->{'X-StopOnRemoval'} // "yes");
|
||||||
}
|
}
|
||||||
|
@ -87,6 +87,9 @@ let
|
|||||||
mkdir -p /crypt-ramfs
|
mkdir -p /crypt-ramfs
|
||||||
mount -t ramfs none /crypt-ramfs
|
mount -t ramfs none /crypt-ramfs
|
||||||
|
|
||||||
|
# Cryptsetup locking directory
|
||||||
|
mkdir -p /run/cryptsetup
|
||||||
|
|
||||||
# For Yubikey salt storage
|
# For Yubikey salt storage
|
||||||
mkdir -p /crypt-storage
|
mkdir -p /crypt-storage
|
||||||
|
|
||||||
|
@ -72,6 +72,7 @@ in
|
|||||||
#ec2-config = (handleTestOn ["x86_64-linux"] ./ec2.nix {}).boot-ec2-config or {};
|
#ec2-config = (handleTestOn ["x86_64-linux"] ./ec2.nix {}).boot-ec2-config or {};
|
||||||
ec2-nixops = (handleTestOn ["x86_64-linux"] ./ec2.nix {}).boot-ec2-nixops or {};
|
ec2-nixops = (handleTestOn ["x86_64-linux"] ./ec2.nix {}).boot-ec2-nixops or {};
|
||||||
ecryptfs = handleTest ./ecryptfs.nix {};
|
ecryptfs = handleTest ./ecryptfs.nix {};
|
||||||
|
ejabberd = handleTest ./ejabberd.nix {};
|
||||||
elk = handleTestOn ["x86_64-linux"] ./elk.nix {};
|
elk = handleTestOn ["x86_64-linux"] ./elk.nix {};
|
||||||
env = handleTest ./env.nix {};
|
env = handleTest ./env.nix {};
|
||||||
etcd = handleTestOn ["x86_64-linux"] ./etcd.nix {};
|
etcd = handleTestOn ["x86_64-linux"] ./etcd.nix {};
|
||||||
@ -172,6 +173,7 @@ in
|
|||||||
nix-ssh-serve = handleTest ./nix-ssh-serve.nix {};
|
nix-ssh-serve = handleTest ./nix-ssh-serve.nix {};
|
||||||
novacomd = handleTestOn ["x86_64-linux"] ./novacomd.nix {};
|
novacomd = handleTestOn ["x86_64-linux"] ./novacomd.nix {};
|
||||||
nsd = handleTest ./nsd.nix {};
|
nsd = handleTest ./nsd.nix {};
|
||||||
|
nzbget = handleTest ./nzbget.nix {};
|
||||||
openldap = handleTest ./openldap.nix {};
|
openldap = handleTest ./openldap.nix {};
|
||||||
opensmtpd = handleTest ./opensmtpd.nix {};
|
opensmtpd = handleTest ./opensmtpd.nix {};
|
||||||
openssh = handleTest ./openssh.nix {};
|
openssh = handleTest ./openssh.nix {};
|
||||||
|
262
nixos/tests/ejabberd.nix
Normal file
262
nixos/tests/ejabberd.nix
Normal file
@ -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');
|
||||||
|
'';
|
||||||
|
})
|
16
nixos/tests/jellyfin.nix
Normal file
16
nixos/tests/jellyfin.nix
Normal file
@ -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/");
|
||||||
|
'';
|
||||||
|
})
|
26
nixos/tests/nzbget.nix
Normal file
26
nixos/tests/nzbget.nix
Normal file
@ -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 = ''
|
extraConfig = ''
|
||||||
storage = "sql"
|
storage = "sql"
|
||||||
'';
|
'';
|
||||||
|
virtualHosts.test = {
|
||||||
|
domain = "example.com";
|
||||||
|
enabled = true;
|
||||||
};
|
};
|
||||||
environment.systemPackages = let
|
};
|
||||||
sendMessage = pkgs.writeScriptBin "send-message" ''
|
environment.systemPackages = [
|
||||||
#!/usr/bin/env python3
|
(pkgs.callPackage ./xmpp-sendmessage.nix {})
|
||||||
# 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 ];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
testScript = ''
|
testScript = ''
|
||||||
$machine->waitForUnit('prosody.service');
|
$machine->waitForUnit('prosody.service');
|
||||||
$machine->succeed('prosodyctl status') =~ /Prosody is running/;
|
$machine->succeed('prosodyctl status') =~ /Prosody is running/;
|
||||||
|
|
||||||
# set password to 'test' (it's asked twice)
|
# set password to 'nothunter2' (it's asked twice)
|
||||||
$machine->succeed('yes test1 | prosodyctl adduser test1@localhost');
|
$machine->succeed('yes nothunter2 | prosodyctl adduser cthon98@example.com');
|
||||||
# set password to 'y'
|
# set password to 'y'
|
||||||
$machine->succeed('yes | prosodyctl adduser test2@localhost');
|
$machine->succeed('yes | prosodyctl adduser azurediamond@example.com');
|
||||||
# correct password to 'test2'
|
# correct password to 'hunter2'
|
||||||
$machine->succeed('yes test2 | prosodyctl passwd test2@localhost');
|
$machine->succeed('yes hunter2 | prosodyctl passwd azurediamond@example.com');
|
||||||
|
|
||||||
$machine->succeed("send-message");
|
$machine->succeed("send-message");
|
||||||
|
|
||||||
$machine->succeed('prosodyctl deluser test1@localhost');
|
$machine->succeed('prosodyctl deluser cthon98@example.com');
|
||||||
$machine->succeed('prosodyctl deluser test2@localhost');
|
$machine->succeed('prosodyctl deluser azurediamond@example.com');
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
46
nixos/tests/xmpp-sendmessage.nix
Normal file
46
nixos/tests/xmpp-sendmessage.nix
Normal file
@ -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)
|
||||||
|
''
|
49
pkgs/applications/accessibility/mousetweaks/default.nix
Normal file
49
pkgs/applications/accessibility/mousetweaks/default.nix
Normal file
@ -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 {
|
stdenv.mkDerivation rec {
|
||||||
name = "calf-${version}";
|
name = "calf-${version}";
|
||||||
version = "0.90.0";
|
version = "0.90.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://calf-studio-gear.org/files/${name}.tar.gz";
|
url = "https://calf-studio-gear.org/files/${name}.tar.gz";
|
||||||
sha256 = "0dijv2j7vlp76l10s4v8gbav26ibaqk8s24ci74vrc398xy00cib";
|
sha256 = "0bn4j1klw2yfxz8clbmasaydifq25rdfsv0n6iisxrzcj1lx7sgh";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
enableParallelBuilding = true;
|
||||||
# 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";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
cairo expat fftwSinglePrec fluidsynth glib gtk2 libjack2 ladspaH
|
cairo expat fftwSinglePrec fluidsynth glib gtk2 libjack2 ladspaH
|
||||||
|
@ -1,13 +1,14 @@
|
|||||||
{ stdenv, fetchFromGitHub, libjack2, libGL, pkgconfig, xorg }:
|
{ stdenv, fetchFromGitHub, libjack2, libGL, pkgconfig, xorg }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "dragonfly-reverb-${src.rev}";
|
pname = "dragonfly-reverb";
|
||||||
|
version = "1.1.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "michaelwillis";
|
owner = "michaelwillis";
|
||||||
repo = "dragonfly-reverb";
|
repo = "dragonfly-reverb";
|
||||||
rev = "1.0.0";
|
rev = version;
|
||||||
sha256 = "05m4hd8lg0a7iiia6cbiw5qmc4p8vbkxp2qh7ywaabawiwa9r24x";
|
sha256 = "060g4ddh1z222n39wqj8jxj0zgmpjrgraw76qgyg6xkn15cn9q9y";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -21,15 +22,20 @@ stdenv.mkDerivation rec {
|
|||||||
];
|
];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
mkdir -p $out/lib/lv2/
|
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; {
|
meta = with stdenv.lib; {
|
||||||
homepage = https://github.com/michaelwillis/dragonfly-reverb;
|
homepage = https://github.com/michaelwillis/dragonfly-reverb;
|
||||||
description = "A hall-style reverb based on freeverb3 algorithms";
|
description = "A hall-style reverb based on freeverb3 algorithms";
|
||||||
maintainers = [ maintainers.magnetophon ];
|
maintainers = [ maintainers.magnetophon ];
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl3;
|
||||||
platforms = ["x86_64-linux"];
|
platforms = ["x86_64-linux"];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
97
pkgs/applications/audio/soundkonverter/default.nix
Normal file
97
pkgs/applications/audio/soundkonverter/default.nix
Normal file
@ -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 {
|
stdenv.mkDerivation rec {
|
||||||
name = "timemachine-${version}";
|
pname = "timemachine";
|
||||||
version = "0.3.1";
|
version = "0.3.3";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "swh";
|
owner = "swh";
|
||||||
repo = "timemachine";
|
repo = "timemachine";
|
||||||
rev = "1966d8524d4e4c47c525473bab3b010a168adc98";
|
rev = "v${version}";
|
||||||
sha256 = "0w5alysixnvlkfl79wf7vs5wsw2vgxl3gqxxcm0zbmhjdpmjpcal";
|
sha256 = "1jsvd29wiqigxyqxl2xjklla11fwyjy68vqivcnlr9f2af4ylym8";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
@ -1,20 +1,20 @@
|
|||||||
{ stdenv, fetchFromGitHub, qmake, pkgconfig, qttools, qtwebkit, hunspell }:
|
{ stdenv, fetchFromGitHub, qmake, pkgconfig, qttools, qtwebengine, hunspell }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "ghostwriter";
|
pname = "ghostwriter";
|
||||||
version = "1.7.4";
|
version = "1.8.0";
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "wereturtle";
|
owner = "wereturtle";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1pqlr08z5syqcq5p282asxwzrrm7c1w94baxyb467swh8yp3fj5m";
|
sha256 = "13yn82m1l2pq93wbl569a2lzpc3sn8a8g30hsgdch1l9xlmhwran";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ qmake pkgconfig qttools ];
|
nativeBuildInputs = [ qmake pkgconfig qttools ];
|
||||||
|
|
||||||
buildInputs = [ qtwebkit hunspell ];
|
buildInputs = [ qtwebengine hunspell ];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "A cross-platform, aesthetic, distraction-free Markdown editor";
|
description = "A cross-platform, aesthetic, distraction-free Markdown editor";
|
||||||
|
@ -250,12 +250,12 @@ in
|
|||||||
|
|
||||||
clion = buildClion rec {
|
clion = buildClion rec {
|
||||||
name = "clion-${version}";
|
name = "clion-${version}";
|
||||||
version = "2019.1"; /* updated by script */
|
version = "2019.1.2"; /* updated by script */
|
||||||
description = "C/C++ IDE. New. Intelligent. Cross-platform";
|
description = "C/C++ IDE. New. Intelligent. Cross-platform";
|
||||||
license = stdenv.lib.licenses.unfree;
|
license = stdenv.lib.licenses.unfree;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
|
url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
|
||||||
sha256 = "1rlqnnv6b7lg18si31zd97ixnslwp8j6imkkjq0j5n9sydsr8xzj"; /* updated by script */
|
sha256 = "0x4fmbarckw60issrwk3cd65x5xjkxwrw4xq1qgfzmxfqhzbzvz8"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-clion";
|
wmClass = "jetbrains-clion";
|
||||||
update-channel = "CLion RELEASE"; # channel's id as in http://www.jetbrains.com/updates/updates.xml
|
update-channel = "CLion RELEASE"; # channel's id as in http://www.jetbrains.com/updates/updates.xml
|
||||||
@ -263,12 +263,12 @@ in
|
|||||||
|
|
||||||
datagrip = buildDataGrip rec {
|
datagrip = buildDataGrip rec {
|
||||||
name = "datagrip-${version}";
|
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";
|
description = "Your Swiss Army Knife for Databases and SQL";
|
||||||
license = stdenv.lib.licenses.unfree;
|
license = stdenv.lib.licenses.unfree;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/datagrip/${name}.tar.gz";
|
url = "https://download.jetbrains.com/datagrip/${name}.tar.gz";
|
||||||
sha256 = "10sw41kkf2k60xjpwgc73i182y7px3dmqz2awnrl4gffdb9jgzmy"; /* updated by script */
|
sha256 = "0w6hasb8vcbxdqmb0pngwr2jg0w14prqb4v7blraa5jf1xyyiayd"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-datagrip";
|
wmClass = "jetbrains-datagrip";
|
||||||
update-channel = "DataGrip RELEASE";
|
update-channel = "DataGrip RELEASE";
|
||||||
@ -276,12 +276,12 @@ in
|
|||||||
|
|
||||||
goland = buildGoland rec {
|
goland = buildGoland rec {
|
||||||
name = "goland-${version}";
|
name = "goland-${version}";
|
||||||
version = "2019.1"; /* updated by script */
|
version = "2019.1.1"; /* updated by script */
|
||||||
description = "Up and Coming Go IDE";
|
description = "Up and Coming Go IDE";
|
||||||
license = stdenv.lib.licenses.unfree;
|
license = stdenv.lib.licenses.unfree;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/go/${name}.tar.gz";
|
url = "https://download.jetbrains.com/go/${name}.tar.gz";
|
||||||
sha256 = "0aq3x5aixh86h1zvvwrbr2f1nnqdpfvlsadd2ckmf5s5kghvg5r9"; /* updated by script */
|
sha256 = "0b8msq0raczm657rhbyqi702zv4zs66yd6dcm7s0l54hnas5ia9r"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-goland";
|
wmClass = "jetbrains-goland";
|
||||||
update-channel = "GoLand RELEASE";
|
update-channel = "GoLand RELEASE";
|
||||||
@ -289,12 +289,12 @@ in
|
|||||||
|
|
||||||
idea-community = buildIdea rec {
|
idea-community = buildIdea rec {
|
||||||
name = "idea-community-${version}";
|
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";
|
description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
|
||||||
license = stdenv.lib.licenses.asl20;
|
license = stdenv.lib.licenses.asl20;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
|
url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
|
||||||
sha256 = "0zyw88dd2v4igp080l99cyq6h0bmyri8a50fjp69ripiz9qaawx1"; /* updated by script */
|
sha256 = "0xbdn1q0a2ksb7z26n2l889m6z0lh3b45clya7rdfl4jv2gkiaaq"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-idea-ce";
|
wmClass = "jetbrains-idea-ce";
|
||||||
update-channel = "IntelliJ IDEA RELEASE";
|
update-channel = "IntelliJ IDEA RELEASE";
|
||||||
@ -302,12 +302,12 @@ in
|
|||||||
|
|
||||||
idea-ultimate = buildIdea rec {
|
idea-ultimate = buildIdea rec {
|
||||||
name = "idea-ultimate-${version}";
|
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";
|
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
|
||||||
license = stdenv.lib.licenses.unfree;
|
license = stdenv.lib.licenses.unfree;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jbr.tar.gz";
|
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";
|
wmClass = "jetbrains-idea";
|
||||||
update-channel = "IntelliJ IDEA RELEASE";
|
update-channel = "IntelliJ IDEA RELEASE";
|
||||||
@ -315,12 +315,12 @@ in
|
|||||||
|
|
||||||
phpstorm = buildPhpStorm rec {
|
phpstorm = buildPhpStorm rec {
|
||||||
name = "phpstorm-${version}";
|
name = "phpstorm-${version}";
|
||||||
version = "2019.1"; /* updated by script */
|
version = "2019.1.1"; /* updated by script */
|
||||||
description = "Professional IDE for Web and PHP developers";
|
description = "Professional IDE for Web and PHP developers";
|
||||||
license = stdenv.lib.licenses.unfree;
|
license = stdenv.lib.licenses.unfree;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz";
|
url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz";
|
||||||
sha256 = "1bv2a16wsc9j82w14qfrfjgszwkihk0jwp8bp8z9618q04c8vmgf"; /* updated by script */
|
sha256 = "100whawwj1kiq870dsmkx33qv5ygjpr9977jkbavhqjnc1zhwl1r"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-phpstorm";
|
wmClass = "jetbrains-phpstorm";
|
||||||
update-channel = "PhpStorm RELEASE";
|
update-channel = "PhpStorm RELEASE";
|
||||||
@ -328,12 +328,12 @@ in
|
|||||||
|
|
||||||
pycharm-community = buildPycharm rec {
|
pycharm-community = buildPycharm rec {
|
||||||
name = "pycharm-community-${version}";
|
name = "pycharm-community-${version}";
|
||||||
version = "2019.1"; /* updated by script */
|
version = "2019.1.1"; /* updated by script */
|
||||||
description = "PyCharm Community Edition";
|
description = "PyCharm Community Edition";
|
||||||
license = stdenv.lib.licenses.asl20;
|
license = stdenv.lib.licenses.asl20;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/python/${name}.tar.gz";
|
url = "https://download.jetbrains.com/python/${name}.tar.gz";
|
||||||
sha256 = "173qm2g6pjga2jlw8sa59bxw543b56r56ikqwv2wp0jq5z61v26f"; /* updated by script */
|
sha256 = "1zz579kmskvgsjv2lriglxkdlx33mmfv2liw1b9iilspga59izld"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-pycharm-ce";
|
wmClass = "jetbrains-pycharm-ce";
|
||||||
update-channel = "PyCharm RELEASE";
|
update-channel = "PyCharm RELEASE";
|
||||||
@ -341,12 +341,12 @@ in
|
|||||||
|
|
||||||
pycharm-professional = buildPycharm rec {
|
pycharm-professional = buildPycharm rec {
|
||||||
name = "pycharm-professional-${version}";
|
name = "pycharm-professional-${version}";
|
||||||
version = "2019.1"; /* updated by script */
|
version = "2019.1.1"; /* updated by script */
|
||||||
description = "PyCharm Professional Edition";
|
description = "PyCharm Professional Edition";
|
||||||
license = stdenv.lib.licenses.unfree;
|
license = stdenv.lib.licenses.unfree;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/python/${name}.tar.gz";
|
url = "https://download.jetbrains.com/python/${name}.tar.gz";
|
||||||
sha256 = "0gjphdzdxgvflkzaakf3c1wnig86lxhxyx6xk6rg40yj6f2hzi47"; /* updated by script */
|
sha256 = "0hcij77j4zb1y1vls5nvxq3lmqrbppm3ml0p9nagbjipy2rmp838"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-pycharm";
|
wmClass = "jetbrains-pycharm";
|
||||||
update-channel = "PyCharm RELEASE";
|
update-channel = "PyCharm RELEASE";
|
||||||
@ -367,12 +367,12 @@ in
|
|||||||
|
|
||||||
ruby-mine = buildRubyMine rec {
|
ruby-mine = buildRubyMine rec {
|
||||||
name = "ruby-mine-${version}";
|
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";
|
description = "The Most Intelligent Ruby and Rails IDE";
|
||||||
license = stdenv.lib.licenses.unfree;
|
license = stdenv.lib.licenses.unfree;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
|
url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
|
||||||
sha256 = "1gykag8fsfqxv0d6fipn18hhpdvn4qxva2kkb0v330vp73wm2i2w"; /* updated by script */
|
sha256 = "0asg0x8xcjyydy0p1fdlhpcwfckdf9719460pv5zwc7yfd8z61yd"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-rubymine";
|
wmClass = "jetbrains-rubymine";
|
||||||
update-channel = "RubyMine RELEASE";
|
update-channel = "RubyMine RELEASE";
|
||||||
@ -380,12 +380,12 @@ in
|
|||||||
|
|
||||||
webstorm = buildWebStorm rec {
|
webstorm = buildWebStorm rec {
|
||||||
name = "webstorm-${version}";
|
name = "webstorm-${version}";
|
||||||
version = "2019.1"; /* updated by script */
|
version = "2019.1.1"; /* updated by script */
|
||||||
description = "Professional IDE for Web and JavaScript development";
|
description = "Professional IDE for Web and JavaScript development";
|
||||||
license = stdenv.lib.licenses.unfree;
|
license = stdenv.lib.licenses.unfree;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
|
url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
|
||||||
sha256 = "0r6a9g8ydnxf805gn2wajnwkcyfn0xksbsrs8wq6j4ghipkhscxj"; /* updated by script */
|
sha256 = "05lrsjk45l4xqjyinsqlnfr36qnv1nrgg2sskgi0bfjbdrfv9xrv"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-webstorm";
|
wmClass = "jetbrains-webstorm";
|
||||||
update-channel = "WebStorm RELEASE";
|
update-channel = "WebStorm RELEASE";
|
||||||
|
@ -7,19 +7,19 @@ stdenv.mkDerivation rec {
|
|||||||
if stdenv.hostPlatform.system == "i686-linux" then
|
if stdenv.hostPlatform.system == "i686-linux" then
|
||||||
fetchzip {
|
fetchzip {
|
||||||
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_386_v${version}.zip";
|
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_386_v${version}.zip";
|
||||||
sha256 = "14qx69fq1a3h93h167nhwp6gxka8r34295p82kim9grijrx5zz5f";
|
sha256 = "1jwkvj6xxfgn08j6wzwcra3p1dp04vblzr2g5s1y3bj4r7gs4gax";
|
||||||
stripRoot = false;
|
stripRoot = false;
|
||||||
}
|
}
|
||||||
else if stdenv.hostPlatform.system == "x86_64-linux" then
|
else if stdenv.hostPlatform.system == "x86_64-linux" then
|
||||||
fetchzip {
|
fetchzip {
|
||||||
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_amd64_v${version}.zip";
|
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_amd64_v${version}.zip";
|
||||||
sha256 = "1jh1sk07k3whbr0rvc4kf221wskcdbk0zpxaj49qbwq1d89cjnpg";
|
sha256 = "1svic2b2msbwzfx3qxfglxp0jjzy3p3v78273wab942zh822ld8b";
|
||||||
stripRoot = false;
|
stripRoot = false;
|
||||||
}
|
}
|
||||||
else if stdenv.hostPlatform.system == "x86_64-darwin" then
|
else if stdenv.hostPlatform.system == "x86_64-darwin" then
|
||||||
fetchzip {
|
fetchzip {
|
||||||
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_darwin_amd64_v${version}.zip";
|
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_darwin_amd64_v${version}.zip";
|
||||||
sha256 = "1s6gw2qwsbhj4z9nrwrxs776y45ingpfp9533qz0gc1pk7ia99js";
|
sha256 = "03bnwn06066hvp0n30260mhvkjr60dl93nj9l7p6a0ndcv7w77r8";
|
||||||
stripRoot = false;
|
stripRoot = false;
|
||||||
}
|
}
|
||||||
else throw "Architecture not supported";
|
else throw "Architecture not supported";
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "dbeaver-ce-${version}";
|
name = "dbeaver-ce-${version}";
|
||||||
version = "6.0.2";
|
version = "6.0.3";
|
||||||
|
|
||||||
desktopItem = makeDesktopItem {
|
desktopItem = makeDesktopItem {
|
||||||
name = "dbeaver";
|
name = "dbeaver";
|
||||||
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
|
url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
|
||||||
sha256 = "12zqz9zi4jryvlk1rjxfl4jdj4a6n00018yyk95glfdrxda2xyib";
|
sha256 = "0pcf8p9nmbj6kf32zrjjrfyxb07x37h56zm3s5gdf1jk2hvrarvl";
|
||||||
};
|
};
|
||||||
|
|
||||||
installPhase = ''
|
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 {
|
src = fetchFromGitHub {
|
||||||
owner = "FontManager";
|
owner = "FontManager";
|
||||||
repo = "master";
|
repo = "master";
|
||||||
rev = "cc057f3e93f5b1033b04decee03cdb44177e48b3";
|
rev = version;
|
||||||
sha256 = "1xg80bi2465p5r8zfmb34iga9yqs3is1k4f13hw0ligvhb58gas0";
|
sha256 = "16hma8rrkam6ngn5vbdaryn31vdixvii6920g9z928gylz9xkd3g";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
@ -38,10 +38,6 @@ stdenv.mkDerivation rec {
|
|||||||
gnome3.adwaita-icon-theme
|
gnome3.adwaita-icon-theme
|
||||||
];
|
];
|
||||||
|
|
||||||
patches = [
|
|
||||||
./correct-post-install.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
mesonFlags = [
|
mesonFlags = [
|
||||||
"-Ddisable_pycompile=true"
|
"-Ddisable_pycompile=true"
|
||||||
];
|
];
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
{ stdenv, fetchzip }:
|
{ stdenv, fetchFromGitHub }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "kanboard-${version}";
|
name = "kanboard-${version}";
|
||||||
version = "1.0.48";
|
version = "1.2.9";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchFromGitHub {
|
||||||
url = "https://github.com/kanboard/kanboard/releases/download/v${version}/${name}.zip";
|
owner = "kanboard";
|
||||||
sha256 = "0ipyijlfcnfqlz9n20wcnaf9pw404a675x404pm9h2n4ld8x6m5v";
|
repo = "kanboard";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "1hdr95cpxgdzrzhffs63gdl0g7122ma2zg8bkqwp42p5xphx0xan";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontBuild = true;
|
dontBuild = true;
|
||||||
|
@ -20,12 +20,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "kdeconnect";
|
pname = "kdeconnect";
|
||||||
version = "1.3.3";
|
version = "1.3.4";
|
||||||
name = "${pname}-${version}";
|
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://kde/stable/${pname}/${version}/src/${pname}-kde-${version}.tar.xz";
|
url = "mirror://kde/stable/${pname}/${version}/${pname}-kde-${version}.tar.xz";
|
||||||
sha256 = "1vac0mw1myrswr61adv7lgif0c4wzw5wnsj0sqxj6msp4l4pfgsg";
|
sha256 = "12ijvp86wm6k81dggypxh3c0dmwg5mczxy43ra8rgv63aavmf42h";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
{ fetchurl
|
{ fetchurl
|
||||||
, stdenv
|
, stdenv
|
||||||
|
, substituteAll
|
||||||
, aspellWithDicts
|
, aspellWithDicts
|
||||||
, at-spi2-core ? null
|
, at-spi2-core ? null
|
||||||
, atspiSupport ? true
|
, atspiSupport ? true
|
||||||
@ -16,6 +17,7 @@
|
|||||||
, intltool
|
, intltool
|
||||||
, isocodes
|
, isocodes
|
||||||
, libcanberra-gtk3
|
, libcanberra-gtk3
|
||||||
|
, mousetweaks
|
||||||
, udev
|
, udev
|
||||||
, libxkbcommon
|
, libxkbcommon
|
||||||
, pkgconfig
|
, pkgconfig
|
||||||
@ -38,6 +40,10 @@ in python3.pkgs.buildPythonApplication rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
(substituteAll {
|
||||||
|
src = ./fix-paths.patch;
|
||||||
|
inherit mousetweaks;
|
||||||
|
})
|
||||||
# Allow loading hunspell dictionaries installed in NixOS system path
|
# Allow loading hunspell dictionaries installed in NixOS system path
|
||||||
./hunspell-use-xdg-datadirs.patch
|
./hunspell-use-xdg-datadirs.patch
|
||||||
];
|
];
|
||||||
@ -79,6 +85,7 @@ in python3.pkgs.buildPythonApplication rec {
|
|||||||
hunspell
|
hunspell
|
||||||
isocodes
|
isocodes
|
||||||
libcanberra-gtk3
|
libcanberra-gtk3
|
||||||
|
mousetweaks
|
||||||
udev
|
udev
|
||||||
libxkbcommon
|
libxkbcommon
|
||||||
wrapGAppsHook
|
wrapGAppsHook
|
||||||
|
11
pkgs/applications/misc/onboard/fix-paths.patch
Normal file
11
pkgs/applications/misc/onboard/fix-paths.patch
Normal file
@ -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 {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "zola";
|
pname = "zola";
|
||||||
version = "0.6.0";
|
version = "0.7.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "getzola";
|
owner = "getzola";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "11y5gb6lx040ax4b16fr3whkj4vmv8hlkvb50h58gs77payglf6l";
|
sha256 = "02lr1n3gf0agj8x451ndyvv16lq7rccazp4nz9zy0pzwxwrlwhra";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "19hqkj27dbsy4pi0i8mjjlhi4351yifvc6zln6scc2nd60p251h6";
|
cargoSha256 = "003dhh41fh337k3djibpj6hyd16xprbgws3lbp7x37p4lx7qlnfy";
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake pkgconfig ];
|
nativeBuildInputs = [ cmake pkgconfig ];
|
||||||
buildInputs = [ openssl ] ++ stdenv.lib.optionals stdenv.isDarwin [ CoreServices cf-private ];
|
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
|
/* 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
|
running in development environment and try to serve assets from the
|
||||||
source tree, which is not there once build completes. */
|
source tree, which is not there once build completes. */
|
||||||
version = "0.7.13";
|
version = "0.8.1";
|
||||||
rev = "67cd823b2a07c7bb2bcb919c0963e8f23e22d57e";
|
rev = "9ce987dd0eeb66df993f8d232b57ff3e4d380dda";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "windmilleng";
|
owner = "windmilleng";
|
||||||
repo = "tilt";
|
repo = "tilt";
|
||||||
rev = "${rev}";
|
rev = "${rev}";
|
||||||
sha256 = "0cfmdd6wsczcmy6fkd418rvancx4qy1c3pzq9jbfsy4innhh51j7";
|
sha256 = "0ybzj2csmjc7zlkprcyy5cnh9dxgngcx3wd6n43kawi5db0lvjn4";
|
||||||
};
|
};
|
||||||
|
|
||||||
goPackagePath = "github.com/windmilleng/tilt";
|
goPackagePath = "github.com/windmilleng/tilt";
|
||||||
subPackages = [ "cmd/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; {
|
meta = with stdenv.lib; {
|
||||||
description = "Local development tool to manage your developer instance when your team deploys to Kubernetes in production";
|
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 ];
|
buildInputs = [ sphinx ];
|
||||||
|
|
||||||
|
checkInputs = [ procps ];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
matplotlib
|
matplotlib
|
||||||
procps
|
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,18 +1,19 @@
|
|||||||
{ stdenv, lib, fetchFromGitHub, qtbase, qtquickcontrols, cmake
|
{ stdenv, lib, fetchFromGitHub, cmake
|
||||||
, qttools, libqmatrixclient }:
|
, qtbase, qtquickcontrols, qtkeychain, qtmultimedia, qttools
|
||||||
|
, libqmatrixclient_0_4, libqmatrixclient_0_5 }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
let
|
||||||
|
generic = version: sha256: prefix: library: stdenv.mkDerivation rec {
|
||||||
name = "quaternion-${version}";
|
name = "quaternion-${version}";
|
||||||
version = "0.0.9.3";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "QMatrixClient";
|
owner = "QMatrixClient";
|
||||||
repo = "Quaternion";
|
repo = "Quaternion";
|
||||||
rev = "v${version}";
|
rev = "${prefix}${version}";
|
||||||
sha256 = "1hr9zqf301rg583n9jv256vzj7y57d8qgayk7c723bfknf1s6hh3";
|
inherit sha256;
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ qtbase qtquickcontrols qttools libqmatrixclient ];
|
buildInputs = [ qtbase qtmultimedia qtquickcontrols qtkeychain qttools library ];
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
||||||
@ -33,4 +34,9 @@ stdenv.mkDerivation rec {
|
|||||||
inherit (qtbase.meta) platforms;
|
inherit (qtbase.meta) platforms;
|
||||||
inherit version;
|
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 {
|
buildGoPackage rec {
|
||||||
name = "ipfs-${version}";
|
name = "ipfs-${version}";
|
||||||
version = "0.4.19";
|
version = "0.4.20";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
|
|
||||||
goPackagePath = "github.com/ipfs/go-ipfs";
|
goPackagePath = "github.com/ipfs/go-ipfs";
|
||||||
|
|
||||||
extraSrcPaths = [
|
goDeps = ./deps.nix;
|
||||||
(fetchgx {
|
|
||||||
inherit name src;
|
|
||||||
sha256 = "0bj2kzxjssp7szp1wr9pp08bsi55jgf0k7gi4h70phlib2q673j2";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ipfs";
|
owner = "ipfs";
|
||||||
repo = "go-ipfs";
|
repo = "go-ipfs";
|
||||||
inherit rev;
|
inherit rev;
|
||||||
sha256 = "061mgkawimhw3gq506h8m6kw50a2v26qysa5kc5jdqgaqx5yvqh4";
|
sha256 = "1xnjn4pcgknywfndrp2zwln3v1msaffhhfiym5mdz543rsxav0yp";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
2190
pkgs/applications/networking/ipfs/deps.nix
generated
Normal file
2190
pkgs/applications/networking/ipfs/deps.nix
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -9,12 +9,12 @@
|
|||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "kexi";
|
pname = "kexi";
|
||||||
version = "3.1.0";
|
version = "3.2.0";
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://kde/stable/${pname}/src/${name}.tar.xz";
|
url = "mirror://kde/stable/${pname}/src/${name}.tar.xz";
|
||||||
sha256 = "1ysj44qq75wglw4d080l3gfw47695gapf29scxhb1g3py55csmbd";
|
sha256 = "1zy1q7q9rfdaws3rwf3my22ywkn6g747s3ixfcg9r80mm2g3z0bs";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
|
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
|
||||||
@ -29,13 +29,6 @@ mkDerivation rec {
|
|||||||
|
|
||||||
propagatedUserEnvPkgs = [ kproperty ];
|
propagatedUserEnvPkgs = [ kproperty ];
|
||||||
|
|
||||||
patches = [
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://phabricator.kde.org/file/data/6iwzltiifyqwjnzbvyo6/PHID-FILE-li4a7j35wkdkm2qdtnp4/D11503.diff";
|
|
||||||
sha256 = "0yj717m4x1zb4xjy1ayhz78xkxpawxgsvjgvf5iw81jnlr8absq9";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A open source visual database applications creator, a long-awaited competitor for programs like MS Access or Filemaker";
|
description = "A open source visual database applications creator, a long-awaited competitor for programs like MS Access or Filemaker";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
|
@ -7,11 +7,11 @@
|
|||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
name = "skrooge-${version}";
|
name = "skrooge-${version}";
|
||||||
version = "2.18.0";
|
version = "2.19.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://download.kde.org/stable/skrooge/${name}.tar.xz";
|
url = "http://download.kde.org/stable/skrooge/${name}.tar.xz";
|
||||||
sha256 = "00zk152clnmq8rjjnrxmd7lfflf2pnzljaw73bjjsb6r6vkxywa6";
|
sha256 = "04pajy540vwff1y84ndrnscvlggiwfkr6w65g4hpa75cg7m169ya";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -9,11 +9,11 @@
|
|||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
name = "zim-${version}";
|
name = "zim-${version}";
|
||||||
version = "0.70";
|
version = "0.71.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://zim-wiki.org/downloads/${name}.tar.gz";
|
url = "http://zim-wiki.org/downloads/${name}.tar.gz";
|
||||||
sha256 = "1g1xj86iph1a2k4n9yykq0gipbd5jdd7fsh9qpv4v2h5lggadjdd";
|
sha256 = "0mr3911ls5zp3z776ysrdm3sg89zg29r3ip23msydcdbl8wymw30";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ gtk3 gobject-introspection wrapGAppsHook ];
|
buildInputs = [ gtk3 gobject-introspection wrapGAppsHook ];
|
||||||
|
29
pkgs/applications/radio/cubicsdr/default.nix
Normal file
29
pkgs/applications/radio/cubicsdr/default.nix
Normal file
@ -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;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
28
pkgs/applications/science/biology/aragorn/default.nix
Normal file
28
pkgs/applications/science/biology/aragorn/default.nix
Normal file
@ -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,
|
{ stdenv
|
||||||
buildPlatform, buildPackages, ghcWithPackages, fetchpatch }:
|
, lib
|
||||||
let
|
, fetchFromGitHub
|
||||||
options-patch =
|
, fetchpatch
|
||||||
fetchpatch {
|
, texinfo
|
||||||
url = https://github.com/cedille/cedille/commit/ee62b0fabde6c4f7299a3778868519255cc4a64f.patch;
|
, alex
|
||||||
name = "options.patch";
|
, happy
|
||||||
sha256 = "19xzn9sqpfnfqikqy1x9lb9mb6722kbgvrapl6cf8ckcw8cfj8cz";
|
, Agda
|
||||||
};
|
, buildPlatform
|
||||||
in
|
, buildPackages
|
||||||
|
, ghcWithPackages
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "1.0.0";
|
version = "1.1.1";
|
||||||
name = "cedille-${version}";
|
pname = "cedille";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "cedille";
|
owner = "cedille";
|
||||||
repo = "cedille";
|
repo = "cedille";
|
||||||
rev = "v${version}";
|
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";
|
LANG = "en_US.UTF-8";
|
||||||
LOCALE_ARCHIVE =
|
LOCALE_ARCHIVE =
|
||||||
lib.optionalString (buildPlatform.libc == "glibc")
|
lib.optionalString (buildPlatform.libc == "glibc")
|
||||||
"${buildPackages.glibcLocales}/lib/locale/locale-archive";
|
"${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 = ''
|
postPatch = ''
|
||||||
patchShebangs create-libraries.sh
|
patchShebangs create-libraries.sh
|
||||||
cp -r ${agdaIowaStdlib.src} ial
|
patchShebangs docs/src/compile-docs.sh
|
||||||
chmod -R 755 ial
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
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 = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin
|
install -Dm755 -t $out/bin/ cedille
|
||||||
mv cedille $out/bin/cedille
|
install -Dm755 -t $out/bin/ core/cedille-core
|
||||||
mv lib $lib
|
install -Dm644 -t $out/share/info docs/info/cedille-info-main.info
|
||||||
|
|
||||||
|
mkdir -p $out/lib/
|
||||||
|
cp -r lib/ $out/lib/cedille/
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = with stdenv.lib; {
|
||||||
description = "An interactive theorem-prover and dependently typed programming language, based on extrinsic (aka Curry-style) type theory.";
|
description = "An interactive theorem-prover and dependently typed programming language, based on extrinsic (aka Curry-style) type theory";
|
||||||
homepage = https://cedille.github.io/;
|
homepage = https://cedille.github.io/;
|
||||||
license = stdenv.lib.licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = [ stdenv.lib.maintainers.mpickering ];
|
maintainers = with maintainers; [ marsam mpickering ];
|
||||||
platforms = stdenv.lib.platforms.unix;
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,18 +1,18 @@
|
|||||||
{ stdenv, fetchurl, bzip2, gfortran, libX11, libXmu, libXt, libjpeg, libpng
|
{ stdenv, fetchurl, bzip2, gfortran, libX11, libXmu, libXt, libjpeg, libpng
|
||||||
, libtiff, ncurses, pango, pcre, perl, readline, tcl, texLive, tk, xz, zlib
|
, libtiff, ncurses, pango, pcre, perl, readline, tcl, texLive, tk, xz, zlib
|
||||||
, less, texinfo, graphviz, icu, pkgconfig, bison, imake, which, jdk, openblas
|
, 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
|
, withRecommendedPackages ? true
|
||||||
, enableStrictBarrier ? false
|
, enableStrictBarrier ? false
|
||||||
, javaSupport ? (!stdenv.hostPlatform.isAarch32 && !stdenv.hostPlatform.isAarch64)
|
, javaSupport ? (!stdenv.hostPlatform.isAarch32 && !stdenv.hostPlatform.isAarch64)
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "R-3.5.3";
|
name = "R-3.6.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://cran.r-project.org/src/base/R-3/${name}.tar.gz";
|
url = "https://cran.r-project.org/src/base/R-3/${name}.tar.gz";
|
||||||
sha256 = "1337irx9y0r3jm1rcq1dcwnxsgfhnvgjs5wadcyh17vhpnvkgyib";
|
sha256 = "02bmylmzrm9sdidirmwy233lghmd2346z725ca71ari68lzarz1n";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontUseImakeConfigure = true;
|
dontUseImakeConfigure = true;
|
||||||
@ -25,7 +25,13 @@ stdenv.mkDerivation rec {
|
|||||||
++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa Foundation libobjc libcxx ]
|
++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa Foundation libobjc libcxx ]
|
||||||
++ stdenv.lib.optional javaSupport jdk;
|
++ 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 ''
|
prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
|
||||||
substituteInPlace configure --replace "-install_name libR.dylib" "-install_name $out/lib/R/lib/libR.dylib"
|
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;
|
platforms = platforms.all;
|
||||||
hydraPlatforms = platforms.linux;
|
hydraPlatforms = platforms.linux;
|
||||||
|
|
||||||
maintainers = [ maintainers.peti ];
|
maintainers = with maintainers; [ peti timokau ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "geogebra-${version}";
|
name = "geogebra-${version}";
|
||||||
version = "5-0-472-0";
|
version = "5-0-535-0";
|
||||||
|
|
||||||
preferLocalBuild = true;
|
preferLocalBuild = true;
|
||||||
|
|
||||||
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
|||||||
"https://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2"
|
"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"
|
"http://web.archive.org/https://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2"
|
||||||
];
|
];
|
||||||
sha256 = "1f56k5r5wf2l27sgp2vjpvx7wl72gizwxs0a6hngk15nzzka87v9";
|
sha256 = "1mbjwa9isw390i0k1yh6r9wmh8zkczian0v25w2vxb2a8vv0hjk0";
|
||||||
};
|
};
|
||||||
|
|
||||||
srcIcon = fetchurl {
|
srcIcon = fetchurl {
|
||||||
|
@ -134,6 +134,13 @@ stdenv.mkDerivation rec {
|
|||||||
url = "https://git.sagemath.org/sage.git/patch?id=d3483110474591ea6cc8e3210cd884f3e0018b3e";
|
url = "https://git.sagemath.org/sage.git/patch?id=d3483110474591ea6cc8e3210cd884f3e0018b3e";
|
||||||
sha256 = "028i6h8l8npwzx5z0ax0rcywl85gc83qw1jf93zf523msdfcsk0n";
|
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;
|
patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches;
|
||||||
|
@ -12,13 +12,13 @@ with stdenv.lib;
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "mkvtoolnix";
|
pname = "mkvtoolnix";
|
||||||
version = "33.0.0";
|
version = "33.1.0";
|
||||||
|
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
owner = "mbunkus";
|
owner = "mbunkus";
|
||||||
repo = "mkvtoolnix";
|
repo = "mkvtoolnix";
|
||||||
rev = "release-${version}";
|
rev = "release-${version}";
|
||||||
sha256 = "0bphwjjpcj86phcx795wdy5b0ivwh5mvbvi5288pql88x6x0jjk9";
|
sha256 = "130hh6m7cv2x9jv51qclnfg3dldxhfzhzhf6sqibfhynaj65m09i";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -200,14 +200,14 @@ rec {
|
|||||||
# Get revisions from
|
# Get revisions from
|
||||||
# https://github.com/docker/docker-ce/tree/v${version}/components/engine/hack/dockerfile/install/*
|
# https://github.com/docker/docker-ce/tree/v${version}/components/engine/hack/dockerfile/install/*
|
||||||
|
|
||||||
docker_18_09 = dockerGen rec {
|
docker_18_09 = makeOverridable dockerGen {
|
||||||
version = "18.09.2";
|
version = "18.09.5";
|
||||||
rev = "62479626f213818ba5b4565105a05277308587d5"; # git commit
|
rev = "e8ff056dbcfadaeca12a5f508b0cec281126c01d";
|
||||||
sha256 = "05kvpy1c4g661xfds6dfzb8r5q76ndblxjykfj06had18pv0xxd4";
|
sha256 = "16nd9vg2286m6v47fjq2zicmfvi8vwiwn24yylxia8b9mk417kdb";
|
||||||
runcRev = "09c8266bf2fcf9519a651b04ae54c967b9ab86ec";
|
runcRev = "2b18fe1d885ee5083ef9f0838fee39b62d653e30";
|
||||||
runcSha256 = "08h45vs1f25byapqzy6x42r86m232z166v6z81gc2a3id8v0nzia";
|
runcSha256 = "0g0d9mh5fcvsjgddiyw98ph5zpz5ivlwy89m45jxwbzkxb21gy7w";
|
||||||
containerdRev = "9754871865f7fe2f4e74d43e2fc7ccd237edcbce";
|
containerdRev = "bb71b10fd8f58240ca47fbb579b9d1028eea7c84";
|
||||||
containerdSha256 = "065snv0s3v3z0ghadlii4w78qnhchcbx2kfdrvm8fk8gb4pkx1ya";
|
containerdSha256 = "0npbzixf3c0jvzm159vygvkydrr8h36c9sq50yv0mdinrys2bvg0";
|
||||||
tiniRev = "fec3683b971d9c3ef73f284f176672c44b448662";
|
tiniRev = "fec3683b971d9c3ef73f284f176672c44b448662";
|
||||||
tiniSha256 = "1h20i3wwlbd8x4jr2gz68hgklh0lb0jj7y5xk1wvr8y58fip1rdn";
|
tiniSha256 = "1h20i3wwlbd8x4jr2gz68hgklh0lb0jj7y5xk1wvr8y58fip1rdn";
|
||||||
};
|
};
|
||||||
|
@ -47,9 +47,10 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "08frr1fdjx8qcfh3fafn10kibdwbvkqqvfl7hpqbm7i9dg4f1zlq";
|
sha256 = "08frr1fdjx8qcfh3fafn10kibdwbvkqqvfl7hpqbm7i9dg4f1zlq";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ python2 pkgconfig flex bison ];
|
||||||
buildInputs =
|
buildInputs =
|
||||||
[ python2 zlib pkgconfig glib ncurses perl pixman
|
[ zlib glib ncurses perl pixman
|
||||||
vde2 texinfo flex bison makeWrapper lzo snappy
|
vde2 texinfo makeWrapper lzo snappy
|
||||||
gnutls nettle curl
|
gnutls nettle curl
|
||||||
]
|
]
|
||||||
++ optionals stdenv.isDarwin [ CoreServices Cocoa Hypervisor rez setfile ]
|
++ optionals stdenv.isDarwin [ CoreServices Cocoa Hypervisor rez setfile ]
|
||||||
|
@ -42,17 +42,17 @@ with luaPackages; stdenv.mkDerivation rec {
|
|||||||
cmakeFlags = "-DOVERRIDE_VERSION=${version}";
|
cmakeFlags = "-DOVERRIDE_VERSION=${version}";
|
||||||
|
|
||||||
GI_TYPELIB_PATH = "${pango.out}/lib/girepository-1.0";
|
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_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 = ''
|
postInstall = ''
|
||||||
wrapProgram $out/bin/awesome \
|
wrapProgram $out/bin/awesome \
|
||||||
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
|
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
|
||||||
--add-flags '--search ${lgi}/lib/lua/${lua.luaversion}' \
|
--add-flags '--search ${lgi}/lib/lua/${lua.luaversion}' \
|
||||||
--add-flags '--search ${lgi}/share/lua/${lua.luaversion}' \
|
--add-flags '--search ${lgi}/share/lua/${lua.luaversion}' \
|
||||||
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
|
--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"
|
|
||||||
|
|
||||||
wrapProgram $out/bin/awesome-client \
|
wrapProgram $out/bin/awesome-client \
|
||||||
--prefix PATH : "${which}/bin"
|
--prefix PATH : "${which}/bin"
|
||||||
|
@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0r583nmqvq43ib93yv6flw8pj833v32lbs0q0xld56s3rnzvvdcp";
|
sha256 = "0r583nmqvq43ib93yv6flw8pj833v32lbs0q0xld56s3rnzvvdcp";
|
||||||
})
|
})
|
||||||
./sway-config-no-nix-store-references.patch
|
./sway-config-no-nix-store-references.patch
|
||||||
|
./load-configuration-from-etc.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig meson ninja scdoc ];
|
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))));
|
} // (removeAttrs args (builtins.attrNames (builtins.functionArgs wrapAppImage))));
|
||||||
|
|
||||||
wrapType1 = args@{ name, src, extraPkgs ? pkgs: [], ... }: wrapAppImage (args // {
|
wrapType1 = args@{ name, src, extraPkgs ? pkgs: [], ... }: wrapAppImage (args // {
|
||||||
|
inherit name extraPkgs;
|
||||||
src = extractType1 { inherit name src; };
|
src = extractType1 { inherit name src; };
|
||||||
});
|
});
|
||||||
|
|
||||||
wrapType2 = args@{ name, src, extraPkgs ? pkgs: [], ... }: wrapAppImage (args // {
|
wrapType2 = args@{ name, src, extraPkgs ? pkgs: [], ... }: wrapAppImage (args // {
|
||||||
|
inherit name extraPkgs;
|
||||||
src = extractType2 { inherit name src; };
|
src = extractType2 { inherit name src; };
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{ stdenv, fetchzip }:
|
{ stdenv, fetchzip }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "2.2.0";
|
version = "2.2.1";
|
||||||
in fetchzip rec {
|
in fetchzip rec {
|
||||||
name = "iosevka-bin-${version}";
|
name = "iosevka-bin-${version}";
|
||||||
|
|
||||||
@ -12,7 +12,7 @@ in fetchzip rec {
|
|||||||
unzip -j $downloadedFile \*.ttc -d $out/share/fonts/iosevka
|
unzip -j $downloadedFile \*.ttc -d $out/share/fonts/iosevka
|
||||||
'';
|
'';
|
||||||
|
|
||||||
sha256 = "038jpax2kgpknqzlg4iip4213f5lbs99iixsxccxy1bg4w7liqsa";
|
sha256 = "0d5ys9k8adj9v1hpwbmjqshzpjlnyj81xwp0328vc5q8pvjcfly6";
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = https://be5invis.github.io/Iosevka/;
|
homepage = https://be5invis.github.io/Iosevka/;
|
||||||
|
26
pkgs/data/fonts/nahid-fonts/default.nix
Normal file
26
pkgs/data/fonts/nahid-fonts/default.nix
Normal file
@ -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 {
|
stdenv.mkDerivation rec {
|
||||||
name = "efl-${version}";
|
name = "efl-${version}";
|
||||||
version = "1.21.1";
|
version = "1.22.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://download.enlightenment.org/rel/libs/efl/${name}.tar.xz";
|
url = "http://download.enlightenment.org/rel/libs/efl/${name}.tar.xz";
|
||||||
sha256 = "0a5907h896pvpix7a6idc2fspzy6d78xrzf84k8y9fyvnd14nxs4";
|
sha256 = "04mfjvaxi36b7r6kn4n0nq2gj97cbldk9iqnr5pf8jnm8plyblr0";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig gtk3 ];
|
nativeBuildInputs = [ pkgconfig gtk3 ];
|
||||||
@ -29,9 +29,6 @@ stdenv.mkDerivation rec {
|
|||||||
harfbuzz jbig2dec librsvg dbus alsaLib poppler ghostscript libraw libspectre xineLib libwebp curl libdrm
|
harfbuzz jbig2dec librsvg dbus alsaLib poppler ghostscript libraw libspectre xineLib libwebp curl libdrm
|
||||||
libinput utillinux fribidi SDL2 ];
|
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++
|
# ac_ct_CXX must be set to random value, because then it skips some magic which does alternative searching for g++
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--enable-sdl"
|
"--enable-sdl"
|
||||||
@ -54,6 +51,10 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
patches = [ ./efl-elua.patch ];
|
patches = [ ./efl-elua.patch ];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
patchShebangs src/lib/elementary/config_embed
|
||||||
|
'';
|
||||||
|
|
||||||
# bin/edje_cc creates $HOME/.run, which would break build of reverse dependencies.
|
# bin/edje_cc creates $HOME/.run, which would break build of reverse dependencies.
|
||||||
setupHook = writeText "setupHook.sh" ''
|
setupHook = writeText "setupHook.sh" ''
|
||||||
export HOME="$TEMPDIR"
|
export HOME="$TEMPDIR"
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
, libgnomekbd
|
, libgnomekbd
|
||||||
, lcms2
|
, lcms2
|
||||||
, libpulseaudio
|
, libpulseaudio
|
||||||
|
, mousetweaks
|
||||||
, alsaLib
|
, alsaLib
|
||||||
, libcanberra-gtk3
|
, libcanberra-gtk3
|
||||||
, upower
|
, upower
|
||||||
@ -48,7 +49,7 @@ stdenv.mkDerivation rec {
|
|||||||
patches = [
|
patches = [
|
||||||
(substituteAll {
|
(substituteAll {
|
||||||
src = ./fix-paths.patch;
|
src = ./fix-paths.patch;
|
||||||
inherit tzdata;
|
inherit tzdata mousetweaks;
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -13,3 +13,14 @@
|
|||||||
|
|
||||||
typedef struct _TzDB TzDB;
|
typedef struct _TzDB TzDB;
|
||||||
typedef struct _TzLocation TzLocation;
|
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
|
{ 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
|
, gsettings-desktop-schemas, gnome-desktop, wrapGAppsHook
|
||||||
, libtool, makeWrapper, xkeyboard_config, libxkbfile, libxkbcommon, libXtst, libinput
|
, libtool, makeWrapper, xkeyboard_config, libxkbfile, libxkbcommon, libXtst, libinput
|
||||||
, geocode-glib, libgudev, libwacom, xwayland, autoreconfHook }:
|
, geocode-glib, libgudev, libwacom, xwayland, autoreconfHook }:
|
||||||
@ -21,6 +21,33 @@ stdenv.mkDerivation rec {
|
|||||||
src = ./fix-paths-328.patch;
|
src = ./fix-paths-328.patch;
|
||||||
inherit zenity;
|
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 = [
|
configureFlags = [
|
||||||
|
@ -1,20 +1,17 @@
|
|||||||
{ stdenv, lib, fetchFromGitHub, cmake }:
|
{ stdenv, lib, fetchFromGitHub, cmake }:
|
||||||
|
|
||||||
let
|
|
||||||
version = "1.8.1";
|
|
||||||
in
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "libobjc2-${version}";
|
pname = "libobjc2";
|
||||||
|
version = "1.9";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "gnustep";
|
owner = "gnustep";
|
||||||
repo = "libobjc2";
|
repo = "libobjc2";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "12v9pjg97h56mb114cqd22q1pdwhmxrgdw5hal74ddlrhiq1nzvi";
|
sha256 = "00pscl3ly3rv6alf9vk70kxnnxq2rfgpc1ylcv6cgjs9jxdnrqmn";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
||||||
cmakeFlags = [ "-DCMAKE_INSTALL_LIBDIR=lib" ];
|
cmakeFlags = [ "-DCMAKE_INSTALL_LIBDIR=lib" ];
|
||||||
|
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "marco-${version}";
|
name = "marco-${version}";
|
||||||
version = "1.22.0";
|
version = "1.22.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
|
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
|
||||||
sha256 = "1i1pi1z9mrb6564mxcwb93jqpdppfv58c2viwmicsixis62hv5wx";
|
sha256 = "1j7pvq8ndyl2x8jmh95sj69cnf0q9qsjn7lkr3jz6hk103mga82f";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -5,11 +5,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "mate-session-manager-${version}";
|
name = "mate-session-manager-${version}";
|
||||||
version = "1.22.0";
|
version = "1.22.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
|
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
|
||||||
sha256 = "1kpfmgay01gm74paaxccs3lim4jfb4hsm7i85jfdypr51985pwyj";
|
sha256 = "1ix8picxgc28m5zd0ww3zvzw6rz38wvzsrbqw28hghrfg926h6ig";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "mate-system-monitor-${version}";
|
name = "mate-system-monitor-${version}";
|
||||||
version = "1.22.0";
|
version = "1.22.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
|
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
|
||||||
sha256 = "0rs0n5ivmvi355fp3ymcp1jj2sz9viw31475aw7zh7s1l7dn969x";
|
sha256 = "0yh1sh5snd7ivchh6l9rbn1s7ia4j5ihhzhqkyjnhr8ln59dvcbm";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
, libxml2
|
, libxml2
|
||||||
, libxslt
|
, libxslt
|
||||||
, meson
|
, meson
|
||||||
|
, mousetweaks
|
||||||
, networkmanager
|
, networkmanager
|
||||||
, ninja
|
, ninja
|
||||||
, nss
|
, nss
|
||||||
@ -30,12 +31,12 @@
|
|||||||
, pkgconfig
|
, pkgconfig
|
||||||
, polkit
|
, polkit
|
||||||
, python3
|
, python3
|
||||||
|
, stdenv
|
||||||
, substituteAll
|
, substituteAll
|
||||||
, systemd
|
, systemd
|
||||||
, tzdata
|
, tzdata
|
||||||
, upower
|
, upower
|
||||||
, wrapGAppsHook
|
, wrapGAppsHook
|
||||||
, stdenv
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
@ -63,7 +64,7 @@ stdenv.mkDerivation rec {
|
|||||||
patches = let patchPath = "${src2}/debian/patches"; in [
|
patches = let patchPath = "${src2}/debian/patches"; in [
|
||||||
(substituteAll {
|
(substituteAll {
|
||||||
src = ./fix-paths.patch;
|
src = ./fix-paths.patch;
|
||||||
inherit tzdata;
|
inherit tzdata mousetweaks;
|
||||||
})
|
})
|
||||||
"${patchPath}/45_suppress-printer-may-not-be-connected-notification.patch"
|
"${patchPath}/45_suppress-printer-may-not-be-connected-notification.patch"
|
||||||
"${patchPath}/64_restore_terminal_keyboard_shortcut_schema.patch"
|
"${patchPath}/64_restore_terminal_keyboard_shortcut_schema.patch"
|
||||||
|
@ -13,3 +13,14 @@
|
|||||||
|
|
||||||
typedef struct _TzDB TzDB;
|
typedef struct _TzDB TzDB;
|
||||||
typedef struct _TzLocation TzLocation;
|
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-qt5 = callPackage ./breeze-qt5.nix {};
|
||||||
breeze-grub = callPackage ./breeze-grub.nix {};
|
breeze-grub = callPackage ./breeze-grub.nix {};
|
||||||
breeze-plymouth = callPackage ./breeze-plymouth {};
|
breeze-plymouth = callPackage ./breeze-plymouth {};
|
||||||
|
discover = callPackage ./discover.nix {};
|
||||||
kactivitymanagerd = callPackage ./kactivitymanagerd.nix {};
|
kactivitymanagerd = callPackage ./kactivitymanagerd.nix {};
|
||||||
kde-cli-tools = callPackage ./kde-cli-tools.nix {};
|
kde-cli-tools = callPackage ./kde-cli-tools.nix {};
|
||||||
kde-gtk-config = callPackage ./kde-gtk-config { inherit gsettings-desktop-schemas; };
|
kde-gtk-config = callPackage ./kde-gtk-config { inherit gsettings-desktop-schemas; };
|
||||||
|
20
pkgs/desktops/plasma-5/discover.nix
Normal file
20
pkgs/desktops/plasma-5/discover.nix
Normal file
@ -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": {
|
"hotspot": {
|
||||||
"aarch64": {
|
"aarch64": {
|
||||||
"build": "7",
|
"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",
|
"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"
|
"version": "11.0.3"
|
||||||
},
|
},
|
||||||
@ -33,7 +33,7 @@
|
|||||||
"hotspot": {
|
"hotspot": {
|
||||||
"aarch64": {
|
"aarch64": {
|
||||||
"build": "7",
|
"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",
|
"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"
|
"version": "11.0.3"
|
||||||
},
|
},
|
||||||
|
@ -84,12 +84,12 @@ let
|
|||||||
|
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation (rec {
|
stdenv.mkDerivation (rec {
|
||||||
version = "8.6.4.20190406";
|
version = "8.6.5";
|
||||||
name = "${targetPrefix}ghc-${version}";
|
name = "${targetPrefix}ghc-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://downloads.haskell.org/~ghc/8.6.5-rc1/ghc-${version}-src.tar.xz";
|
url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.xz";
|
||||||
sha256 = "1zschidlaj80fl9flnlfhvlvy75cks3hz31cfxyyz935m3xyayxv";
|
sha256 = "0qg3zsmbk4rkwkc3jpas3zs74qaxmw4sp4v1mhsbj0a0dzls2jjd";
|
||||||
};
|
};
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
@ -228,7 +228,7 @@ stdenv.mkDerivation (rec {
|
|||||||
inherit enableShared;
|
inherit enableShared;
|
||||||
|
|
||||||
# Our Cabal compiler name
|
# Our Cabal compiler name
|
||||||
haskellCompilerName = "ghc-8.6.4.20190406";
|
haskellCompilerName = "ghc-${version}";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
230
pkgs/development/compilers/ghc/8.8.1.nix
Normal file
230
pkgs/development/compilers/ghc/8.8.1.nix
Normal file
@ -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
|
{ stdenv, lib, fetchurl, file, glib, libxml2, libav_0_8, ffmpeg, libxslt
|
||||||
, libGL , xorg, alsaLib, fontconfig, freetype, pango, gtk2, cairo
|
, 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: Investigate building from source instead of patching binaries.
|
||||||
# TODO: Binary patching for not just x86_64-linux but also x86_64-darwin i686-linux
|
# TODO: Binary patching for not just x86_64-linux but also x86_64-darwin i686-linux
|
||||||
|
|
||||||
let drv = stdenv.mkDerivation rec {
|
let drv = stdenv.mkDerivation rec {
|
||||||
pname = "jetbrainsjdk";
|
pname = "jetbrainsjdk";
|
||||||
version = "202b1483.37";
|
version = "164";
|
||||||
name = pname + "-" + version;
|
name = pname + "-" + version;
|
||||||
|
|
||||||
src = if stdenv.hostPlatform.system == "x86_64-linux" then
|
src = if stdenv.hostPlatform.system == "x86_64-linux" then
|
||||||
fetchurl {
|
fetchurl {
|
||||||
url = "https://bintray.com/jetbrains/intellij-jdk/download_file?file_path=jbrsdk8u${version}_linux_x64.tar.gz";
|
url = "https://bintray.com/jetbrains/intellij-jdk/download_file?file_path=jbrsdk-11_0_2-linux-x64-b${version}.tar.gz";
|
||||||
sha256 = "12l81g8zhaymh4rzyfl9nyzmpkgzc7wrphm3j4plxx129yn9i7d7";
|
sha256 = "121yzgvkfx7lq0k9s8wjnhz09a564br5y7zlkxgh191sbm2i7zdi";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
throw "unsupported system: ${stdenv.hostPlatform.system}";
|
throw "unsupported system: ${stdenv.hostPlatform.system}";
|
||||||
@ -29,16 +29,7 @@ let drv = stdenv.mkDerivation rec {
|
|||||||
jrePath=$out/jre
|
jrePath=$out/jre
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postFixup = let
|
postFixup = ''
|
||||||
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)}"
|
|
||||||
find $out -type f -perm -0100 \
|
find $out -type f -perm -0100 \
|
||||||
-exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
-exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||||
--set-rpath "$rpath" {} \;
|
--set-rpath "$rpath" {} \;
|
||||||
@ -47,10 +38,11 @@ let drv = stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
rpath = lib.makeLibraryPath ([
|
rpath = lib.makeLibraryPath ([
|
||||||
stdenv.cc.cc stdenv.cc.libc glib libxml2 libav_0_8 ffmpeg libxslt libGL
|
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; [
|
] ++ (with xorg; [
|
||||||
libX11 libXext libXtst libXi libXp libXt libXrender libXxf86vm
|
libX11 libXext libXtst libXi libXp libXt libXrender libXxf86vm
|
||||||
]));
|
])) + ":${placeholder "out"}/lib/jli";
|
||||||
|
|
||||||
passthru.home = drv;
|
passthru.home = drv;
|
||||||
|
|
||||||
|
@ -95,6 +95,9 @@ let
|
|||||||
./swing-use-gtk-jdk8.patch
|
./swing-use-gtk-jdk8.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# Hotspot cares about the host(!) version otherwise
|
||||||
|
DISABLE_HOTSPOT_OS_VERSION_CHECK = "ok";
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
chmod +x configure
|
chmod +x configure
|
||||||
substituteInPlace configure --replace /bin/bash "${bash}/bin/bash"
|
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;
|
# jce download url: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html;
|
||||||
import ./jdk-linux-base.nix {
|
import ./jdk-linux-base.nix {
|
||||||
productVersion = "8";
|
productVersion = "8";
|
||||||
patchVersion = "201";
|
patchVersion = "211";
|
||||||
buildVersion = "09";
|
buildVersion = "12";
|
||||||
sha256.i686-linux = "1f9n93zmkggchaxkchp4bqasvxznn96zjci34f52h7v392jkzqac";
|
sha256.i686-linux = "0mdrljs0rw9s4pvaa3sn791nqgdrp8749z3qn80y7hhad74kvsnp";
|
||||||
sha256.x86_64-linux = "0w730v2q0iaxf2lprabwmy7129byrs0hhdbwas575p1xmk00qw6b";
|
sha256.x86_64-linux = "13b6qk4sn8jdhxa22na9d2aazm4yjh6yxrlxr189gxy3619y9dy0";
|
||||||
sha256.armv7l-linux = "0y6bvq93lsf21v6ca536dpfhkk5ljsj7c6di0qzkban37bivj0si";
|
sha256.armv7l-linux = "1ij1x925k7lyp5f98gy8r0xfr41qhczf2rb74plwwmrccc1k00p5";
|
||||||
sha256.aarch64-linux = "1bybysgg9llqzllsmdszmmb73v5az2l1shxn6lxwv3wwiazpf47q";
|
sha256.aarch64-linux = "041r615qj9qy34a9gxm8968qlmf060ba2as5w97v86mbik4rca05";
|
||||||
releaseToken = "42970487e3af4f5aa5bca3f542482c60";
|
releaseToken = "478a62b7d4e34b78b671c754eaaf38ab";
|
||||||
jceName = "jce_policy-8.zip";
|
jceName = "jce_policy-8.zip";
|
||||||
sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk";
|
sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk";
|
||||||
}
|
}
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
# jce download url: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html;
|
# jce download url: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html;
|
||||||
import ./jdk-linux-base.nix {
|
import ./jdk-linux-base.nix {
|
||||||
productVersion = "8";
|
productVersion = "8";
|
||||||
patchVersion = "202";
|
patchVersion = "212";
|
||||||
buildVersion = "09";
|
buildVersion = "10";
|
||||||
sha256.i686-linux = "19np392dwdqdq39lmm10607w2h042lrm5953fnsfh1bb9jli1pgj";
|
sha256.i686-linux = "03dj9q0bi3ib731f4zl9hylkrgw417h6qlg2wi7nw71b0fqhijn1";
|
||||||
sha256.x86_64-linux = "1q4l8pymjvsvxfwaw0rdcnhryh1la2bvg5f4d4my41ka390k4p4s";
|
sha256.x86_64-linux = "1yzddxzfh6h14bpzis1abp52x4jjljg8a3zyqz483q6qm05caq1i";
|
||||||
sha256.armv7l-linux = "06aljl7dqmmhmp7xswgvkcgh9mam71wnqydg9yb3hkcc443cm581";
|
sha256.armv7l-linux = "0x333alkqdx8mmiirair7g5iiwif5v9ka4j3qr0f42ilvmk8csnx";
|
||||||
sha256.aarch64-linux = "12v9ndv7a2c9zqq6ai2vsgwad0lzmf4c6jxy4p9miapmhjzx5vii";
|
sha256.aarch64-linux = "0vcbdvcsl8rm47i07s93jmrrs5laibf937d8vacjqqgh9bbhsr2c";
|
||||||
releaseToken = "42970487e3af4f5aa5bca3f542482c60";
|
releaseToken = "59066701cf1a433da9770636fbc4c9aa";
|
||||||
jceName = "jce_policy-8.zip";
|
jceName = "jce_policy-8.zip";
|
||||||
sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk";
|
sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk";
|
||||||
}
|
}
|
||||||
|
@ -3,9 +3,9 @@
|
|||||||
let
|
let
|
||||||
options = rec {
|
options = rec {
|
||||||
x86_64-darwin = rec {
|
x86_64-darwin = rec {
|
||||||
version = "1.1.8";
|
version = "1.2.11";
|
||||||
system = "x86-64-darwin";
|
system = "x86-64-darwin";
|
||||||
sha256 = "006pr88053wclvbjfjdypnbiw8wymbzdzi7a6kbkpdfn4zf5943j";
|
sha256 = "0lh4gpvi8hl6g6b9321g5pwh8sk3218i7h4lx7p3vd9z0cf3lz85";
|
||||||
};
|
};
|
||||||
x86_64-linux = rec {
|
x86_64-linux = rec {
|
||||||
version = "1.3.16";
|
version = "1.3.16";
|
||||||
|
@ -10,11 +10,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "sbcl-${version}";
|
name = "sbcl-${version}";
|
||||||
version = "1.5.0";
|
version = "1.5.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
|
url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
|
||||||
sha256 = "1a4c84b6qqi4w4l1zzhnhnywk73j3wb0gjgghzcw0h5syqbqzy8z";
|
sha256 = "08z62qba0kmm15k93s2rq7ipi769895g8iwigcp20qjh6amwnwph";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [texinfo];
|
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
|
, libXinerama, libarchive, db, pcre, libedit, libossp_uuid, libXft, libXpm
|
||||||
, libSM, libXt, freetype, pkgconfig, fontconfig, makeWrapper ? stdenv.isDarwin
|
, libSM, libXt, freetype, pkgconfig, fontconfig, makeWrapper ? stdenv.isDarwin
|
||||||
|
, git, cacert, cmake, libyaml
|
||||||
|
, extraLibraries ? [ jdk unixODBC libXpm libSM libXt freetype fontconfig ]
|
||||||
|
, extraPacks ? []
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
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
|
in
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "swi-prolog-${version}";
|
name = "swi-prolog-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchgit {
|
||||||
url = "http://www.swi-prolog.org/download/stable/src/swipl-${version}.tar.gz";
|
url = "https://github.com/SWI-Prolog/swipl-devel";
|
||||||
sha256 = "14bq4sqs61maqpnmgy6687jjj0shwc27cpfsqbf056nrssmplg9d";
|
rev = "V${version}";
|
||||||
|
sha256 = "0qxa6f5dypwczxajlf0l736adbjb17cbak3qsh5g04hpv2bxm6dh";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ jdk gmp readline openssl libjpeg unixODBC libXinerama
|
buildInputs = [ cacert git cmake gmp readline openssl
|
||||||
libarchive db pcre libedit libossp_uuid libXft libXpm libSM libXt
|
libarchive libyaml db pcre libedit libossp_uuid
|
||||||
zlib freetype pkgconfig fontconfig ]
|
zlib pkgconfig ]
|
||||||
|
++ extraLibraries
|
||||||
++ stdenv.lib.optional stdenv.isDarwin makeWrapper;
|
++ stdenv.lib.optional stdenv.isDarwin makeWrapper;
|
||||||
|
|
||||||
hardeningDisable = [ "format" ];
|
hardeningDisable = [ "format" ];
|
||||||
@ -27,7 +35,20 @@ stdenv.mkDerivation {
|
|||||||
"--enable-shared"
|
"--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
|
# For macOS: still not fixed in upstream: "abort trap 6" when called
|
||||||
# through symlink, so wrap binary.
|
# 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)
|
# Break out of pandoc >=2.0 && <2.7 (https://github.com/pbrisbin/yesod-markdown/pull/65)
|
||||||
yesod-markdown = doJailbreak super.yesod-markdown;
|
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
|
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
|
||||||
|
@ -4,8 +4,8 @@ with haskellLib;
|
|||||||
|
|
||||||
self: super: {
|
self: super: {
|
||||||
|
|
||||||
# This compiler version needs llvm 5.x.
|
# This compiler version needs llvm 6.x.
|
||||||
llvmPackages = pkgs.llvmPackages_5;
|
llvmPackages = pkgs.llvmPackages_6;
|
||||||
|
|
||||||
# Disable GHC 8.6.x core libraries.
|
# Disable GHC 8.6.x core libraries.
|
||||||
array = null;
|
array = null;
|
||||||
|
58
pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
Normal file
58
pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
Normal file
@ -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
|
# pkgs/development/haskell-modules/configuration-hackage2nix.yaml
|
||||||
|
|
||||||
compiler: ghc-8.6.4
|
compiler: ghc-8.6.5
|
||||||
|
|
||||||
core-packages:
|
core-packages:
|
||||||
- array-0.5.3.0
|
- array-0.5.3.0
|
||||||
@ -12,13 +12,13 @@ core-packages:
|
|||||||
- deepseq-1.4.4.0
|
- deepseq-1.4.4.0
|
||||||
- directory-1.3.3.0
|
- directory-1.3.3.0
|
||||||
- filepath-1.4.2.1
|
- filepath-1.4.2.1
|
||||||
- ghc-8.6.4
|
- ghc-8.6.5
|
||||||
- ghc-boot-8.6.4
|
- ghc-boot-8.6.5
|
||||||
- ghc-boot-th-8.6.4
|
- ghc-boot-th-8.6.5
|
||||||
- ghc-compact-0.1.0.0
|
- ghc-compact-0.1.0.0
|
||||||
- ghc-heap-8.6.4
|
- ghc-heap-8.6.5
|
||||||
- ghc-prim-0.5.3
|
- ghc-prim-0.5.3
|
||||||
- ghci-8.6.4
|
- ghci-8.6.5
|
||||||
- haskeline-0.7.4.3
|
- haskeline-0.7.4.3
|
||||||
- hpc-0.6.0.3
|
- hpc-0.6.0.3
|
||||||
- integer-gmp-1.0.2.0
|
- integer-gmp-1.0.2.0
|
||||||
@ -46,7 +46,7 @@ default-package-overrides:
|
|||||||
# Newer versions don't work in LTS-12.x
|
# Newer versions don't work in LTS-12.x
|
||||||
- alsa-mixer < 0.3
|
- alsa-mixer < 0.3
|
||||||
- cassava-megaparsec < 2
|
- cassava-megaparsec < 2
|
||||||
# LTS Haskell 13.18
|
# LTS Haskell 13.19
|
||||||
- abstract-deque ==0.3
|
- abstract-deque ==0.3
|
||||||
- abstract-deque-tests ==0.3
|
- abstract-deque-tests ==0.3
|
||||||
- abstract-par ==0.3.3
|
- abstract-par ==0.3.3
|
||||||
@ -179,7 +179,7 @@ default-package-overrides:
|
|||||||
- amazonka-waf ==1.6.1
|
- amazonka-waf ==1.6.1
|
||||||
- amazonka-workspaces ==1.6.1
|
- amazonka-workspaces ==1.6.1
|
||||||
- amazonka-xray ==1.6.1
|
- amazonka-xray ==1.6.1
|
||||||
- amqp ==0.18.1
|
- amqp ==0.18.2
|
||||||
- annotated-wl-pprint ==0.7.0
|
- annotated-wl-pprint ==0.7.0
|
||||||
- ansi-terminal ==0.8.2
|
- ansi-terminal ==0.8.2
|
||||||
- ansi-wl-pprint ==0.6.8.2
|
- ansi-wl-pprint ==0.6.8.2
|
||||||
@ -269,7 +269,7 @@ default-package-overrides:
|
|||||||
- bencode ==0.6.0.0
|
- bencode ==0.6.0.0
|
||||||
- between ==0.11.0.0
|
- between ==0.11.0.0
|
||||||
- bibtex ==0.1.0.6
|
- bibtex ==0.1.0.6
|
||||||
- bifunctors ==5.5.3
|
- bifunctors ==5.5.4
|
||||||
- bimap ==0.3.3
|
- bimap ==0.3.3
|
||||||
- bimap-server ==0.1.0.1
|
- bimap-server ==0.1.0.1
|
||||||
- binary-bits ==0.5
|
- binary-bits ==0.5
|
||||||
@ -316,7 +316,7 @@ default-package-overrides:
|
|||||||
- boolean-normal-forms ==0.0.1
|
- boolean-normal-forms ==0.0.1
|
||||||
- boolsimplifier ==0.1.8
|
- boolsimplifier ==0.1.8
|
||||||
- bordacount ==0.1.0.0
|
- bordacount ==0.1.0.0
|
||||||
- boring ==0.1
|
- boring ==0.1.1
|
||||||
- both ==0.1.1.0
|
- both ==0.1.1.0
|
||||||
- bound ==2.0.1
|
- bound ==2.0.1
|
||||||
- BoundedChan ==1.0.3.0
|
- BoundedChan ==1.0.3.0
|
||||||
@ -563,7 +563,7 @@ default-package-overrides:
|
|||||||
- DAV ==1.3.3
|
- DAV ==1.3.3
|
||||||
- dbcleaner ==0.1.3
|
- dbcleaner ==0.1.3
|
||||||
- DBFunctor ==0.1.1.1
|
- DBFunctor ==0.1.1.1
|
||||||
- dbus ==1.2.5
|
- dbus ==1.2.6
|
||||||
- debian-build ==0.10.1.2
|
- debian-build ==0.10.1.2
|
||||||
- debug ==0.1.1
|
- debug ==0.1.1
|
||||||
- debug-trace-var ==0.2.0
|
- debug-trace-var ==0.2.0
|
||||||
@ -579,7 +579,7 @@ default-package-overrides:
|
|||||||
- dependent-sum-template ==0.0.0.6
|
- dependent-sum-template ==0.0.0.6
|
||||||
- deque ==0.2.7
|
- deque ==0.2.7
|
||||||
- deriveJsonNoPrefix ==0.1.0.1
|
- deriveJsonNoPrefix ==0.1.0.1
|
||||||
- deriving-compat ==0.5.4
|
- deriving-compat ==0.5.5
|
||||||
- derulo ==1.0.5
|
- derulo ==1.0.5
|
||||||
- detour-via-sci ==1.0.0
|
- detour-via-sci ==1.0.0
|
||||||
- dhall ==1.19.1
|
- dhall ==1.19.1
|
||||||
@ -651,7 +651,7 @@ default-package-overrides:
|
|||||||
- ekg-statsd ==0.2.4.0
|
- ekg-statsd ==0.2.4.0
|
||||||
- elerea ==2.9.0
|
- elerea ==2.9.0
|
||||||
- elf ==0.29
|
- elf ==0.29
|
||||||
- eliminators ==0.5
|
- eliminators ==0.5.1
|
||||||
- elm2nix ==0.1.1
|
- elm2nix ==0.1.1
|
||||||
- elm-core-sources ==1.0.0
|
- elm-core-sources ==1.0.0
|
||||||
- elm-export ==0.6.0.1
|
- elm-export ==0.6.0.1
|
||||||
@ -698,7 +698,7 @@ default-package-overrides:
|
|||||||
- explicit-exception ==0.1.9.2
|
- explicit-exception ==0.1.9.2
|
||||||
- exp-pairs ==0.2.0.0
|
- exp-pairs ==0.2.0.0
|
||||||
- extensible-exceptions ==0.1.1.4
|
- extensible-exceptions ==0.1.1.4
|
||||||
- extra ==1.6.14
|
- extra ==1.6.15
|
||||||
- extractable-singleton ==0.0.1
|
- extractable-singleton ==0.0.1
|
||||||
- extrapolate ==0.3.3
|
- extrapolate ==0.3.3
|
||||||
- fail ==4.9.0.0
|
- fail ==4.9.0.0
|
||||||
@ -725,7 +725,7 @@ default-package-overrides:
|
|||||||
- fileplow ==0.1.0.0
|
- fileplow ==0.1.0.0
|
||||||
- filter-logger ==0.6.0.0
|
- filter-logger ==0.6.0.0
|
||||||
- filtrable ==0.1.1.0
|
- filtrable ==0.1.1.0
|
||||||
- fin ==0.0.1
|
- fin ==0.0.2
|
||||||
- FindBin ==0.0.5
|
- FindBin ==0.0.5
|
||||||
- fingertree ==0.1.4.2
|
- fingertree ==0.1.4.2
|
||||||
- finite-typelits ==0.1.4.2
|
- finite-typelits ==0.1.4.2
|
||||||
@ -788,7 +788,7 @@ default-package-overrides:
|
|||||||
- general-games ==1.1.1
|
- general-games ==1.1.1
|
||||||
- generic-arbitrary ==0.1.0
|
- generic-arbitrary ==0.1.0
|
||||||
- generic-data ==0.3.0.0
|
- generic-data ==0.3.0.0
|
||||||
- generic-deriving ==1.12.3
|
- generic-deriving ==1.12.4
|
||||||
- generic-lens ==1.1.0.0
|
- generic-lens ==1.1.0.0
|
||||||
- GenericPretty ==1.2.2
|
- GenericPretty ==1.2.2
|
||||||
- generic-random ==1.2.0.0
|
- generic-random ==1.2.0.0
|
||||||
@ -896,7 +896,7 @@ default-package-overrides:
|
|||||||
- HandsomeSoup ==0.4.2
|
- HandsomeSoup ==0.4.2
|
||||||
- hapistrano ==0.3.9.2
|
- hapistrano ==0.3.9.2
|
||||||
- happy ==1.19.9
|
- happy ==1.19.9
|
||||||
- hasbolt ==0.1.3.2
|
- hasbolt ==0.1.3.3
|
||||||
- hashable ==1.2.7.0
|
- hashable ==1.2.7.0
|
||||||
- hashable-time ==0.2.0.2
|
- hashable-time ==0.2.0.2
|
||||||
- hashids ==1.0.2.4
|
- hashids ==1.0.2.4
|
||||||
@ -918,9 +918,9 @@ default-package-overrides:
|
|||||||
- haskell-src-meta ==0.8.2
|
- haskell-src-meta ==0.8.2
|
||||||
- haskey-btree ==0.3.0.0
|
- haskey-btree ==0.3.0.0
|
||||||
- haskoin-core ==0.8.4
|
- haskoin-core ==0.8.4
|
||||||
- hasql ==1.3.0.3
|
- hasql ==1.3.0.5
|
||||||
- hasql-optparse-applicative ==0.3.0.3
|
- hasql-optparse-applicative ==0.3.0.3
|
||||||
- hasql-pool ==0.5.0.1
|
- hasql-pool ==0.5.0.2
|
||||||
- hasql-transaction ==0.7.1
|
- hasql-transaction ==0.7.1
|
||||||
- hasty-hamiltonian ==1.3.2
|
- hasty-hamiltonian ==1.3.2
|
||||||
- haxl ==2.0.1.1
|
- haxl ==2.0.1.1
|
||||||
@ -963,7 +963,7 @@ default-package-overrides:
|
|||||||
- hmatrix-gsl ==0.19.0.1
|
- hmatrix-gsl ==0.19.0.1
|
||||||
- hmatrix-gsl-stats ==0.4.1.7
|
- hmatrix-gsl-stats ==0.4.1.7
|
||||||
- hmatrix-morpheus ==0.1.1.2
|
- hmatrix-morpheus ==0.1.1.2
|
||||||
- hmatrix-vector-sized ==0.1.1.2
|
- hmatrix-vector-sized ==0.1.1.3
|
||||||
- hmpfr ==0.4.4
|
- hmpfr ==0.4.4
|
||||||
- hoauth2 ==1.8.4
|
- hoauth2 ==1.8.4
|
||||||
- Hoed ==0.5.1
|
- Hoed ==0.5.1
|
||||||
@ -1130,7 +1130,7 @@ default-package-overrides:
|
|||||||
- IntervalMap ==0.6.1.1
|
- IntervalMap ==0.6.1.1
|
||||||
- intervals ==0.8.1
|
- intervals ==0.8.1
|
||||||
- intset-imperative ==0.1.0.0
|
- intset-imperative ==0.1.0.0
|
||||||
- invariant ==0.5.1
|
- invariant ==0.5.2
|
||||||
- invertible ==0.2.0.5
|
- invertible ==0.2.0.5
|
||||||
- io-choice ==0.0.7
|
- io-choice ==0.0.7
|
||||||
- io-machine ==0.2.0.0
|
- io-machine ==0.2.0.0
|
||||||
@ -1212,7 +1212,7 @@ default-package-overrides:
|
|||||||
- leancheck ==0.8.0
|
- leancheck ==0.8.0
|
||||||
- leancheck-instances ==0.0.3
|
- leancheck-instances ==0.0.3
|
||||||
- leapseconds-announced ==2017.1.0.1
|
- leapseconds-announced ==2017.1.0.1
|
||||||
- lens ==4.17
|
- lens ==4.17.1
|
||||||
- lens-action ==0.2.3
|
- lens-action ==0.2.3
|
||||||
- lens-aeson ==1.0.2
|
- lens-aeson ==1.0.2
|
||||||
- lens-datetime ==0.3
|
- lens-datetime ==0.3
|
||||||
@ -1264,7 +1264,7 @@ default-package-overrides:
|
|||||||
- long-double ==0.1
|
- long-double ==0.1
|
||||||
- loop ==0.3.0
|
- loop ==0.3.0
|
||||||
- lrucaching ==0.3.3
|
- lrucaching ==0.3.3
|
||||||
- lsp-test ==0.5.1.1
|
- lsp-test ==0.5.1.2
|
||||||
- lucid ==2.9.11
|
- lucid ==2.9.11
|
||||||
- lucid-extras ==0.1.0.1
|
- lucid-extras ==0.1.0.1
|
||||||
- lxd-client-config ==0.1.0.1
|
- lxd-client-config ==0.1.0.1
|
||||||
@ -1414,7 +1414,7 @@ default-package-overrides:
|
|||||||
- netwire ==5.0.3
|
- netwire ==5.0.3
|
||||||
- netwire-input ==0.0.7
|
- netwire-input ==0.0.7
|
||||||
- netwire-input-glfw ==0.0.10
|
- netwire-input-glfw ==0.0.10
|
||||||
- network ==2.8.0.0
|
- network ==2.8.0.1
|
||||||
- network-anonymous-i2p ==0.10.0
|
- network-anonymous-i2p ==0.10.0
|
||||||
- network-anonymous-tor ==0.11.0
|
- network-anonymous-tor ==0.11.0
|
||||||
- network-attoparsec ==0.12.2
|
- network-attoparsec ==0.12.2
|
||||||
@ -1485,7 +1485,7 @@ default-package-overrides:
|
|||||||
- options ==1.2.1.1
|
- options ==1.2.1.1
|
||||||
- optparse-applicative ==0.14.3.0
|
- optparse-applicative ==0.14.3.0
|
||||||
- optparse-generic ==1.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
|
- optparse-text ==0.1.1.0
|
||||||
- overhang ==1.0.0
|
- overhang ==1.0.0
|
||||||
- packcheck ==0.4.1
|
- packcheck ==0.4.1
|
||||||
@ -1574,13 +1574,13 @@ default-package-overrides:
|
|||||||
- polynomials-bernstein ==1.1.2
|
- polynomials-bernstein ==1.1.2
|
||||||
- polyparse ==1.12.1
|
- polyparse ==1.12.1
|
||||||
- pooled-io ==0.0.2.2
|
- pooled-io ==0.0.2.2
|
||||||
- port-utils ==0.2.0.0
|
- port-utils ==0.2.1.0
|
||||||
- posix-paths ==0.2.1.6
|
- posix-paths ==0.2.1.6
|
||||||
- possibly ==1.0.0.0
|
- possibly ==1.0.0.0
|
||||||
- postgresql-binary ==0.12.1.2
|
- postgresql-binary ==0.12.1.2
|
||||||
- postgresql-libpq ==0.9.4.2
|
- postgresql-libpq ==0.9.4.2
|
||||||
- postgresql-schema ==0.1.14
|
- postgresql-schema ==0.1.14
|
||||||
- postgresql-simple ==0.6.1
|
- postgresql-simple ==0.6.2
|
||||||
- postgresql-simple-migration ==0.1.14.0
|
- postgresql-simple-migration ==0.1.14.0
|
||||||
- postgresql-simple-queue ==1.0.1
|
- postgresql-simple-queue ==1.0.1
|
||||||
- postgresql-simple-url ==0.2.1.0
|
- postgresql-simple-url ==0.2.1.0
|
||||||
@ -1650,6 +1650,7 @@ default-package-overrides:
|
|||||||
- QuickCheck ==2.12.6.1
|
- QuickCheck ==2.12.6.1
|
||||||
- quickcheck-arbitrary-adt ==0.3.1.0
|
- quickcheck-arbitrary-adt ==0.3.1.0
|
||||||
- quickcheck-assertions ==0.3.0
|
- quickcheck-assertions ==0.3.0
|
||||||
|
- quickcheck-classes ==0.6.0.0
|
||||||
- quickcheck-instances ==0.3.19
|
- quickcheck-instances ==0.3.19
|
||||||
- quickcheck-io ==0.2.0
|
- quickcheck-io ==0.2.0
|
||||||
- quickcheck-simple ==0.1.0.4
|
- quickcheck-simple ==0.1.0.4
|
||||||
@ -1687,7 +1688,7 @@ default-package-overrides:
|
|||||||
- rebase ==1.3.1
|
- rebase ==1.3.1
|
||||||
- record-dot-preprocessor ==0.1.5
|
- record-dot-preprocessor ==0.1.5
|
||||||
- records-sop ==0.1.0.2
|
- records-sop ==0.1.0.2
|
||||||
- recursion-schemes ==5.1.2
|
- recursion-schemes ==5.1.3
|
||||||
- reducers ==3.12.3
|
- reducers ==3.12.3
|
||||||
- refact ==0.3.0.2
|
- refact ==0.3.0.2
|
||||||
- references ==0.3.3.1
|
- references ==0.3.3.1
|
||||||
@ -1825,7 +1826,7 @@ default-package-overrides:
|
|||||||
- servant-tracing ==0.1.0.2
|
- servant-tracing ==0.1.0.2
|
||||||
- servant-websockets ==1.1.0
|
- servant-websockets ==1.1.0
|
||||||
- servant-yaml ==0.1.0.1
|
- servant-yaml ==0.1.0.1
|
||||||
- serverless-haskell ==0.8.6
|
- serverless-haskell ==0.8.7
|
||||||
- serversession ==1.0.1
|
- serversession ==1.0.1
|
||||||
- serversession-frontend-wai ==1.0
|
- serversession-frontend-wai ==1.0
|
||||||
- servius ==1.2.3.0
|
- servius ==1.2.3.0
|
||||||
@ -1921,7 +1922,7 @@ default-package-overrides:
|
|||||||
- storable-record ==0.0.4
|
- storable-record ==0.0.4
|
||||||
- storable-tuple ==0.0.3.3
|
- storable-tuple ==0.0.3.3
|
||||||
- storablevector ==0.2.13
|
- storablevector ==0.2.13
|
||||||
- store ==0.5.0.1
|
- store ==0.5.1.0
|
||||||
- store-core ==0.4.4
|
- store-core ==0.4.4
|
||||||
- Strafunski-StrategyLib ==5.0.1.0
|
- Strafunski-StrategyLib ==5.0.1.0
|
||||||
- stratosphere ==0.29.1
|
- stratosphere ==0.29.1
|
||||||
@ -2052,13 +2053,13 @@ default-package-overrides:
|
|||||||
- threads ==0.5.1.6
|
- threads ==0.5.1.6
|
||||||
- threepenny-gui ==0.8.3.0
|
- threepenny-gui ==0.8.3.0
|
||||||
- th-reify-compat ==0.0.1.5
|
- 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
|
- throttle-io-stream ==0.2.0.1
|
||||||
- throwable-exceptions ==0.1.0.9
|
- throwable-exceptions ==0.1.0.9
|
||||||
- th-strict-compat ==0.1.0.1
|
- th-strict-compat ==0.1.0.1
|
||||||
- th-utilities ==0.2.1.0
|
- th-utilities ==0.2.1.0
|
||||||
- thyme ==0.3.5.5
|
- thyme ==0.3.5.5
|
||||||
- tidal ==1.0.11
|
- tidal ==1.0.13
|
||||||
- tile ==0.3.0.0
|
- tile ==0.3.0.0
|
||||||
- time-compat ==0.1.0.3
|
- time-compat ==0.1.0.3
|
||||||
- timeit ==2.0
|
- timeit ==2.0
|
||||||
@ -2066,7 +2067,7 @@ default-package-overrides:
|
|||||||
- time-lens ==0.4.0.2
|
- time-lens ==0.4.0.2
|
||||||
- time-locale-compat ==0.1.1.5
|
- time-locale-compat ==0.1.1.5
|
||||||
- time-locale-vietnamese ==1.0.0.0
|
- 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
|
- time-qq ==0.0.1.0
|
||||||
- timerep ==2.0.0.2
|
- timerep ==2.0.0.2
|
||||||
- timer-wheel ==0.1.0
|
- timer-wheel ==0.1.0
|
||||||
@ -2080,7 +2081,7 @@ default-package-overrides:
|
|||||||
- tls-session-manager ==0.0.0.2
|
- tls-session-manager ==0.0.0.2
|
||||||
- tmapchan ==0.0.3
|
- tmapchan ==0.0.3
|
||||||
- tmapmvar ==0.0.4
|
- tmapmvar ==0.0.4
|
||||||
- tmp-postgres ==0.1.1.1
|
- tmp-postgres ==0.1.2.2
|
||||||
- token-bucket ==0.1.0.1
|
- token-bucket ==0.1.0.1
|
||||||
- tomland ==0.5.0
|
- tomland ==0.5.0
|
||||||
- tostring ==0.2.1.1
|
- tostring ==0.2.1.1
|
||||||
@ -2180,7 +2181,7 @@ default-package-overrides:
|
|||||||
- validity-vector ==0.2.0.2
|
- validity-vector ==0.2.0.2
|
||||||
- valor ==0.1.0.0
|
- valor ==0.1.0.0
|
||||||
- vault ==0.3.1.2
|
- vault ==0.3.1.2
|
||||||
- vec ==0.1
|
- vec ==0.1.1
|
||||||
- vector ==0.12.0.2
|
- vector ==0.12.0.2
|
||||||
- vector-algorithms ==0.8.0.1
|
- vector-algorithms ==0.8.0.1
|
||||||
- vector-binary-instances ==0.2.5.1
|
- vector-binary-instances ==0.2.5.1
|
||||||
@ -2223,9 +2224,9 @@ default-package-overrides:
|
|||||||
- wai-slack-middleware ==0.2.0
|
- wai-slack-middleware ==0.2.0
|
||||||
- wai-transformers ==0.1.0
|
- wai-transformers ==0.1.0
|
||||||
- wai-websockets ==3.0.1.2
|
- wai-websockets ==3.0.1.2
|
||||||
- warp ==3.2.26
|
- warp ==3.2.27
|
||||||
- warp-tls ==3.2.4.3
|
- warp-tls ==3.2.5
|
||||||
- warp-tls-uid ==0.2.0.5
|
- warp-tls-uid ==0.2.0.6
|
||||||
- wave ==0.1.5
|
- wave ==0.1.5
|
||||||
- wcwidth ==0.0.2
|
- wcwidth ==0.0.2
|
||||||
- web3 ==0.8.3.1
|
- web3 ==0.8.3.1
|
||||||
@ -2309,7 +2310,7 @@ default-package-overrides:
|
|||||||
- yesod ==1.6.0
|
- yesod ==1.6.0
|
||||||
- yesod-alerts ==0.1.2.0
|
- yesod-alerts ==0.1.2.0
|
||||||
- yesod-auth ==1.6.6
|
- 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-auth-oauth2 ==0.6.1.1
|
||||||
- yesod-bin ==1.6.0.3
|
- yesod-bin ==1.6.0.3
|
||||||
- yesod-core ==1.6.14
|
- yesod-core ==1.6.14
|
||||||
@ -2322,8 +2323,8 @@ default-package-overrides:
|
|||||||
- yesod-gitrev ==0.2.1
|
- yesod-gitrev ==0.2.1
|
||||||
- yesod-markdown ==0.12.6.1
|
- yesod-markdown ==0.12.6.1
|
||||||
- yesod-newsfeed ==1.6.1.0
|
- yesod-newsfeed ==1.6.1.0
|
||||||
- yesod-paginator ==1.1.0.1
|
- yesod-paginator ==1.1.0.2
|
||||||
- yesod-persistent ==1.6.0.1
|
- yesod-persistent ==1.6.0.2
|
||||||
- yesod-recaptcha2 ==0.3.0
|
- yesod-recaptcha2 ==0.3.0
|
||||||
- yesod-sitemap ==1.6.0
|
- yesod-sitemap ==1.6.0
|
||||||
- yesod-static ==1.6.0.1
|
- yesod-static ==1.6.0.1
|
||||||
@ -2341,7 +2342,7 @@ default-package-overrides:
|
|||||||
- zeromq4-patterns ==0.3.1.0
|
- zeromq4-patterns ==0.3.1.0
|
||||||
- zim-parser ==0.2.1.0
|
- zim-parser ==0.2.1.0
|
||||||
- zip ==1.2.0
|
- zip ==1.2.0
|
||||||
- zip-archive ==0.4
|
- zip-archive ==0.4.1
|
||||||
- zippers ==0.2.5
|
- zippers ==0.2.5
|
||||||
- zip-stream ==0.2.0.1
|
- zip-stream ==0.2.0.1
|
||||||
- zlib ==0.6.2
|
- 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 < 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
|
- 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 == 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
|
- 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 >=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
|
- 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
|
- 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 == 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-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
|
- QuickCheck < 2 # required by test-framework-quickcheck and its users
|
||||||
- resourcet ==1.1.* # pre-lts-11.x versions neeed by git-annex 6.20180227
|
- 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
|
- 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-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-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
|
- 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:
|
package-maintainers:
|
||||||
peti:
|
peti:
|
||||||
@ -2599,7 +2601,7 @@ dont-distribute-packages:
|
|||||||
- XML
|
- XML
|
||||||
|
|
||||||
broken-packages:
|
broken-packages:
|
||||||
# these packages don't compile
|
# These packages don't compile or depend on packages that don't compile.
|
||||||
- 3dmodels
|
- 3dmodels
|
||||||
- 4Blocks
|
- 4Blocks
|
||||||
- a50
|
- a50
|
||||||
@ -3173,6 +3175,7 @@ broken-packages:
|
|||||||
- blockhash
|
- blockhash
|
||||||
- Blogdown
|
- Blogdown
|
||||||
- blogination
|
- blogination
|
||||||
|
- BlogLiterately-diagrams
|
||||||
- bloodhound
|
- bloodhound
|
||||||
- bloodhound-amazonka-auth
|
- bloodhound-amazonka-auth
|
||||||
- bloomfilter-redis
|
- bloomfilter-redis
|
||||||
@ -3228,6 +3231,9 @@ broken-packages:
|
|||||||
- brok
|
- brok
|
||||||
- broker-haskell
|
- broker-haskell
|
||||||
- bronyradiogermany-streaming
|
- bronyradiogermany-streaming
|
||||||
|
- brotli
|
||||||
|
- brotli-conduit
|
||||||
|
- brotli-streams
|
||||||
- browscap
|
- browscap
|
||||||
- bson-generic
|
- bson-generic
|
||||||
- bson-generics
|
- bson-generics
|
||||||
@ -3278,6 +3284,7 @@ broken-packages:
|
|||||||
- c2hsc
|
- c2hsc
|
||||||
- cabal-audit
|
- cabal-audit
|
||||||
- cabal-bundle-clib
|
- cabal-bundle-clib
|
||||||
|
- cabal-cache
|
||||||
- cabal-cargs
|
- cabal-cargs
|
||||||
- cabal-constraints
|
- cabal-constraints
|
||||||
- cabal-db
|
- cabal-db
|
||||||
@ -4020,9 +4027,11 @@ broken-packages:
|
|||||||
- dia-base
|
- dia-base
|
||||||
- dia-functions
|
- dia-functions
|
||||||
- diagrams-boolean
|
- diagrams-boolean
|
||||||
|
- diagrams-builder
|
||||||
- diagrams-canvas
|
- diagrams-canvas
|
||||||
- diagrams-graphviz
|
- diagrams-graphviz
|
||||||
- diagrams-gtk
|
- diagrams-gtk
|
||||||
|
- diagrams-haddock
|
||||||
- diagrams-hsqml
|
- diagrams-hsqml
|
||||||
- diagrams-html5
|
- diagrams-html5
|
||||||
- diagrams-pandoc
|
- diagrams-pandoc
|
||||||
@ -4600,6 +4609,7 @@ broken-packages:
|
|||||||
- frag
|
- frag
|
||||||
- Frames-beam
|
- Frames-beam
|
||||||
- Frames-dsv
|
- Frames-dsv
|
||||||
|
- Frames-map-reduce
|
||||||
- franchise
|
- franchise
|
||||||
- Frank
|
- Frank
|
||||||
- freddy
|
- freddy
|
||||||
@ -4731,6 +4741,7 @@ broken-packages:
|
|||||||
- generic-tree
|
- generic-tree
|
||||||
- generic-xml
|
- generic-xml
|
||||||
- generic-xmlpickler
|
- generic-xmlpickler
|
||||||
|
- generics-eot
|
||||||
- genericserialize
|
- genericserialize
|
||||||
- genesis
|
- genesis
|
||||||
- genesis-test
|
- genesis-test
|
||||||
@ -5232,6 +5243,7 @@ broken-packages:
|
|||||||
- haskell-src-exts-prisms
|
- haskell-src-exts-prisms
|
||||||
- haskell-src-exts-qq
|
- haskell-src-exts-qq
|
||||||
- haskell-src-exts-sc
|
- haskell-src-exts-sc
|
||||||
|
- haskell-src-exts-simple
|
||||||
- haskell-src-meta-mwotton
|
- haskell-src-meta-mwotton
|
||||||
- haskell-stack-trace-plugin
|
- haskell-stack-trace-plugin
|
||||||
- haskell-token-utils
|
- haskell-token-utils
|
||||||
@ -5567,6 +5579,7 @@ broken-packages:
|
|||||||
- HLearn-datastructures
|
- HLearn-datastructures
|
||||||
- HLearn-distributions
|
- HLearn-distributions
|
||||||
- hledger-chart
|
- hledger-chart
|
||||||
|
- hledger-flow
|
||||||
- hledger-irr
|
- hledger-irr
|
||||||
- hledger-vty
|
- hledger-vty
|
||||||
- hlibBladeRF
|
- hlibBladeRF
|
||||||
@ -5717,6 +5730,7 @@ broken-packages:
|
|||||||
- HROOT-math
|
- HROOT-math
|
||||||
- HROOT-tree
|
- HROOT-tree
|
||||||
- hs-blake2
|
- hs-blake2
|
||||||
|
- hs-brotli
|
||||||
- hs-carbon-examples
|
- hs-carbon-examples
|
||||||
- hs-cdb
|
- hs-cdb
|
||||||
- hs-conllu
|
- hs-conllu
|
||||||
@ -6056,6 +6070,7 @@ broken-packages:
|
|||||||
- ihaskell-diagrams
|
- ihaskell-diagrams
|
||||||
- ihaskell-display
|
- ihaskell-display
|
||||||
- ihaskell-gnuplot
|
- ihaskell-gnuplot
|
||||||
|
- ihaskell-graphviz
|
||||||
- ihaskell-hatex
|
- ihaskell-hatex
|
||||||
- ihaskell-hvega
|
- ihaskell-hvega
|
||||||
- ihaskell-inline-r
|
- ihaskell-inline-r
|
||||||
@ -6361,6 +6376,7 @@ broken-packages:
|
|||||||
- kmp-dfa
|
- kmp-dfa
|
||||||
- knead
|
- knead
|
||||||
- knead-arithmetic
|
- knead-arithmetic
|
||||||
|
- knit-haskell
|
||||||
- knots
|
- knots
|
||||||
- koellner-phonetic
|
- koellner-phonetic
|
||||||
- korfu
|
- korfu
|
||||||
@ -6527,6 +6543,7 @@ broken-packages:
|
|||||||
- libconfig
|
- libconfig
|
||||||
- libcspm
|
- libcspm
|
||||||
- libexpect
|
- libexpect
|
||||||
|
- libffi-dynamic
|
||||||
- libGenI
|
- libGenI
|
||||||
- libhbb
|
- libhbb
|
||||||
- libinfluxdb
|
- libinfluxdb
|
||||||
@ -6767,6 +6784,7 @@ broken-packages:
|
|||||||
- manifolds
|
- manifolds
|
||||||
- manifolds-core
|
- manifolds-core
|
||||||
- map-exts
|
- map-exts
|
||||||
|
- map-reduce-folds
|
||||||
- map-syntax
|
- map-syntax
|
||||||
- Mapping
|
- Mapping
|
||||||
- mappy
|
- mappy
|
||||||
@ -7174,7 +7192,6 @@ broken-packages:
|
|||||||
- netwire-vinylglfw-examples
|
- netwire-vinylglfw-examples
|
||||||
- network-address
|
- network-address
|
||||||
- network-anonymous-i2p
|
- network-anonymous-i2p
|
||||||
- network-bsd
|
|
||||||
- network-builder
|
- network-builder
|
||||||
- network-bytestring
|
- network-bytestring
|
||||||
- network-connection
|
- network-connection
|
||||||
@ -7584,6 +7601,7 @@ broken-packages:
|
|||||||
- pipes-async
|
- pipes-async
|
||||||
- pipes-attoparsec-streaming
|
- pipes-attoparsec-streaming
|
||||||
- pipes-bgzf
|
- pipes-bgzf
|
||||||
|
- pipes-brotli
|
||||||
- pipes-cacophony
|
- pipes-cacophony
|
||||||
- pipes-cereal
|
- pipes-cereal
|
||||||
- pipes-cereal-plus
|
- pipes-cereal-plus
|
||||||
@ -7661,6 +7679,7 @@ broken-packages:
|
|||||||
- polh-lexicon
|
- polh-lexicon
|
||||||
- polimorf
|
- polimorf
|
||||||
- Pollutocracy
|
- Pollutocracy
|
||||||
|
- poly
|
||||||
- poly-control
|
- poly-control
|
||||||
- polydata
|
- polydata
|
||||||
- polydata-core
|
- polydata-core
|
||||||
@ -7797,6 +7816,7 @@ broken-packages:
|
|||||||
- proteome
|
- proteome
|
||||||
- proto-lens-combinators
|
- proto-lens-combinators
|
||||||
- proto-lens-descriptors
|
- proto-lens-descriptors
|
||||||
|
- proto3-suite
|
||||||
- protobuf-native
|
- protobuf-native
|
||||||
- protocol-buffers-descriptor-fork
|
- protocol-buffers-descriptor-fork
|
||||||
- protocol-buffers-fork
|
- protocol-buffers-fork
|
||||||
@ -7833,6 +7853,7 @@ broken-packages:
|
|||||||
- purescript-iso
|
- purescript-iso
|
||||||
- purescript-tsd-gen
|
- purescript-tsd-gen
|
||||||
- push-notify
|
- push-notify
|
||||||
|
- push-notify-apn
|
||||||
- push-notify-ccs
|
- push-notify-ccs
|
||||||
- push-notify-general
|
- push-notify-general
|
||||||
- pusher-haskell
|
- pusher-haskell
|
||||||
@ -8295,6 +8316,7 @@ broken-packages:
|
|||||||
- scenegraph
|
- scenegraph
|
||||||
- schedevr
|
- schedevr
|
||||||
- schedule-planner
|
- schedule-planner
|
||||||
|
- scheduler
|
||||||
- schedyield
|
- schedyield
|
||||||
- schematic
|
- schematic
|
||||||
- scholdoc
|
- scholdoc
|
||||||
@ -8865,10 +8887,12 @@ broken-packages:
|
|||||||
- streamdeck
|
- streamdeck
|
||||||
- streamed
|
- streamed
|
||||||
- streaming-benchmarks
|
- streaming-benchmarks
|
||||||
|
- streaming-brotli
|
||||||
- streaming-cassava
|
- streaming-cassava
|
||||||
- streaming-concurrency
|
- streaming-concurrency
|
||||||
- streaming-conduit
|
- streaming-conduit
|
||||||
- streaming-fft
|
- streaming-fft
|
||||||
|
- streaming-lzma
|
||||||
- streaming-osm
|
- streaming-osm
|
||||||
- streaming-pcap
|
- streaming-pcap
|
||||||
- streaming-png
|
- streaming-png
|
||||||
@ -9029,6 +9053,7 @@ broken-packages:
|
|||||||
- tasty-jenkins-xml
|
- tasty-jenkins-xml
|
||||||
- tasty-laws
|
- tasty-laws
|
||||||
- tasty-lens
|
- tasty-lens
|
||||||
|
- tasty-quickcheck-laws
|
||||||
- tasty-stats
|
- tasty-stats
|
||||||
- tasty-tap
|
- tasty-tap
|
||||||
- tasty-travis
|
- tasty-travis
|
||||||
@ -9209,6 +9234,7 @@ broken-packages:
|
|||||||
- tkhs
|
- tkhs
|
||||||
- tkyprof
|
- tkyprof
|
||||||
- tls-extra
|
- tls-extra
|
||||||
|
- tmp-postgres
|
||||||
- tn
|
- tn
|
||||||
- to-haskell
|
- to-haskell
|
||||||
- to-string-class
|
- to-string-class
|
||||||
@ -9417,6 +9443,7 @@ broken-packages:
|
|||||||
- unity-testresult-parser
|
- unity-testresult-parser
|
||||||
- unitym-yesod
|
- unitym-yesod
|
||||||
- universe
|
- universe
|
||||||
|
- universe-dependent-sum
|
||||||
- universe-instances-extended
|
- universe-instances-extended
|
||||||
- universe-th
|
- universe-th
|
||||||
- universum
|
- universum
|
||||||
@ -9528,6 +9555,7 @@ broken-packages:
|
|||||||
- vector-bytestring
|
- vector-bytestring
|
||||||
- vector-clock
|
- vector-clock
|
||||||
- vector-conduit
|
- vector-conduit
|
||||||
|
- vector-endian
|
||||||
- vector-extras
|
- vector-extras
|
||||||
- vector-functorlazy
|
- vector-functorlazy
|
||||||
- vector-heterogenous
|
- vector-heterogenous
|
||||||
|
1803
pkgs/development/haskell-modules/hackage-packages.nix
generated
1803
pkgs/development/haskell-modules/hackage-packages.nix
generated
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…
x
Reference in New Issue
Block a user