Merge master into staging

This commit is contained in:
Frederik Rietdijk 2018-07-26 16:18:53 +02:00
commit f59e6f4037
196 changed files with 10635 additions and 3191 deletions

18
.github/CODEOWNERS vendored
View File

@ -46,17 +46,17 @@
# Python-related code and docs
/maintainers/scripts/update-python-libraries @FRidh
/pkgs/top-level/python-packages.nix @FRidh
/pkgs/development/interpreters/python @FRidh
/pkgs/development/python-modules @FRidh
/doc/languages-frameworks/python.md @FRidh
/pkgs/top-level/python-packages.nix @FRidh
/pkgs/development/interpreters/python @FRidh
/pkgs/development/python-modules @FRidh
/doc/languages-frameworks/python.md @FRidh
# Haskell
/pkgs/development/compilers/ghc @peti
/pkgs/development/haskell-modules @peti
/pkgs/development/haskell-modules/default.nix @peti
/pkgs/development/haskell-modules/generic-builder.nix @peti
/pkgs/development/haskell-modules/hoogle.nix @peti
/pkgs/development/compilers/ghc @peti @ryantm @basvandijk
/pkgs/development/haskell-modules @peti @ryantm @basvandijk
/pkgs/development/haskell-modules/default.nix @peti @ryantm @basvandijk
/pkgs/development/haskell-modules/generic-builder.nix @peti @ryantm @basvandijk
/pkgs/development/haskell-modules/hoogle.nix @peti @ryantm @basvandijk
# R
/pkgs/applications/science/math/R @peti

View File

@ -424,7 +424,7 @@ available.
At some point you'll likely have multiple packages which you would
like to be able to use in different projects. In order to minimise unnecessary
duplication we now look at how you can maintain yourself a repository with your
duplication we now look at how you can maintain a repository with your
own packages. The important functions here are `import` and `callPackage`.
### Including a derivation using `callPackage`
@ -647,7 +647,7 @@ in python.withPackages(ps: [ps.blaze])).env
The `buildPythonApplication` function is practically the same as `buildPythonPackage`.
The difference is that `buildPythonPackage` by default prefixes the names of the packages with the version of the interpreter.
Because with an application we're not interested in multiple version the prefix is dropped.
Because this is irrelevant for applications, the prefix is omitted.
#### `toPythonApplication` function
@ -1006,14 +1006,14 @@ folder and not downloaded again.
If you need to change a package's attribute(s) from `configuration.nix` you could do:
```nix
nixpkgs.config.packageOverrides = superP: {
pythonPackages = superP.pythonPackages.override {
overrides = self: super: {
bepasty-server = super.bepasty-server.overrideAttrs ( oldAttrs: {
src = pkgs.fetchgit {
url = "https://github.com/bepasty/bepasty-server";
sha256 = "9ziqshmsf0rjvdhhca55sm0x8jz76fsf2q4rwh4m6lpcf8wr0nps";
rev = "e2516e8cf4f2afb5185337073607eb9e84a61d2d";
nixpkgs.config.packageOverrides = super: {
python = super.python.override {
packageOverrides = python-self: python-super: {
zerobin = python-super.zerobin.overrideAttrs (oldAttrs: {
src = super.fetchgit {
url = "https://github.com/sametmax/0bin";
rev = "a344dbb18fe7a855d0742b9a1cede7ce423b34ec";
sha256 = "16d769kmnrpbdr0ph0whyf4yff5df6zi4kmwx7sz1d3r6c8p6xji";
};
});
};
@ -1021,27 +1021,39 @@ If you need to change a package's attribute(s) from `configuration.nix` you coul
};
```
If you are using the `bepasty-server` package somewhere, for example in `systemPackages` or indirectly from `services.bepasty`, then a `nixos-rebuild switch` will rebuild the system but with the `bepasty-server` package using a different `src` attribute. This way one can modify `python` based software/libraries easily. Using `self` and `super` one can also alter dependencies (`buildInputs`) between the old state (`self`) and new state (`super`).
`pythonPackages.zerobin` is now globally overridden. All packages and also the
`zerobin` NixOS service use the new definition.
Note that `python-super` refers to the old package set and `python-self`
to the new, overridden version.
To modify only a Python package set instead of a whole Python derivation, use this snippet:
```nix
myPythonPackages = pythonPackages.override {
overrides = self: super: {
zerobin = ...;
};
}
```
### How to override a Python package using overlays?
To alter a python package using overlays, you would use the following approach:
Use the following overlay template:
```nix
self: super:
{
python = super.python.override {
packageOverrides = python-self: python-super: {
bepasty-server = python-super.bepasty-server.overrideAttrs ( oldAttrs: {
src = self.pkgs.fetchgit {
url = "https://github.com/bepasty/bepasty-server";
sha256 = "9ziqshmsf0rjvdhhca55sm0x8jz76fsf2q4rwh4m6lpcf8wr0nps";
rev = "e2516e8cf4f2afb5185337073607eb9e84a61d2d";
zerobin = python-super.zerobin.overrideAttrs (oldAttrs: {
src = super.fetchgit {
url = "https://github.com/sametmax/0bin";
rev = "a344dbb18fe7a855d0742b9a1cede7ce423b34ec";
sha256 = "16d769kmnrpbdr0ph0whyf4yff5df6zi4kmwx7sz1d3r6c8p6xji";
};
});
};
};
pythonPackages = self.python.pkgs;
}
```

View File

@ -689,7 +689,7 @@ overrides = super: self: rec {
plugins = with availablePlugins; [
(python.withPackages (ps: with ps; [ pycrypto python-dbus ]))
];
}
};
}
</programlisting>
</para>

View File

@ -589,6 +589,11 @@
github = "c0bw3b";
name = "Renaud";
};
c0deaddict = {
email = "josvanbakel@protonmail.com";
github = "c0deaddict";
name = "Jos van Bakel";
};
c0dehero = {
email = "codehero@nerdpol.ch";
name = "CodeHero";
@ -862,6 +867,11 @@
github = "danharaj";
name = "Dan Haraj";
};
danieldk = {
email = "me@danieldk.eu";
github = "danieldk";
name = "Daniël de Kok";
};
danielfullmer = {
email = "danielrf12@gmail.com";
github = "danielfullmer";
@ -1372,6 +1382,11 @@
github = "froozen";
name = "fro_ozen";
};
frontsideair = {
email = "photonia@gmail.com";
github = "frontsideair";
name = "Fatih Altinok";
};
ftrvxmtrx = {
email = "ftrvxmtrx@gmail.com";
github = "ftrvxmtrx";
@ -2002,6 +2017,13 @@
email = "tierpluspluslists@gmail.com";
name = "Karn Kallio";
};
kmeakin = {
email = "karlwfmeakin@gmail.com";
name = "Karl Meakin";
github = "Kmeakin";
};
knedlsepp = {
email = "josef.kemetmueller@gmail.com";
github = "knedlsepp";
@ -2720,6 +2742,11 @@
github = "neeasade";
name = "Nathan Isom";
};
neonfuz = {
email = "neonfuz@gmail.com";
github = "neonfuz";
name = "Sage Raflik";
};
nequissimus = {
email = "tim@nequissimus.com";
github = "nequissimus";

View File

@ -362,6 +362,15 @@ inherit (pkgs.nixos {
The module <option>services.networking.hostapd</option> now uses WPA2 by default.
</para>
</listitem>
<listitem>
<para>
<varname>s6Dns</varname>, <varname>s6Networking</varname>,
<varname>s6LinuxUtils</varname> and <varname>s6PortableUtils</varname>
renamed to
<varname>s6-dns</varname>, <varname>s6-networking</varname>,
<varname>s6-linux-utils</varname> and <varname>s6-portable-utils</varname> respectively.
</para>
</listitem>
</itemizedlist>
</section>
</section>

View File

@ -10,7 +10,7 @@ version=$(nix-instantiate --eval --strict '<nixpkgs>' -A lib.version | sed s/'"'
major=${version:0:5}
echo "NixOS version is $version ($major)"
stateDir=/var/tmp/ec2-image-$version
stateDir=/home/deploy/amis/ec2-image-$version
echo "keeping state in $stateDir"
mkdir -p $stateDir
@ -161,6 +161,7 @@ for type in $types; do
# Create a snapshot.
if [ -z "$snapId" ]; then
echo "creating snapshot..."
# FIXME: this can fail with InvalidVolume.NotFound. Eventual consistency yay.
snapId=$(aws ec2 create-snapshot --volume-id "$volId" --region "$region" --description "$description" | jq -r .SnapshotId)
if [ "$snapId" = null ]; then exit 1; fi
echo -n "$snapId" > $stateDir/$region.$type.snap-id

View File

@ -9,7 +9,9 @@ let
cfg = config.networking;
dnsmasqResolve = config.services.dnsmasq.enable &&
config.services.dnsmasq.resolveLocalQueries;
hasLocalResolver = config.services.bind.enable || dnsmasqResolve;
hasLocalResolver = config.services.bind.enable ||
config.services.unbound.enable ||
dnsmasqResolve;
resolvconfOptions = cfg.resolvconfOptions
++ optional cfg.dnsSingleRequest "single-request"

View File

@ -144,8 +144,8 @@ in {
package = mkOption {
type = types.package;
default = pulseaudioLight;
defaultText = "pkgs.pulseaudioLight";
default = pkgs.pulseaudio;
defaultText = "pkgs.pulseaudio";
example = literalExample "pkgs.pulseaudioFull";
description = ''
The PulseAudio derivation to use. This can be used to enable

View File

@ -120,8 +120,8 @@ let
shell = mkOption {
type = types.either types.shellPackage types.path;
default = pkgs.nologin;
defaultText = "pkgs.nologin";
default = pkgs.shadow;
defaultText = "pkgs.shadow";
example = literalExample "pkgs.bashInteractive";
description = ''
The path to the user's shell. Can use shell derivations,

View File

@ -78,7 +78,7 @@ in
# Allow execution of "/home/root/secret.sh" by user `backup`, `database`
# and the group with GID `1006` without a password.
{ users = [ "backup" ]; groups = [ 1006 ];
{ users = [ "backup" "database" ]; groups = [ 1006 ];
commands = [ { command = "/home/root/secret.sh"; options = [ "SETENV" "NOPASSWD" ]; } ]; }
# Allow all users of group `bar` to run two executables as user `foo`

View File

@ -70,8 +70,6 @@ let
"systemd-journald.socket"
"systemd-journald.service"
"systemd-journal-flush.service"
"systemd-journal-gatewayd.socket"
"systemd-journal-gatewayd.service"
"systemd-journal-catalog-update.service"
"systemd-journald-audit.socket"
"systemd-journald-dev-log.socket"
@ -160,8 +158,10 @@ let
"systemd-binfmt.service"
"systemd-exit.service"
"systemd-update-done.service"
]
++ cfg.additionalUpstreamSystemUnits;
] ++ optionals config.services.journald.enableHttpGateway [
"systemd-journal-gatewayd.socket"
"systemd-journal-gatewayd.service"
] ++ cfg.additionalUpstreamSystemUnits;
upstreamSystemWants =
[ "sysinit.target.wants"

View File

@ -240,22 +240,22 @@ let self = {
"17.09".sa-east-1.hvm-ebs = "ami-4762202b";
"17.09".ap-south-1.hvm-ebs = "ami-4e376021";
# 18.03.131792.becbe4dbe16
"18.03".eu-west-1.hvm-ebs = "ami-cda4fab4";
"18.03".eu-west-2.hvm-ebs = "ami-d96786be";
"18.03".eu-west-3.hvm-ebs = "ami-6b0cba16";
"18.03".eu-central-1.hvm-ebs = "ami-5e2b75b5";
"18.03".us-east-1.hvm-ebs = "ami-d464cba9";
"18.03".us-east-2.hvm-ebs = "ami-fd221298";
"18.03".us-west-1.hvm-ebs = "ami-ff0d1d9f";
"18.03".us-west-2.hvm-ebs = "ami-c05c3bb8";
"18.03".ca-central-1.hvm-ebs = "ami-cc72f4a8";
"18.03".ap-southeast-1.hvm-ebs = "ami-b61633ca";
"18.03".ap-southeast-2.hvm-ebs = "ami-530fc131";
"18.03".ap-northeast-1.hvm-ebs = "ami-90d6c0ec";
"18.03".ap-northeast-2.hvm-ebs = "ami-a1248bcf";
"18.03".sa-east-1.hvm-ebs = "ami-b090c6dc";
"18.03".ap-south-1.hvm-ebs = "ami-32c9ec5d";
# 18.03.132946.1caae7247b8
"18.03".eu-west-1.hvm-ebs = "ami-065c46ec";
"18.03".eu-west-2.hvm-ebs = "ami-64f31903";
"18.03".eu-west-3.hvm-ebs = "ami-5a8d3d27";
"18.03".eu-central-1.hvm-ebs = "ami-09faf9e2";
"18.03".us-east-1.hvm-ebs = "ami-8b3538f4";
"18.03".us-east-2.hvm-ebs = "ami-150b3170";
"18.03".us-west-1.hvm-ebs = "ami-ce06ebad";
"18.03".us-west-2.hvm-ebs = "ami-586c3520";
"18.03".ca-central-1.hvm-ebs = "ami-aca72ac8";
"18.03".ap-southeast-1.hvm-ebs = "ami-aa0b4d40";
"18.03".ap-southeast-2.hvm-ebs = "ami-d0f254b2";
"18.03".ap-northeast-1.hvm-ebs = "ami-456511a8";
"18.03".ap-northeast-2.hvm-ebs = "ami-3366d15d";
"18.03".sa-east-1.hvm-ebs = "ami-163e1f7a";
"18.03".ap-south-1.hvm-ebs = "ami-6a390b05";
latest = self."18.03";
}; in self

View File

@ -104,7 +104,7 @@ in {
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [ libvirt netcat-openbsd cfg.qemuPackage ];
environment.systemPackages = with pkgs; [ libvirt libressl.nc cfg.qemuPackage ];
boot.kernelModules = [ "tun" ];

View File

@ -304,7 +304,7 @@ let
serviceConfig.Type = "oneshot";
serviceConfig.RemainAfterExit = true;
script = let
netcat = "${pkgs.netcat-openbsd}/bin/nc";
netcat = "${pkgs.libressl.nc}/bin/nc";
portCheck = "${netcat} -z 127.0.0.1 ${toString attrs.waitForPort}";
in "while ! ${portCheck}; do :; done";
};
@ -435,7 +435,7 @@ in {
serviceConfig.RemainAfterExit = true;
script = let
ports = lib.range 8000 8005 ++ lib.singleton 80;
netcat = "${pkgs.netcat-openbsd}/bin/nc";
netcat = "${pkgs.libressl.nc}/bin/nc";
mkPortCheck = port: "${netcat} -z 127.0.0.1 ${toString port}";
checks = "(${lib.concatMapStringsSep " && " mkPortCheck ports})";
in "while ! ${checks}; do :; done";

View File

@ -48,8 +48,10 @@ stdenv.mkDerivation rec {
-i $out/bin/banshee
'';
meta = with lib; {
homepage = "http://banshee.fm/";
description = "A music player written in C# using GNOME technologies";
platforms = platforms.linux;
maintainers = [ maintainers.zohl ];
license = licenses.mit;
};
}

View File

@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
description = "Standalone MPD Web GUI written in C, utilizing Websockets and Bootstrap/JS";
maintainers = [ stdenv.lib.maintainers.siddharthist ];
platforms = stdenv.lib.platforms.unix;
license = stdenv.lib.licenses.gpl2;
};
}

File diff suppressed because it is too large Load Diff

View File

@ -25,7 +25,7 @@ self:
super = removeAttrs imported [ "dash" ];
elpaBuild = import ../../../build-support/emacs/elpa.nix {
inherit fetchurl lib stdenv texinfo;
inherit lib stdenv texinfo;
inherit (self) emacs;
};

File diff suppressed because it is too large Load Diff

View File

@ -75,28 +75,16 @@ self:
# upstream issue: missing file header
elmine = markBroken super.elmine;
# upstream issue: missing dependency redshank
emr = markBroken super.emr;
ess-R-data-view = super.ess-R-data-view.override {
inherit (self.melpaPackages) ess ctable popup;
};
# upstream issue: missing dependency highlight
evil-search-highlight-persist = markBroken super.evil-search-highlight-persist;
# upstream issue: missing dependency highlight
floobits = markBroken super.floobits;
# missing OCaml
flycheck-ocaml = markBroken super.flycheck-ocaml;
# Expects bash to be at /bin/bash
flycheck-rtags = markBroken super.flycheck-rtags;
# upstream issue: missing dependency
fold-dwim-org = markBroken super.fold-dwim-org;
# build timeout
graphene = markBroken super.graphene;
@ -158,9 +146,6 @@ self:
(attrs.nativeBuildInputs or []) ++ [ external.git ];
}));
# upstream issue: missing dependency
org-readme = markBroken super.org-readme;
# upstream issue: truncated file
powershell = markBroken super.powershell;
@ -173,9 +158,6 @@ self:
# upstream issue: missing file footer
seoul256-theme = markBroken super.seoul256-theme;
# upstream issue: missing dependency highlight
sonic-pi = markBroken super.sonic-pi;
spaceline = super.spaceline.override {
inherit (self.melpaPackages) powerline;
};
@ -198,9 +180,6 @@ self:
# upstream issue: missing file header
voca-builder = markBroken super.voca-builder;
# upstream issue: missing dependency
weechat-alert = markBroken super.weechat-alert;
# upstream issue: missing file header
window-numbering = markBroken super.window-numbering;
@ -216,6 +195,10 @@ self:
});
};
melpaPackages = super // overrides;
melpaPackages =
removeAttrs (super // overrides)
[
"show-marks" # missing dependency: fm
];
in
melpaPackages // { inherit melpaPackages; }

File diff suppressed because it is too large Load Diff

View File

@ -3,10 +3,11 @@
org = callPackage ({ elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "org";
version = "20180716";
ename = "org";
version = "20180723";
src = fetchurl {
url = "http://orgmode.org/elpa/org-20180716.tar";
sha256 = "0gr57nfdncnxrxxzw87ni5i6zjh1mdxl9h8pw96msh1c47xhpk2d";
url = "http://orgmode.org/elpa/org-20180723.tar";
sha256 = "1mcgnba16lpyh55zjx4rcbmpygcmdnjjzvgv1rx0c3kz1h5fgzf8";
};
packageRequires = [];
meta = {
@ -17,10 +18,11 @@
org-plus-contrib = callPackage ({ elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "org-plus-contrib";
version = "20180716";
ename = "org-plus-contrib";
version = "20180723";
src = fetchurl {
url = "http://orgmode.org/elpa/org-plus-contrib-20180716.tar";
sha256 = "0j4r3bcy96kcaab7cv2a5qd0mv8ddkr1qlihijk79l9nhsh2y4hm";
url = "http://orgmode.org/elpa/org-plus-contrib-20180723.tar";
sha256 = "1l34bagkm8mcyv5diprpbd4yjijkdvx1l54qpvi8bmvxjnzsm7mk";
};
packageRequires = [];
meta = {

View File

@ -60,7 +60,7 @@ let
'';
postInstall = stdenv.lib.optionalString stdenv.isLinux ''
sed -i -e "s|'xsel|'${xsel}/bin/xsel|" $out/share/nvim/runtime/autoload/provider/clipboard.vim
sed -i -e "s|'xsel|'${xsel}/bin/xsel|g" $out/share/nvim/runtime/autoload/provider/clipboard.vim
'' + stdenv.lib.optionalString (withJemalloc && stdenv.isDarwin) ''
install_name_tool -change libjemalloc.1.dylib \
${jemalloc}/lib/libjemalloc.1.dylib \

View File

@ -1,7 +1,7 @@
# TODO tidy up eg The patchelf code is patching gvim even if you don't build it..
# but I have gvim with python support now :) - Marc
args@{ source ? "default", callPackage, fetchurl, stdenv, ncurses, pkgconfig, gettext
, composableDerivation, writeText, lib, config, glib, gtk2, gtk3, python, perl, tcl, ruby
, writeText, lib, config, glib, gtk2, gtk3, python, perl, tcl, ruby
, libX11, libXext, libSM, libXpm, libXt, libXaw, libXau, libXmu
, libICE
, vimPlugins
@ -10,13 +10,27 @@ args@{ source ? "default", callPackage, fetchurl, stdenv, ncurses, pkgconfig, ge
# apple frameworks
, CoreServices, CoreData, Cocoa, Foundation, libobjc, cf-private
, wrapPythonDrv ? false
, features ? "huge" # One of tiny, small, normal, big or huge
, wrapPythonDrv ? false
, guiSupport ? config.vim.gui or "auto"
, luaSupport ? config.vim.lua or true
, perlSupport ? config.vim.perl or false # Perl interpreter
, pythonSupport ? config.vim.python or true # Python interpreter
, rubySupport ? config.vim.ruby or true # Ruby interpreter
, nlsSupport ? config.vim.nls or false # Enable NLS (gettext())
, tclSupport ? config.vim.tcl or false # Include Tcl interpreter
, multibyteSupport ? config.vim.multibyte or false # Enable multibyte editing support
, cscopeSupport ? config.vim.cscope or true # Enable cscope interface
, netbeansSupport ? config.netbeans or true # Enable NetBeans integration support.
, ximSupport ? config.vim.xim or true # less than 15KB, needed for deadkeys
# By default, compile with darwin support if we're compiling on darwin, but
# allow this to be disabled by setting config.vim.darwin to false
, darwinSupport ? stdenv.isDarwin && (config.vim.darwin or true) # Enable Darwin support
, ftNixSupport ? config.vim.ftNix or true # Add .nix filetype detection and minimal syntax highlighting support
, ... }: with args;
let
inherit (args.composableDerivation) composableDerivation edf;
nixosRuntimepath = writeText "nixos-vimrc" ''
set nocompatible
syntax on
@ -48,148 +62,113 @@ let
'';
common = callPackage ./common.nix {};
in
composableDerivation {
} (fix: rec {
name = "vim_configurable-${version}";
isPython3 = python.isPy3 or false;
inherit (common) version postPatch hardeningDisable enableParallelBuilding meta;
in stdenv.mkDerivation rec {
src = builtins.getAttr source {
"default" = common.src; # latest release
name = "vim_configurable-${version}";
"vim-nox" =
{
# vim nox branch: client-server without X by uing sockets
# REGION AUTO UPDATE: { name="vim-nox"; type="hg"; url="https://code.google.com/r/yukihironakadaira-vim-cmdsrv-nox/"; branch="cmdsrv-nox"; }
src = (fetchurl { url = "http://mawercer.de/~nix/repos/vim-nox-hg-2082fc3.tar.bz2"; sha256 = "293164ca1df752b7f975fd3b44766f5a1db752de6c7385753f083499651bd13a"; });
name = "vim-nox-hg-2082fc3";
# END
}.src;
};
inherit (common) version postPatch hardeningDisable enableParallelBuilding meta;
patches = [ ./cflags-prune.diff ];
src = builtins.getAttr source {
"default" = common.src; # latest release
configureFlags
= [ "--enable-gui=${args.gui}" "--with-features=${args.features}" ];
nativeBuildInputs = [ pkgconfig ];
buildInputs
= [ ncurses libX11 libXext libSM libXpm libXt libXaw libXau
libXmu glib libICE ] ++ (if args.gui == "gtk3" then [gtk3] else [gtk2]);
# most interpreters aren't tested yet.. (see python for example how to do it)
flags = {
ftNix = {
patches = [ ./ft-nix-support.patch ];
preConfigure = ''
cp ${vimPlugins.vim-nix.src}/ftplugin/nix.vim runtime/ftplugin/nix.vim
cp ${vimPlugins.vim-nix.src}/indent/nix.vim runtime/indent/nix.vim
cp ${vimPlugins.vim-nix.src}/syntax/nix.vim runtime/syntax/nix.vim
'';
};
}
// edf {
name = "darwin";
enable = {
buildInputs = [ CoreServices CoreData Cocoa Foundation libobjc cf-private ];
NIX_LDFLAGS = stdenv.lib.optional stdenv.isDarwin
"/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation";
};
} #Disable Darwin (macOS) support.
// edf { name = "xsmp"; } #Disable XSMP session management
// edf { name = "xsmp_interact"; } #Disable XSMP interaction
// edf { name = "mzscheme"; feat = "mzschemeinterp";} #Include MzScheme interpreter.
// edf { name = "perl"; feat = "perlinterp"; enable = { nativeBuildInputs = [perl]; };} #Include Perl interpreter.
// edf {
name = "python";
feat = "python${if python ? isPy3 then "3" else ""}interp";
enable = {
buildInputs = [ python ];
} // lib.optionalAttrs wrapPythonDrv {
nativeBuildInputs = [ makeWrapper ];
postInstall = ''
wrapProgram "$out/bin/vim" --prefix PATH : "${python}/bin"
'';
} // lib.optionalAttrs stdenv.isDarwin {
configureFlags
= [ "--enable-python${if python ? isPy3 then "3" else ""}interp=yes"
"--with-python${if python ? isPy3 then "3" else ""}-config-dir=${python}/lib"
"--disable-python${if python ? isPy3 then "" else "3"}interp" ];
};
}
// edf { name = "tcl"; feat = "tclinterp"; enable = { buildInputs = [tcl]; }; } #Include Tcl interpreter.
// edf { name = "ruby"; feat = "rubyinterp"; enable = { buildInputs = [ruby]; };} #Include Ruby interpreter.
// edf {
name = "lua";
feat = "luainterp";
enable = {
buildInputs = [lua];
configureFlags = [
"--with-lua-prefix=${args.lua}"
"--enable-luainterp"
];
};
}
// edf { name = "cscope"; } #Include cscope interface.
// edf { name = "workshop"; } #Include Sun Visual Workshop support.
// edf { name = "netbeans"; } #Disable NetBeans integration support.
// edf { name = "sniff"; feat = "sniff" ; } #Include Sniff interface.
// edf { name = "multibyte"; } #Include multibyte editing support.
// edf { name = "hangulinput"; feat = "hangulinput" ;} #Include Hangul input support.
// edf { name = "xim"; } #Include XIM input support.
// edf { name = "fontset"; } #Include X fontset output support.
// edf { name = "acl"; } #Don't check for ACL support.
// edf { name = "gpm"; } #Don't use gpm (Linux mouse daemon).
// edf { name = "nls"; enable = {nativeBuildInputs = [gettext];}; } #Don't support NLS (gettext()).
;
cfg = {
luaSupport = config.vim.lua or true;
pythonSupport = config.vim.python or true;
rubySupport = config.vim.ruby or true;
nlsSupport = config.vim.nls or false;
tclSupport = config.vim.tcl or false;
multibyteSupport = config.vim.multibyte or false;
cscopeSupport = config.vim.cscope or true;
netbeansSupport = config.netbeans or true; # eg envim is using it
ximSupport = config.vim.xim or true; # less than 15KB, needed for deadkeys
# by default, compile with darwin support if we're compiling on darwin, but
# allow this to be disabled by setting config.vim.darwin to false
darwinSupport = stdenv.isDarwin && (config.vim.darwin or true);
# add .nix filetype detection and minimal syntax highlighting support
ftNixSupport = config.vim.ftNix or true;
"vim-nox" =
{
# vim nox branch: client-server without X by uing sockets
# REGION AUTO UPDATE: { name="vim-nox"; type="hg"; url="https://code.google.com/r/yukihironakadaira-vim-cmdsrv-nox/"; branch="cmdsrv-nox"; }
src = (fetchurl { url = "http://mawercer.de/~nix/repos/vim-nox-hg-2082fc3.tar.bz2"; sha256 = "293164ca1df752b7f975fd3b44766f5a1db752de6c7385753f083499651bd13a"; });
name = "vim-nox-hg-2082fc3";
# END
}.src;
};
#--enable-gui=OPTS X11 GUI default=auto OPTS=auto/no/gtk/gtk2/gtk3/gnome/gnome2/motif/athena/neXtaw/photon/carbon
/*
// edf "gtk_check" "gtk_check" { } #If auto-select GUI, check for GTK default=yes
// edf "gtk2_check" "gtk2_check" { } #If GTK GUI, check for GTK+ 2 default=yes
// edf "gnome_check" "gnome_check" { } #If GTK GUI, check for GNOME default=no
// edf "motif_check" "motif_check" { } #If auto-select GUI, check for Motif default=yes
// edf "athena_check" "athena_check" { } #If auto-select GUI, check for Athena default=yes
// edf "nextaw_check" "nextaw_check" { } #If auto-select GUI, check for neXtaw default=yes
// edf "carbon_check" "carbon_check" { } #If auto-select GUI, check for Carbon default=yes
// edf "gtktest" "gtktest" { } #Do not try to compile and run a test GTK program
*/
patches = [ ./cflags-prune.diff ] ++ stdenv.lib.optional ftNixSupport ./ft-nix-support.patch;
preInstall = ''
mkdir -p $out/share/applications $out/share/icons/{hicolor,locolor}/{16x16,32x32,48x48}/apps
'';
configureFlags = [
"--enable-gui=${guiSupport}"
"--with-features=${features}"
"--disable-xsmp" # XSMP session management
"--disable-xsmp_interact" # XSMP interaction
"--disable-workshop" # Sun Visual Workshop support
"--disable-sniff" # Sniff interface
"--disable-hangulinput" # Hangul input support
"--disable-fontset" # X fontset output support
"--disable-acl" # ACL support
"--disable-gpm" # GPM (Linux mouse daemon)
"--disable-mzschemeinterp"
"--disable-gtk_check"
"--disable-gtk2_check"
"--disable-gnome_check"
"--disable-motif_check"
"--disable-athena_check"
"--disable-nextaf_check"
"--disable-carbon_check"
"--disable-gtktest"
]
++ stdenv.lib.optionals luaSupport [
"--with-lua-prefix=${args.lua}"
"--enable-luainterp"
]
++ stdenv.lib.optionals pythonSupport [
"--enable-python${if isPython3 then "3" else ""}"
]
++ stdenv.lib.optionals (pythonSupport && stdenv.isDarwin) [ # Why only for Darwin?
"--enable-python${if isPython3 then "3" else ""}interp=yes" # Duplicate?
"--with-python${if isPython3 then "3" else ""}-config-dir=${python}/lib"
"--disable-python${if isPython3 then "" else "3"}interp"
]
++ stdenv.lib.optional nlsSupport "--enable-nls"
++ stdenv.lib.optional perlSupport "--enable-perlinterp"
++ stdenv.lib.optional rubySupport "--enable-rubyinterp"
++ stdenv.lib.optional tclSupport "--enable-tclinterp"
++ stdenv.lib.optional multibyteSupport "--enable-multibyte"
++ stdenv.lib.optional cscopeSupport "--enable-cscope"
++ stdenv.lib.optional netbeansSupport "--enable-netbeans"
++ stdenv.lib.optional ximSupport "--enable-xim";
postInstall = stdenv.lib.optionalString stdenv.isLinux ''
nativeBuildInputs = [
pkgconfig
]
++ stdenv.lib.optional wrapPythonDrv makeWrapper
++ stdenv.lib.optional nlsSupport gettext
++ stdenv.lib.optional perlSupport perl
;
buildInputs = [ ncurses libX11 libXext libSM libXpm libXt libXaw libXau
libXmu glib libICE ]
++ (if guiSupport == "gtk3" then [gtk3] else [gtk2])
++ stdenv.lib.optionals darwinSupport [ CoreServices CoreData Cocoa Foundation libobjc cf-private ]
++ stdenv.lib.optional luaSupport lua
++ stdenv.lib.optional pythonSupport python
++ stdenv.lib.optional tclSupport tcl
++ stdenv.lib.optional rubySupport ruby;
preConfigure = ''
'' + stdenv.lib.optionalString ftNixSupport ''
cp ${vimPlugins.vim-nix.src}/ftplugin/nix.vim runtime/ftplugin/nix.vim
cp ${vimPlugins.vim-nix.src}/indent/nix.vim runtime/indent/nix.vim
cp ${vimPlugins.vim-nix.src}/syntax/nix.vim runtime/syntax/nix.vim
'';
NIX_LDFLAGS = stdenv.lib.optionalString (darwinSupport && stdenv.isDarwin)
"/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation";
postInstall = ''
'' + stdenv.lib.optionalString stdenv.isLinux ''
patchelf --set-rpath \
"$(patchelf --print-rpath $out/bin/vim):${lib.makeLibraryPath buildInputs}" \
"$out"/bin/{vim,gvim}
ln -sfn '${nixosRuntimepath}' "$out"/share/vim/vimrc
'' + stdenv.lib.optionalString wrapPythonDrv ''
wrapProgram "$out/bin/vim" --prefix PATH : "${python}/bin"
'';
preInstall = ''
mkdir -p $out/share/applications $out/share/icons/{hicolor,locolor}/{16x16,32x32,48x48}/apps
'';
dontStrip = 1;
})
}

View File

@ -1,110 +1,94 @@
args@{ fetchgit, stdenv, ncurses, pkgconfig, gettext
, composableDerivation, lib, config, python, perl, tcl, ruby, qt4
, lib, config, python, perl, tcl, ruby, qt4
, libX11, libXext, libSM, libXpm, libXt, libXaw, libXau, libXmu
, libICE, ... }: with args;
, libICE
, lua
, features
, luaSupport ? config.vim.lua or true
, perlSupport ? config.vim.perl or false # Perl interpreter
, pythonSupport ? config.vim.python or true
, rubySupport ? config.vim.ruby or true
, nlsSupport ? config.vim.nls or false
, tclSupport ? config.vim.tcl or false
, multibyteSupport ? config.vim.multibyte or false
, cscopeSupport ? config.vim.cscope or false
, netbeansSupport ? config.netbeans or true # eg envim is using it
# by default, compile with darwin support if we're compiling on darwin, but
# allow this to be disabled by setting config.vim.darwin to false
, darwinSupport ? stdenv.isDarwin && (config.vim.darwin or true)
# add .nix filetype detection and minimal syntax highlighting support
, ftNixSupport ? config.vim.ftNix or true
, ... }: with args;
let tag = "20140827";
sha256 = "0ncgbcm23z25naicxqkblz0mcl1zar2qwgi37y5ar8q8884w9ml2";
in
in {
let inherit (args.composableDerivation) composableDerivation edf; in
composableDerivation {
} (fix: {
name = "qvim-7.4." + tag;
name = "qvim-7.4." + tag;
enableParallelBuilding = true; # test this
enableParallelBuilding = true; # test this
src = fetchgit {
url = https://bitbucket.org/equalsraf/vim-qt.git ;
rev = "refs/tags/package-" + tag;
inherit sha256;
};
# FIXME: adopt Darwin fixes from vim/default.nix, then chage meta.platforms.linux
# to meta.platforms.unix
preConfigure = assert (! stdenv.isDarwin); "";
configureFlags = [ "--with-vim-name=qvim" "--enable-gui=qt" "--with-features=${args.features}" ];
nativeBuildInputs
= [ ncurses pkgconfig libX11 libXext libSM libXpm libXt libXaw libXau
libXmu libICE qt4];
# most interpreters aren't tested yet.. (see python for example how to do it)
flags = {
ftNix = {
# because we cd to src in the main patch phase, we can't just add this
# patch to the list, we have to apply it manually
postPatch = ''
cd runtime
patch -p2 < ${./ft-nix-support.patch}
cd ..
'';
};
}
// edf { name = "darwin"; } #Disable Darwin (macOS) support.
// edf { name = "xsmp"; } #Disable XSMP session management
// edf { name = "xsmp_interact"; } #Disable XSMP interaction
// edf { name = "mzscheme"; } #Include MzScheme interpreter.
// edf { name = "perl"; feat = "perlinterp"; enable = { nativeBuildInputs = [perl]; };} #Include Perl interpreter.
// edf {
name = "python";
feat = "pythoninterp";
enable = {
nativeBuildInputs = [ python ];
} // lib.optionalAttrs stdenv.isDarwin {
configureFlags
= [ "--enable-pythoninterp=yes"
"--with-python-config-dir=${python}/lib" ];
};
}
// edf { name = "tcl"; enable = { nativeBuildInputs = [tcl]; }; } #Include Tcl interpreter.
// edf { name = "ruby"; feat = "rubyinterp"; enable = { nativeBuildInputs = [ruby]; };} #Include Ruby interpreter.
// edf {
name = "lua";
feat = "luainterp";
enable = {
nativeBuildInputs = [lua];
configureFlags = [
"--with-lua-prefix=${args.lua}"
"--enable-luainterp"
];
};
}
// edf { name = "cscope"; } #Include cscope interface.
// edf { name = "workshop"; } #Include Sun Visual Workshop support.
// edf { name = "netbeans"; } #Disable NetBeans integration support.
// edf { name = "sniff"; feat = "sniff" ; } #Include Sniff interface.
// edf { name = "multibyte"; } #Include multibyte editing support.
// edf { name = "hangulinput"; feat = "hangulinput" ;} #Include Hangul input support.
// edf { name = "xim"; } #Include XIM input support.
// edf { name = "fontset"; } #Include X fontset output support.
// edf { name = "acl"; } #Don't check for ACL support.
// edf { name = "gpm"; } #Don't use gpm (Linux mouse daemon).
// edf { name = "nls"; enable = {nativeBuildInputs = [gettext];}; } #Don't support NLS (gettext()).
;
cfg = {
luaSupport = config.vim.lua or true;
pythonSupport = config.vim.python or true;
rubySupport = config.vim.ruby or true;
nlsSupport = config.vim.nls or false;
tclSupport = config.vim.tcl or false;
multibyteSupport = config.vim.multibyte or false;
cscopeSupport = config.vim.cscope or false;
netbeansSupport = config.netbeans or true; # eg envim is using it
# by default, compile with darwin support if we're compiling on darwin, but
# allow this to be disabled by setting config.vim.darwin to false
darwinSupport = stdenv.isDarwin && (config.vim.darwin or true);
# add .nix filetype detection and minimal syntax highlighting support
ftNixSupport = config.vim.ftNix or true;
src = fetchgit {
url = https://bitbucket.org/equalsraf/vim-qt.git;
rev = "refs/tags/package-" + tag;
inherit sha256;
};
# FIXME: adopt Darwin fixes from vim/default.nix, then chage meta.platforms.linux
# to meta.platforms.unix
preConfigure = assert (! stdenv.isDarwin); "";
configureFlags = [
"--with-vim-name=qvim"
"--enable-gui=qt"
"--with-features=${features}"
"--disable-xsmp"
"--disable-xsmp_interact"
"--disable-workshop" # Sun Visual Workshop support
"--disable-sniff" # Sniff interface
"--disable-hangulinput" # Hangul input support
"--disable-fontset" # X fontset output support
"--disable-acl" # ACL support
"--disable-gpm" # GPM (Linux mouse daemon)
"--disable-mzscheme"
]
++ stdenv.lib.optionals luaSupport [
"--with-lua-prefix=${lua}"
"--enable-luainterp"
]
++ stdenv.lib.optional pythonSupport "--enable-pythoninterp"
++ stdenv.lib.optional (pythonSupport && stdenv.isDarwin) "--with-python-config-dir=${python}/lib"
++ stdenv.lib.optional nlsSupport "--enable-nls"
++ stdenv.lib.optional perlSupport "--enable-perlinterp"
++ stdenv.lib.optional rubySupport "--enable-rubyinterp"
++ stdenv.lib.optional tclSupport "--enable-tcl"
++ stdenv.lib.optional multibyteSupport "--enable-multibyte"
++ stdenv.lib.optional darwinSupport "--enable-darwin"
++ stdenv.lib.optional cscopeSupport "--enable-cscope";
nativeBuildInputs = [ ncurses pkgconfig libX11 libXext libSM libXpm libXt libXaw
libXau libXmu libICE qt4
]
++ stdenv.lib.optional nlsSupport gettext
++ stdenv.lib.optional perlSupport perl
++ stdenv.lib.optional pythonSupport python
++ stdenv.lib.optional tclSupport tcl
++ stdenv.lib.optional rubySupport ruby
++ stdenv.lib.optional luaSupport lua
;
postPatch = ''
'' + stdenv.lib.optionalString ftNixSupport ''
# because we cd to src in the main patch phase, we can't just add this
# patch to the list, we have to apply it manually
cd runtime
patch -p2 < ${./ft-nix-support.patch}
cd ..
'';
postInstall = stdenv.lib.optionalString stdenv.isLinux ''
rpath=`patchelf --print-rpath $out/bin/qvim`;
for i in $nativeBuildInputs; do
@ -125,5 +109,5 @@ composableDerivation {
maintainers = with maintainers; [ smironov ttuegel ];
platforms = platforms.linux;
};
})
}

View File

@ -82,6 +82,11 @@ in
--set-rpath "${rpath}" \
$out/lib/vscode/resources/app/node_modules.asar.unpacked/keytar/build/Release/keytar.node
patchelf \
--set-rpath "${rpath}" \
"$out/lib/vscode/resources/app/node_modules.asar.unpacked/native-keymap/build/Release/\
keymapping.node"
ln -s ${lib.makeLibraryPath [libsecret]}/libsecret-1.so.0 $out/lib/vscode/libsecret-1.so.0
'';

View File

@ -49,18 +49,18 @@ let
];
in buildRustPackage rec {
name = "alacritty-unstable-${version}";
version = "2018-05-09";
version = "2018-07-20";
# At the moment we cannot handle git dependencies in buildRustPackage.
# This fork only replaces rust-fontconfig/libfontconfig with a git submodules.
src = fetchgit {
url = https://github.com/Mic92/alacritty.git;
rev = "rev-${version}";
sha256 = "0mgi4niy40zz80k2ammbzdw9d8flvfkwlxkjnbpwrrldd0sj8dlz";
sha256 = "1vhjmysfra6dsbv35qbvsf76rhkj990lgns0k0gpbcrf47gsvx1n";
fetchSubmodules = true;
};
cargoSha256 = "0d6bqfnwqfxqllrf00p1djlxdvnhrahgnyqv842qjn94j3wf0fym";
cargoSha256 = "0rs2p4sik25ynx6ri2wlg8v6vrdmf10xxnw9f2aqyps9m038i9di";
nativeBuildInputs = [
cmake
@ -87,7 +87,7 @@ in buildRustPackage rec {
mkdir $out/Applications
cp -r target/release/osx/Alacritty.app $out/Applications/Alacritty.app
'' else ''
install -D Alacritty.desktop $out/share/applications/alacritty.desktop
install -D alacritty.desktop $out/share/applications/alacritty.desktop
patchelf --set-rpath "${stdenv.lib.makeLibraryPath rpathLibs}" $out/bin/alacritty
'') + ''

View File

@ -21,7 +21,7 @@ diff --git a/Makerules b/Makerules
-SYS_GLUT_CFLAGS :=
-SYS_GLUT_LIBS := -lglut -lGL
-
ifeq "$(shell pkg-config --exists 'libcrypto <= 1.0.1t' && echo yes)" "yes"
ifeq "$(shell pkg-config --exists 'libcrypto >= 1.1.0' && echo yes)" "yes"
HAVE_LIBCRYPTO := yes
SYS_LIBCRYPTO_CFLAGS := -DHAVE_LIBCRYPTO $(shell pkg-config --cflags libcrypto)
@@ -113,7 +101,7 @@ SYS_CURL_CFLAGS += $(shell pkg-config --cflags openssl)
@ -33,3 +33,15 @@ diff --git a/Makerules b/Makerules
ifeq "$(shell pkg-config --exists x11 xext && echo yes)" "yes"
HAVE_X11 := yes
diff --git a/platform/gl/gl-main.c b/platform/gl/gl-main.c
index d58f7ba..808af18 100644
--- a/platform/gl/gl-main.c
+++ b/platform/gl/gl-main.c
@@ -16,6 +16,7 @@ void glutExit(void) {}
void glutMouseWheelFunc(void *fn) {}
void glutInitErrorFunc(void *fn) {}
void glutInitWarningFunc(void *fn) {}
+#define glutSetOption(X,Y)
#endif
enum

View File

@ -1,72 +1,32 @@
{ stdenv, go, fetchzip, git, fetchFromGitHub, fetchgit }:
{ buildGo110Package, fetchzip, lib }:
# When perkeep is updated all deps in the let block should be removed
let
gopherjs = fetchFromGitHub {
owner = "gopherjs";
repo = "gopherjs";
# Rev matching https://github.com/perkeep/perkeep/commit/2e46fca5cc1179dbd90bec49fec3870e6eca6c45
rev = "b40cd48c38f9a18eb3db20d163bad78de12cf0b7";
sha256 = "0kniz8dg5bymb03qriizza1h3gpymf97vsgq9vd222282pdj0vyc";
};
gotool = fetchFromGitHub {
owner = "kisielk";
repo = "gotool";
rev = "80517062f582ea3340cd4baf70e86d539ae7d84d";
sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn";
};
gcimporter15 = fetchgit {
url = "https://go.googlesource.com/tools";
rev = "f8f2f88271bf2c23f28a09d288d26507a9503c97";
sha256 = "1pchwizx1sdli59g8r0p4djfjkchcvh8msfpp3ibvz3xl250jh0n";
};
in
stdenv.mkDerivation rec {
buildGo110Package rec {
name = "perkeep-${version}";
version = "20170505";
version = "0.10.1";
src = fetchzip {
url = "https://perkeep.org/dl/monthly/camlistore-${version}-src.zip";
sha256 = "1vliyvkyzmhdi6knbh8rdsswmz3h0rpxdpq037jwbdbkjccxjdwa";
url = "https://perkeep.org/dl/perkeep-${version}-src.zip";
sha256 = "0rqibc6w4m1r50i2pjcgz1k9dxh18v7jwj4s29y470bc526wv422";
};
# When perkeep is updated postPatch should be removed
postPatch = ''
rm -r ./vendor/github.com/gopherjs/gopherjs/
cp -a ${gopherjs} ./vendor/github.com/gopherjs/gopherjs
mkdir -p ./vendor/github.com/kisielk/
cp -a ${gotool} ./vendor/github.com/kisielk/gotool
mkdir -p ./vendor/golang.org/x/tools/go
cp -a ${gcimporter15}/go/gcimporter15 ./vendor/golang.org/x/tools/go/gcimporter15
goPackagePath = "perkeep.org";
substituteInPlace vendor/github.com/gopherjs/gopherjs/build/build.go \
--replace '"github.com/fsnotify/fsnotify"' 'fsnotify "camlistore.org/pkg/misc/fakefsnotify"'
substituteInPlace ./make.go \
--replace "goVersionMinor = '8'" "goVersionMinor = '9'" \
--replace "gopherJSGoMinor = '8'" "gopherJSGoMinor = '9'"
'';
buildInputs = [ git go ];
goPackagePath = "";
buildPhase = ''
cd "$NIX_BUILD_TOP/go/src/$goPackagePath"
go run make.go
'';
installPhase = ''
mkdir -p $out/bin
cp bin/* $out/bin
# devcam is only useful when developing perkeep, we should not install it as
# part of this derivation.
postInstall = ''
rm -f $out/bin/devcam
'';
meta = with stdenv.lib; {
meta = with lib; {
description = "A way of storing, syncing, sharing, modelling and backing up content (née Camlistore)";
homepage = https://perkeep.org;
license = licenses.asl20;
maintainers = with maintainers; [ cstrahan ];
maintainers = with maintainers; [ cstrahan kalbasit ];
platforms = platforms.unix;
};
}

View File

@ -8,6 +8,7 @@
, iwSupport ? true, wirelesstools ? null
, githubSupport ? false, curl ? null
, mpdSupport ? false, mpd_clientlib ? null
, pulseSupport ? false, libpulseaudio ? null
, i3Support ? false, i3GapsSupport ? false, i3 ? null, i3-gaps ? null, jsoncpp ? null
}:
@ -15,17 +16,18 @@ assert alsaSupport -> alsaLib != null;
assert githubSupport -> curl != null;
assert iwSupport -> wirelesstools != null;
assert mpdSupport -> mpd_clientlib != null;
assert pulseSupport -> libpulseaudio != null;
assert i3Support -> ! i3GapsSupport && jsoncpp != null && i3 != null;
assert i3GapsSupport -> ! i3Support && jsoncpp != null && i3-gaps != null;
stdenv.mkDerivation rec {
name = "polybar-${version}";
version = "3.1.0";
version = "3.2.0";
src = fetchgit {
url = "https://github.com/jaagr/polybar";
rev = "bf16a4d415ea7d8845f578544de0c71e56ad314e";
sha256 = "1jcvqxl0477j0snvh1rzqsm1dkfsybix2lgrlsgiczdxfknwz8iy";
rev = version;
sha256 = "0p94brndysvmmbidhl4ds4w3qvddb752s4vryp0qckb0hz3knqk8";
};
meta = with stdenv.lib; {
@ -48,6 +50,7 @@ stdenv.mkDerivation rec {
(if githubSupport then curl else null)
(if iwSupport then wirelesstools else null)
(if mpdSupport then mpd_clientlib else null)
(if pulseSupport then libpulseaudio else null)
(if i3Support || i3GapsSupport then jsoncpp else null)
(if i3Support then i3 else null)

View File

@ -65,5 +65,6 @@ mkDerivation rec {
homepage = https://yakuake.kde.org;
description = "Quad-style terminal emulator for KDE";
maintainers = with lib.maintainers; [ fridh ];
license = lib.licenses.gpl2;
};
}

View File

@ -0,0 +1,30 @@
{ stdenv, fetchFromGitHub, lib, ... }:
stdenv.mkDerivation rec {
name = "kubetail-${version}";
version = "1.6.1";
src = fetchFromGitHub {
owner = "johanhaleby";
repo = "kubetail";
rev = "${version}";
sha256 = "10ql1kdsmyrk73jb6f5saf2q38znm0vdihscj3c9n0qhyhk9blpl";
};
installPhase = ''
install -Dm755 kubetail $out/bin/kubetail
'';
meta = with lib; {
description = "Bash script to tail Kubernetes logs from multiple pods at the same time";
longDescription = ''
Bash script that enables you to aggregate (tail/follow) logs from
multiple pods into one stream. This is the same as running "kubectl logs
-f " but for multiple pods.
'';
homepage = https://github.com/johanhaleby/kubetail;
license = licenses.asl20;
maintainers = with maintainers; [ kalbasit ];
platforms = platforms.all;
};
}

View File

@ -19,5 +19,6 @@ stdenv.mkDerivation {
description = "Instant messaging (MSN Messenger clone)";
homepage = http://amsn-project.net;
platforms = stdenv.lib.platforms.linux;
license = stdenv.lib.licenses.gpl2;
};
}

View File

@ -77,6 +77,6 @@ let unwrapped = stdenv.mkDerivation rec {
in if plugins == [] then unwrapped
else import ./wrapper.nix {
inherit stdenv makeWrapper symlinkJoin plugins;
inherit makeWrapper symlinkJoin plugins;
pidgin = unwrapped;
}

View File

@ -0,0 +1,100 @@
diff --git a/data/assets/scene/solarsystem/planets/jupiter/jup310.asset b/data/assets/scene/solarsystem/planets/jupiter/jup310.asset
index c15f6d9..1f8ddaf 100755
--- a/data/assets/scene/solarsystem/planets/jupiter/jup310.asset
+++ b/data/assets/scene/solarsystem/planets/jupiter/jup310.asset
@@ -1,8 +1,8 @@
-local Kernels = asset.syncedResource({
- Name = "Jupiter Spice Kernels (jup310)",
- Type = "TorrentSynchronization",
- Identifier = "jup310",
- Magnet = "magnet:?xt=urn:btih:E8B7D7E136DE1C6249158B254BFC8B9ECE2A0539&dn=jup310.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce"
-})
+-- local Kernels = asset.syncedResource({
+-- Name = "Jupiter Spice Kernels (jup310)",
+-- Type = "TorrentSynchronization",
+-- Identifier = "jup310",
+-- Magnet = "magnet:?xt=urn:btih:E8B7D7E136DE1C6249158B254BFC8B9ECE2A0539&dn=jup310.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce"
+-- })
-asset.export("Kernels", Kernels .. '/jup310.bsp')
+-- asset.export("Kernels", Kernels .. '/jup310.bsp')
diff --git a/data/assets/scene/solarsystem/planets/mars/mar097.asset b/data/assets/scene/solarsystem/planets/mars/mar097.asset
index e77d67d..8d738a6 100755
--- a/data/assets/scene/solarsystem/planets/mars/mar097.asset
+++ b/data/assets/scene/solarsystem/planets/mars/mar097.asset
@@ -1,8 +1,8 @@
-local Kernels = asset.syncedResource({
- Name = "Mars Spice Kernels",
- Type = "TorrentSynchronization",
- Identifier = "mat097",
- Magnet = "magnet:?xt=urn:btih:308F326B9AF864294D73042FBBED33B17291E27E&dn=mar097.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce"
-})
+-- local Kernels = asset.syncedResource({
+-- Name = "Mars Spice Kernels",
+-- Type = "TorrentSynchronization",
+-- Identifier = "mat097",
+-- Magnet = "magnet:?xt=urn:btih:308F326B9AF864294D73042FBBED33B17291E27E&dn=mar097.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce"
+-- })
-asset.export("Kernels", Kernels .. '/mar097.bsp')
+-- asset.export("Kernels", Kernels .. '/mar097.bsp')
diff --git a/data/assets/scene/solarsystem/planets/neptune/nep081.asset b/data/assets/scene/solarsystem/planets/neptune/nep081.asset
index e9c49ce..cfb5fac 100755
--- a/data/assets/scene/solarsystem/planets/neptune/nep081.asset
+++ b/data/assets/scene/solarsystem/planets/neptune/nep081.asset
@@ -1,8 +1,8 @@
-local Kernels = asset.syncedResource({
- Name = "Neptune Spice Kernels (nep081)",
- Type = "TorrentSynchronization",
- Identifier = "nep081",
- Magnet = "magnet:?xt=urn:btih:A6079CF8D4BF3B6BB38F4F9F633CB7724FF91693&dn=nep081.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce"
-})
+-- local Kernels = asset.syncedResource({
+-- Name = "Neptune Spice Kernels (nep081)",
+-- Type = "TorrentSynchronization",
+-- Identifier = "nep081",
+-- Magnet = "magnet:?xt=urn:btih:A6079CF8D4BF3B6BB38F4F9F633CB7724FF91693&dn=nep081.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce"
+-- })
-asset.export("Kernels", Kernels .. '/nep081.bsp')
+-- asset.export("Kernels", Kernels .. '/nep081.bsp')
diff --git a/data/assets/scene/solarsystem/planets/saturn/sat375.asset b/data/assets/scene/solarsystem/planets/saturn/sat375.asset
index a55f2ed..f904b3c 100755
--- a/data/assets/scene/solarsystem/planets/saturn/sat375.asset
+++ b/data/assets/scene/solarsystem/planets/saturn/sat375.asset
@@ -1,8 +1,8 @@
-local Kernels = asset.syncedResource({
- Name = "Saturn Spice Kernels (sat375)",
- Type = "TorrentSynchronization",
- Identifier = "sat375",
- Magnet = "magnet:?xt=urn:btih:79083d2069df389e65d7688bb326c7aaf1953845&dn=sat375.bsp"
-})
+-- local Kernels = asset.syncedResource({
+-- Name = "Saturn Spice Kernels (sat375)",
+-- Type = "TorrentSynchronization",
+-- Identifier = "sat375",
+-- Magnet = "magnet:?xt=urn:btih:79083d2069df389e65d7688bb326c7aaf1953845&dn=sat375.bsp"
+-- })
-asset.export("Kernels", Kernels .. '/sat375.bsp')
+-- asset.export("Kernels", Kernels .. '/sat375.bsp')
diff --git a/data/assets/scene/solarsystem/planets/uranus/ura111.asset b/data/assets/scene/solarsystem/planets/uranus/ura111.asset
index 665d059..8f95f34 100755
--- a/data/assets/scene/solarsystem/planets/uranus/ura111.asset
+++ b/data/assets/scene/solarsystem/planets/uranus/ura111.asset
@@ -1,8 +1,8 @@
-local Kernels = asset.syncedResource({
- Name = "Uranus Spice Kernels (ura111)",
- Type = "TorrentSynchronization",
- Identifier = "ura111",
- Magnet = "magnet:?xt=urn:btih:26C4903D1A12AE439480F31B45BAEB5781D2B305&dn=ura111.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce"
-})
+-- local Kernels = asset.syncedResource({
+-- Name = "Uranus Spice Kernels (ura111)",
+-- Type = "TorrentSynchronization",
+-- Identifier = "ura111",
+-- Magnet = "magnet:?xt=urn:btih:26C4903D1A12AE439480F31B45BAEB5781D2B305&dn=ura111.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce"
+-- })
-asset.export("Kernels", Kernels .. '/ura111.bsp')
+-- asset.export("Kernels", Kernels .. '/ura111.bsp')

View File

@ -0,0 +1,49 @@
diff --git a/openspace.cfg b/openspace.cfg
index c86830b..e7f89d9 100755
--- a/openspace.cfg
+++ b/openspace.cfg
@@ -2,18 +2,21 @@
-- require('scripts/configuration_helper.lua')
-- which defines helper functions useful to customize the configuration
+userdir = os.getenv("HOME") .. "/.openspace/"
+os.execute("mkdir -p " .. userdir)
+
return {
-- Determines which SGCT configuration file is loaded, that is, if there rendering
-- occurs in a single window, a fisheye projection, or a dome cluster system
-- A regular 1280x720 window
- SGCTConfig = sgct.config.single{},
+ -- SGCTConfig = sgct.config.single{},
-- A regular 1920x1080 window
-- SGCTConfig = sgct.config.single{1920, 1080},
-- A windowed 1920x1080 fullscreen
- -- SGCTConfig = sgct.config.single{1920, 1080, border=false, windowPos={0,0}, shared=true, name="WV_OBS_SPOUT1"},
+ SGCTConfig = sgct.config.single{1920, 1080, border=false, windowPos={0,0}, shared=true, name="WV_OBS_SPOUT1"},
-- A 1k fisheye rendering
-- SGCTConfig = sgct.config.fisheye{1024, 1024},
@@ -53,15 +56,15 @@ return {
TASKS = "${DATA}/tasks",
WEB = "${DATA}/web",
- CACHE = "${BASE}/cache",
+ CACHE = userdir .. "cache",
CONFIG = "${BASE}/config",
- DOCUMENTATION = "${BASE}/documentation",
- LOGS = "${BASE}/logs",
+ DOCUMENTATION = userdir .. "documentation",
+ LOGS = userdir .. "logs",
MODULES = "${BASE}/modules",
SCRIPTS = "${BASE}/scripts",
SHADERS = "${BASE}/shaders",
- SYNC = "${BASE}/sync",
- TESTDIR = "${BASE}/tests"
+ SYNC = userdir .. "sync",
+ TESTDIR = userdir .. "tests"
},
Fonts = {
Mono = "${FONTS}/Bitstream-Vera-Sans-Mono/VeraMono.ttf",

View File

@ -0,0 +1,91 @@
diff --git a/include/openspace/util/distanceconversion.h b/include/openspace/util/distanceconversion.h
index 80a3a96..7059752 100755
--- a/include/openspace/util/distanceconversion.h
+++ b/include/openspace/util/distanceconversion.h
@@ -159,24 +159,34 @@ constexpr const char* nameForDistanceUnit(DistanceUnit unit, bool pluralForm = f
}
constexpr DistanceUnit distanceUnitFromString(const char* unitName) {
+ int result = -1;
+
int i = 0;
for (const char* val : DistanceUnitNamesSingular) {
if (ghoul::equal(unitName, val)) {
- return static_cast<DistanceUnit>(i);
+ result = i;
+ break;
}
++i;
}
- i = 0;
- for (const char* val : DistanceUnitNamesPlural) {
- if (ghoul::equal(unitName, val)) {
- return static_cast<DistanceUnit>(i);
+ if (result == -1) {
+ i = 0;
+ for (const char* val : DistanceUnitNamesPlural) {
+ if (ghoul::equal(unitName, val)) {
+ result = i;
+ break;
+ }
+ ++i;
}
- ++i;
}
- ghoul_assert(false, "Unit name is not a valid name");
- throw ghoul::MissingCaseException();
+ if (result != -1)
+ return static_cast<DistanceUnit>(result);
+ else {
+ ghoul_assert(false, "Unit name is not a valid name");
+ throw ghoul::MissingCaseException();
+ }
}
diff --git a/include/openspace/util/timeconversion.h b/include/openspace/util/timeconversion.h
index a36c92a..699bca9 100755
--- a/include/openspace/util/timeconversion.h
+++ b/include/openspace/util/timeconversion.h
@@ -142,23 +142,32 @@ constexpr const char* nameForTimeUnit(TimeUnit unit, bool pluralForm = false) {
}
constexpr TimeUnit timeUnitFromString(const char* unitName) {
+ int result = -1;
+
int i = 0;
for (const char* val : TimeUnitNamesSingular) {
if (ghoul::equal(unitName, val)) {
- return static_cast<TimeUnit>(i);
+ result = i;
+ break;
}
++i;
}
- i = 0;
- for (const char* val : TimeUnitNamesPlural) {
- if (ghoul::equal(unitName, val)) {
- return static_cast<TimeUnit>(i);
+ if (result == -1) {
+ i = 0;
+ for (const char* val : TimeUnitNamesPlural) {
+ if (ghoul::equal(unitName, val)) {
+ result = i;
+ break;
+ }
+ ++i;
}
- ++i;
}
- throw ghoul::MissingCaseException();
+ if (result != -1)
+ return static_cast<TimeUnit>(result);
+ else
+ throw ghoul::MissingCaseException();
}
std::pair<double, std::string> simplifyTime(double seconds,

View File

@ -0,0 +1,89 @@
{ stdenv, fetchFromGitHub, fetchurl, makeWrapper, cmake
, curl, boost, gdal, glew, soil
, libX11, libXi, libXxf86vm, libXcursor, libXrandr, libXinerama }:
stdenv.mkDerivation rec {
version = "0.11.1";
name = "openspace-${version}";
src = fetchFromGitHub {
owner = "OpenSpace";
repo = "OpenSpace";
rev = "a65eea61a1b8807ce3d69e9925e75f8e3dfb085d";
sha256 = "0msqixf30r0d41xmfmzkdfw6w9jkx2ph5clq8xiwrg1jc3z9q7nv";
fetchSubmodules = true;
};
buildInputs = [
makeWrapper cmake
curl boost gdal glew soil
libX11 libXi libXxf86vm libXcursor libXrandr libXinerama
];
glmPlatformH = fetchurl {
url = "https://raw.githubusercontent.com/g-truc/glm/dd48b56e44d699a022c69155c8672caacafd9e8a/glm/simd/platform.h";
sha256 = "0y91hlbgn5va7ijg5mz823gqkq9hqxl00lwmdwnf8q2g086rplzw";
};
# See <https://github.com/g-truc/glm/issues/726>
prePatch = ''
cp ${glmPlatformH} ext/sgct/include/glm/simd/platform.h
cp ${glmPlatformH} ext/ghoul/ext/glm/glm/simd/platform.h
'';
patches = [
# See <https://github.com/opensgct/sgct/issues/13>
./vrpn.patch
./constexpr.patch
./config.patch
# WARNING: This patch disables some slow torrents in a very dirty way.
./assets.patch
];
bundle = "$out/usr/share/openspace";
preConfigure = ''
cmakeFlagsArray=(
$cmakeFlagsArray
"-DCMAKE_BUILD_TYPE="
"-DCMAKE_INSTALL_PREFIX=${bundle}"
)
'';
preInstall = ''
mkdir -p $out/bin
mkdir -p ${bundle}
'';
postInstall = ''
cp ext/spice/libSpice.so ${bundle}/lib
cp ext/ghoul/ext/lua/libLua.so ${bundle}/lib
'';
postFixup = ''
for bin in ${bundle}/bin/*
do
rpath=$(patchelf --print-rpath $bin)
patchelf --set-rpath $rpath:${bundle}/lib $bin
name=$(basename $bin)
makeWrapper $bin $out/bin/$name --run "cd ${bundle}"
done
'';
meta = {
description = "Open-source astrovisualization project";
longDescription = ''
OpenSpace is open source interactive data visualization software
designed to visualize the entire known universe and portray our
ongoing efforts to investigate the cosmos.
WARNING: This build is not very usable for now.
'';
homepage = https://www.openspaceproject.com/;
license = stdenv.lib.licenses.mit;
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -0,0 +1,13 @@
diff --git a/ext/sgct/src/deps/vrpn/vrpn_Connection.C b/ext/sgct/src/deps/vrpn/vrpn_Connection.C
index d6ffdc5..f90a2b2 100755
--- a/ext/sgct/src/deps/vrpn/vrpn_Connection.C
+++ b/ext/sgct/src/deps/vrpn/vrpn_Connection.C
@@ -2489,7 +2489,7 @@ static int vrpn_start_server(const char *machine, char *server_name, char *args,
#if defined(sparc) || defined(FreeBSD) || defined(_AIX) || defined(__ANDROID__)
int status; // doesn't exist on sparc_solaris or FreeBSD
#else
- union wait status;
+ int status;
#endif
/* Check to see if they called back yet. */

View File

@ -1,4 +1,5 @@
{ stdenv, fetchurl, gmp, bison, perl, ncurses, readline, coreutils, pkgconfig
, lib
, autoreconfHook
, file
, flint
@ -9,21 +10,25 @@
}:
stdenv.mkDerivation rec {
name = "singular-${version}${patchVersion}";
version = "4.1.1";
patchVersion = "p1";
name = "singular-${version}";
version = "4.1.1p2";
urlVersion = builtins.replaceStrings [ "." ] [ "-" ] version;
src = fetchurl {
url = "http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/${urlVersion}/singular-${version}${patchVersion}.tar.gz";
sha256 = "0wvgz7l1b7zkpmim0r3mvv4fp8xnhlbz4c7hc90rn30snlansnf1";
src = let
# singular sorts its tarballs in directories by base release (without patch version)
# for example 4.1.1p1 will be in the directory 4-1-1
baseVersion = builtins.head (lib.splitString "p" version);
urlVersion = builtins.replaceStrings [ "." ] [ "-" ] baseVersion;
in
fetchurl {
url = "http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/${urlVersion}/singular-${version}.tar.gz";
sha256 = "07x9kri8vl4galik7lr6pscq3c51n8570pyw64i7gbj0m706f7wf";
};
configureFlags = [
"--with-ntl=${ntl}"
] ++stdenv.lib.optionals enableFactory [
] ++ lib.optionals enableFactory [
"--enable-factory"
] ++ stdenv.lib.optionals enableGfanlib [
] ++ lib.optionals enableGfanlib [
"--enable-gfanlib"
];
@ -42,7 +47,7 @@ stdenv.mkDerivation rec {
readline
ntl
flint
] ++ stdenv.lib.optionals enableGfanlib [
] ++ lib.optionals enableGfanlib [
cddlib
];
nativeBuildInputs = [
@ -60,10 +65,12 @@ stdenv.mkDerivation rec {
-i '{}' ';'
'';
hardeningDisable = stdenv.lib.optional stdenv.isi686 "stackprotector";
hardeningDisable = lib.optional stdenv.isi686 "stackprotector";
# The Makefile actually defaults to `make install` anyway
buildPhase = "true;";
buildPhase = ''
# do nothing
'';
installPhase = ''
mkdir -p "$out"
@ -77,7 +84,7 @@ stdenv.mkDerivation rec {
# simple test to make sure singular starts and finds its libraries
doInstallCheck = true;
installCheckPhase = ''
$out/bin/Singular -c 'LIB "freegb.lib"; exit;'
"$out/bin/Singular" -c 'LIB "freegb.lib"; exit;'
if [ $? -ne 0 ]; then
echo >&2 "Error loading the freegb library in Singular."
exit 1
@ -86,9 +93,10 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
meta = with stdenv.lib; {
meta = with lib; {
description = "A CAS for polynomial computations";
maintainers = with maintainers; [ raskin ];
maintainers = with maintainers; [ raskin timokau ];
# 32 bit x86 fails with some link error: `undefined reference to `__divmoddi4@GCC_7.0.0'`
platforms = subtractLists platforms.i686 platforms.linux;
license = licenses.gpl3; # Or GPLv2 at your option - but not GPLv4
homepage = http://www.singular.uni-kl.de;

View File

@ -38,6 +38,7 @@ let
svnSupport = true;
guiSupport = true;
sendEmailSupport = !stdenv.isDarwin;
withLibsecret = !stdenv.isDarwin;
};
# Git with SVN support, but without GUI.

View File

@ -12,6 +12,8 @@
, withpcre2 ? true
, sendEmailSupport
, darwin
, withLibsecret ? false
, pkgconfig, glib, libsecret
}:
assert sendEmailSupport -> perlSupport;
@ -64,7 +66,8 @@ stdenv.mkDerivation {
++ stdenv.lib.optionals perlSupport [ perl ]
++ stdenv.lib.optionals guiSupport [tcl tk]
++ stdenv.lib.optionals withpcre2 [ pcre2 ]
++ stdenv.lib.optionals stdenv.isDarwin [ darwin.Security ];
++ stdenv.lib.optionals stdenv.isDarwin [ darwin.Security ]
++ stdenv.lib.optionals withLibsecret [ pkgconfig glib libsecret ];
# required to support pthread_cancel()
NIX_LDFLAGS = stdenv.lib.optionalString (!stdenv.cc.isClang) "-lgcc_s"
@ -90,12 +93,14 @@ stdenv.mkDerivation {
++ stdenv.lib.optionals stdenv.hostPlatform.isMusl ["NO_SYS_POLL_H=1" "NO_GETTEXT=YesPlease"]
++ stdenv.lib.optional withpcre2 "USE_LIBPCRE2=1";
# build git-credential-osxkeychain if darwin
postBuild = stdenv.lib.optionalString stdenv.isDarwin ''
pushd $PWD/contrib/credential/osxkeychain/
make
popd
'';
postBuild = ''
make -C contrib/subtree
'' + (stdenv.lib.optionalString stdenv.isDarwin ''
make -C contrib/credential/osxkeychain
'') + (stdenv.lib.optionalString withLibsecret ''
make -C contrib/credential/libsecret
'');
## Install
@ -105,11 +110,15 @@ stdenv.mkDerivation {
installFlags = "NO_INSTALL_HARDLINKS=1";
preInstall = stdenv.lib.optionalString stdenv.isDarwin ''
preInstall = (stdenv.lib.optionalString stdenv.isDarwin ''
mkdir -p $out/bin
cp -a $PWD/contrib/credential/osxkeychain/git-credential-osxkeychain $out/bin
ln -s $out/share/git/contrib/credential/osxkeychain/git-credential-osxkeychain $out/bin/
rm -f $PWD/contrib/credential/osxkeychain/git-credential-osxkeychain.o
'';
'') + (stdenv.lib.optionalString withLibsecret ''
mkdir -p $out/bin
ln -s $out/share/git/contrib/credential/libsecret/git-credential-libsecret $out/bin/
rm -f $PWD/contrib/credential/libsecret/git-credential-libsecret.o
'');
postInstall =
''
@ -118,10 +127,7 @@ stdenv.mkDerivation {
}
# Install git-subtree.
pushd contrib/subtree
make
make install ${stdenv.lib.optionalString withManual "install-doc"}
popd
make -C contrib/subtree install ${stdenv.lib.optionalString withManual "install-doc"}
rm -rf contrib/subtree
# Install contrib stuff.

View File

@ -4,14 +4,14 @@
stdenv.mkDerivation rec {
pname = "tig";
version = "2.3.3";
version = "2.4.0";
name = "${pname}-${version}";
src = fetchFromGitHub {
owner = "jonas";
repo = pname;
rev = name;
sha256 = "1gw5ia6cl5b0q91kv4vfg35my2p49np23aikxqf5gn00zhqrkfap";
sha256 = "1d5clkdgj0ip1j0k335pr4dabcnap6jr016q90i49p1jxixy96pb";
};
nativeBuildInputs = [ makeWrapper autoreconfHook asciidoc xmlto docbook_xsl docbook_xml_dtd_45 findXMLCatalogs pkgconfig ];

View File

@ -7,13 +7,13 @@ with stdenv.lib;
buildGoPackage rec {
name = "gitea-${version}";
version = "1.4.2";
version = "1.4.3";
src = fetchFromGitHub {
owner = "go-gitea";
repo = "gitea";
rev = "v${version}";
sha256 = "15iqvfvijg46444pybi7vg7xhl2x0pr5p1416qlc2nakkn3drpi1";
sha256 = "0rl20dhj3in8w3ngix42qly077zrwg578aa2nxxznmn9k8xdvfpd";
};
patches = [ ./static-root-path.patch ];

View File

@ -74,21 +74,21 @@ assert drmSupport -> available libdrm;
let
# Purity: Waf is normally downloaded by bootstrap.py, but
# for purity reasons this behavior should be avoided.
wafVersion = "1.9.15";
wafVersion = "2.0.9";
waf = fetchurl {
urls = [ "https://waf.io/waf-${wafVersion}"
"http://www.freehackers.org/~tnagy/release/waf-${wafVersion}" ];
sha256 = "0qrnlv91cb0v221w8a0fi4wxm99q2hpz10rkyyk4akcsvww6xrw5";
sha256 = "0j7sbn3w6bgslvwwh5v9527w3gi2sd08kskrgxamx693y0b0i3ia";
};
in stdenv.mkDerivation rec {
name = "mpv-${version}";
version = "0.28.2";
version = "0.29.0";
src = fetchFromGitHub {
owner = "mpv-player";
repo = "mpv";
rev = "v${version}";
sha256 = "0bldxhqjz7z9fgvx4k40l49awpay17fscp8ypswb459yicy8npmg";
sha256 = "0i2nl65diqsjyz28dj07h6d8gq6ix72ysfm0nhs8514hqccaihs3";
};
postPatch = ''

View File

@ -16,10 +16,11 @@ infoFile: let
script = writeText "build-maven-repository.sh" ''
${lib.concatStrings (map (dep: let
inherit (dep)
url sha1 groupId artifactId version
authenticated metadata repository-id;
url sha1 groupId artifactId
version metadata repository-id;
versionDir = dep.unresolved-version or version;
authenticated = dep.authenticated or false;
fetch = (if authenticated then requireFile else fetchurl) {
inherit url sha1;

View File

@ -5,7 +5,15 @@
with lib;
{ pname
{ /*
pname: Nix package name without special symbols and without version or
"emacs-" prefix.
*/
pname
/*
ename: Original Emacs package name, possibly containing special symbols.
*/
, ename ? pname
, version
, recipe
, meta ? {}
@ -35,7 +43,7 @@ import ./generic.nix { inherit lib stdenv emacs texinfo; } ({
preUnpack = ''
mkdir -p "$NIX_BUILD_TOP/recipes"
if [ -n "$recipe" ]; then
cp "$recipe" "$NIX_BUILD_TOP/recipes/$pname"
cp "$recipe" "$NIX_BUILD_TOP/recipes/$ename"
fi
ln -s "$melpa/package-build" "$NIX_BUILD_TOP/package-build"
@ -45,7 +53,7 @@ import ./generic.nix { inherit lib stdenv emacs texinfo; } ({
postUnpack = ''
mkdir -p "$NIX_BUILD_TOP/working"
ln -s "$NIX_BUILD_TOP/$sourceRoot" "$NIX_BUILD_TOP/working/$pname"
ln -s "$NIX_BUILD_TOP/$sourceRoot" "$NIX_BUILD_TOP/working/$ename"
'';
buildPhase =
@ -58,7 +66,7 @@ import ./generic.nix { inherit lib stdenv emacs texinfo; } ({
-L "$melpa/package-build" \
-l "$melpa2nix" \
-f melpa2nix-build-package \
$pname $version
$ename $version
runHook postBuild
'';
@ -66,9 +74,9 @@ import ./generic.nix { inherit lib stdenv emacs texinfo; } ({
installPhase = ''
runHook preInstall
archive="$NIX_BUILD_TOP/packages/$pname-$version.el"
archive="$NIX_BUILD_TOP/packages/$ename-$version.el"
if [ ! -f "$archive" ]; then
archive="$NIX_BUILD_TOP/packages/$pname-$version.tar"
archive="$NIX_BUILD_TOP/packages/$ename-$version.tar"
fi
emacs --batch -Q \

View File

@ -0,0 +1 @@
postFixupHooks+=

View File

@ -1,5 +1,4 @@
{ stdenv, fetchurl, pkgconfig, dbus-glib, glib, ORBit2, libxml2
, polkit, intltool }:
{ stdenv, fetchurl, pkgconfig, dbus-glib, glib, ORBit2, libxml2, polkit, python2, intltool }:
stdenv.mkDerivation rec {
name = "gconf-${version}";
@ -12,7 +11,7 @@ stdenv.mkDerivation rec {
outputs = [ "out" "dev" "man" ];
buildInputs = [ ORBit2 libxml2 ]
buildInputs = [ ORBit2 libxml2 python2 ]
# polkit requires pam, which requires shadow.h, which is not available on
# darwin
++ stdenv.lib.optional (!stdenv.isDarwin) polkit;

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "closure-compiler-${version}";
version = "20180610";
version = "20180716";
src = fetchurl {
url = "https://dl.google.com/closure-compiler/compiler-${version}.tar.gz";
sha256 = "1qg9a1whmrkrifqrsb9m541cgr3rf1nnkqlv4q7rq30m8bdilvk5";
sha256 = "06yc85pbcw1v36j12qwxkk0pbhziglp3zjkv3xza2v68zvyqy6hd";
};
sourceRoot = ".";

View File

@ -29,6 +29,8 @@
ghcFlavour ? stdenv.lib.optionalString (targetPlatform != hostPlatform) "perf-cross"
}:
assert !enableIntegerSimple -> gmp != null;
let
inherit (bootPkgs) ghc;
@ -43,8 +45,7 @@ let
include mk/flavours/\$(BuildFlavour).mk
endif
DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
'' + stdenv.lib.optionalString enableIntegerSimple ''
INTEGER_LIBRARY = integer-simple
INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
'' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
Stage1Only = YES
HADDOCK_DOCS = NO
@ -127,7 +128,7 @@ stdenv.mkDerivation rec {
"--datadir=$doc/share/doc/ghc"
"--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
] ++ stdenv.lib.optional (targetPlatform == hostPlatform && ! enableIntegerSimple) [
"--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.out}/lib"
"--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib"
] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc") [
"--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [

View File

@ -34,6 +34,8 @@
deterministicProfiling ? false
}:
assert !enableIntegerSimple -> gmp != null;
let
inherit (bootPkgs) ghc;
@ -48,8 +50,7 @@ let
include mk/flavours/\$(BuildFlavour).mk
endif
DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
'' + stdenv.lib.optionalString enableIntegerSimple ''
INTEGER_LIBRARY = integer-simple
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}
@ -160,8 +161,8 @@ stdenv.mkDerivation rec {
"--datadir=$doc/share/doc/ghc"
] ++ stdenv.lib.optional (targetPlatform == hostPlatform) [
"--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
] ++ stdenv.lib.optional (targetPlatform == hostPlatform && ! enableIntegerSimple) [
"--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.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") [
"--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [

View File

@ -32,6 +32,8 @@
ghcFlavour ? stdenv.lib.optionalString (targetPlatform != hostPlatform) "perf-cross"
}:
assert !enableIntegerSimple -> gmp != null;
let
inherit (bootPkgs) ghc;
@ -46,8 +48,7 @@ let
include mk/flavours/\$(BuildFlavour).mk
endif
DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
'' + stdenv.lib.optionalString enableIntegerSimple ''
INTEGER_LIBRARY = integer-simple
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}
@ -149,8 +150,8 @@ stdenv.mkDerivation (rec {
configureFlags = [
"--datadir=$doc/share/doc/ghc"
"--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
] ++ stdenv.lib.optional (targetPlatform == hostPlatform && ! enableIntegerSimple) [
"--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.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) [

View File

@ -32,6 +32,8 @@
ghcFlavour ? stdenv.lib.optionalString (targetPlatform != hostPlatform) "perf-cross"
}:
assert !enableIntegerSimple -> gmp != null;
let
inherit (bootPkgs) ghc;
@ -46,8 +48,7 @@ let
include mk/flavours/\$(BuildFlavour).mk
endif
DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
'' + stdenv.lib.optionalString enableIntegerSimple ''
INTEGER_LIBRARY = integer-simple
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}
@ -141,8 +142,8 @@ stdenv.mkDerivation (rec {
configureFlags = [
"--datadir=$doc/share/doc/ghc"
"--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
] ++ stdenv.lib.optional (targetPlatform == hostPlatform && ! enableIntegerSimple) [
"--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.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) [

View File

@ -1,6 +1,6 @@
{ stdenv, lib, fetchFromGitHub, emscripten }:
let version = "0.10.0"; in
let version = "0.11.2"; in
stdenv.mkDerivation {
name = "jsonnet-${version}";
@ -10,7 +10,7 @@ stdenv.mkDerivation {
rev = "v${version}";
owner = "google";
repo = "jsonnet";
sha256 = "0xj540140r89qrdh3h4kzlz4x8c576ynq9i1x82zzl3d7fxbk5f0";
sha256 = "05rl5i4g36k2ikxv4sw726mha1qf5bb66wiqpi0s09wj9azm7vym";
};
buildInputs = [ emscripten ];

View File

@ -1,8 +1,8 @@
import ./generic.nix {
major_version = "4";
minor_version = "07";
patch_version = "0+rc1";
sha256 = "0ggzh078k68na2mahj3nrqkl57i1iv9aymlz8mmlcd8hbvp1fcn8";
patch_version = "0";
sha256 = "03wzkzv6w4rdiiva20g5amz0n4x75swpjl8d80468p6zm8hgfnzl";
# If the executable is stripped it does not work
dontStrip = true;

View File

@ -3,13 +3,13 @@
stdenv.mkDerivation ( rec {
name = "ponyc-${version}";
version = "0.24.0";
version = "0.24.2";
src = fetchFromGitHub {
owner = "ponylang";
repo = "ponyc";
rev = version;
sha256 = "1yq82jj0c9nxrx4vxcb3s6yr154kaj2a3wrk12m6fm3dscsqsqq1";
sha256 = "0g32bccbbwad9894zv2wjimbp8bpcj4ldddfdm4p2n8vcw6vi5y3";
};
buildInputs = [ llvm makeWrapper which ];

View File

@ -2,6 +2,7 @@
, removeReferencesTo, fetchFromGitHub }:
{ name, buildInputs ? [], nativeBuildInputs ? [], passthru ? {}, preFixup ? ""
, shellHook ? ""
# We want parallel builds by default
, enableParallelBuilding ? true
@ -202,7 +203,7 @@ go.stdenv.mkDerivation (
''
) goPath) + ''
export GOPATH=${lib.concatStringsSep ":" ( ["$d"] ++ ["$GOPATH"] ++ ["$PWD"] ++ extraSrcPaths)}
'';
'' + shellHook;
disallowedReferences = lib.optional (!allowGoReference) go
++ lib.optional (!dontRenameImports) govers;

View File

@ -416,6 +416,9 @@ self: super: {
# https://github.com/bos/snappy/issues/1
snappy = dontCheck super.snappy;
# https://github.com/kim/snappy-framing/issues/3
snappy-framing = dontHaddock super.snappy-framing;
# https://ghc.haskell.org/trac/ghc/ticket/9625
vty = dontCheck super.vty;
@ -503,11 +506,20 @@ self: super: {
# https://github.com/nushio3/doctest-prop/issues/1
doctest-prop = dontCheck super.doctest-prop;
# Missing file in source distribution:
# - https://github.com/karun012/doctest-discover/issues/22
# - https://github.com/karun012/doctest-discover/issues/23
#
# When these are fixed the following needs to be enabled again:
#
# # Depends on itself for testing
# doctest-discover = addBuildTool super.doctest-discover
# (if pkgs.buildPlatform != pkgs.hostPlatform
# then self.buildHaskellPackages.doctest-discover
# else dontCheck super.doctest-discover);
doctest-discover = dontCheck super.doctest-discover;
# Depends on itself for testing
doctest-discover = addBuildTool super.doctest-discover
(if pkgs.buildPlatform != pkgs.hostPlatform
then self.buildHaskellPackages.doctest-discover
else dontCheck super.doctest-discover);
tasty-discover = addBuildTool super.tasty-discover
(if pkgs.buildPlatform != pkgs.hostPlatform
then self.buildHaskellPackages.tasty-discover
@ -604,6 +616,11 @@ self: super: {
url = https://github.com/wjt/bustle/commit/bcc3d56d367635c0dfdb4eab0d1265829aba6400.patch;
sha256 = "1ybviivfbs5janiyw01ww365vxckni6fk0j10609clxk4na2nvb9";
})
# No instance for (Semigroup Marquee)
(pkgs.fetchpatch {
url = https://github.com/wjt/bustle/commit/95393cb17c2fe5f0903470a449e36728471759eb.patch;
sha256 = "1n7h1rh62731kg9jjs2mn49nx033ds0l33mpgfl75hrjqblz44m1";
})
];
postInstall = ''
make install PREFIX=$out
@ -720,9 +737,6 @@ self: super: {
# https://github.com/bos/math-functions/issues/25
math-functions = dontCheck super.math-functions;
# broken test suite
servant-server = dontCheck super.servant-server;
# build servant docs from the repository
servant =
let
@ -747,9 +761,6 @@ self: super: {
'';
});
# Glob == 0.7.x
servant-auth = doJailbreak super.servant-auth;
# https://github.com/pontarius/pontarius-xmpp/issues/105
pontarius-xmpp = dontCheck super.pontarius-xmpp;
@ -818,9 +829,6 @@ self: super: {
# https://github.com/fizruk/http-api-data/issues/49
http-api-data = dontCheck super.http-api-data;
# https://github.com/snoyberg/yaml/issues/106
yaml = disableCabalFlag super.yaml "system-libyaml";
# https://github.com/diagrams/diagrams-lib/issues/288
diagrams-lib = overrideCabal super.diagrams-lib (drv: { doCheck = !pkgs.stdenv.isi686; });
@ -1062,6 +1070,9 @@ self: super: {
# Test suite depends on cabal-install
doctest = dontCheck super.doctest;
# https://github.com/haskell-servant/servant-auth/issues/113
servant-auth-client = dontCheck super.servant-auth-client;
# Over-specified constraint on X11 ==1.8.*.
xmonad = doJailbreak super.xmonad;
@ -1078,6 +1089,9 @@ self: super: {
# https://github.com/phadej/tree-diff/issues/19
tree-diff = doJailbreak super.tree-diff;
# https://github.com/haskell-hvr/hgettext/issues/14
hgettext = doJailbreak super.hgettext;
# The test suite is broken. Break out of "base-compat >=0.9.3 && <0.10, hspec >=2.4.4 && <2.5".
haddock-library = doJailbreak (dontCheck super.haddock-library);
haddock-library_1_6_0 = doJailbreak (dontCheck super.haddock-library_1_6_0);
@ -1108,4 +1122,8 @@ self: super: {
url = "https://github.com/guillaume-nargeot/hpc-coveralls/pull/73/commits/344217f513b7adfb9037f73026f5d928be98d07f.patch";
sha256 = "056rk58v9h114mjx62f41x971xn9p3nhsazcf9zrcyxh1ymrdm8j";
});
# Tests require a browser: https://github.com/ku-fpg/blank-canvas/issues/73
blank-canvas = dontCheck super.blank-canvas;
blank-canvas_0_6_2 = dontCheck super.blank-canvas_0_6_2;
}

View File

@ -96,83 +96,4 @@ self: super: {
haddock-library = dontHaddock (dontCheck self.haddock-library_1_5_0_1);
}));
} // # All the following is needed to build tensorflow.
(
let
tensorflow-haskell = pkgs.fetchFromGitHub {
owner = "tensorflow";
repo = "haskell";
rev = "e40d2c44f0a861701cc90ec73c2bcee669ab5ba7";
sha256 = "05pda34jfrlqmb8y9l8g87n4iq87v1z820vnd3cy41v5c5nrdpa8";
fetchSubmodules = true;
};
in
{
proto-lens-descriptors = super.proto-lens-descriptors.override {
proto-lens = self.proto-lens_0_2_2_0;
lens-labels = self.lens-labels_0_1_0_2;
};
proto-lens-protoc_0_2_2_3 = super.proto-lens-protoc_0_2_2_3.override {
haskell-src-exts = self.haskell-src-exts_1_19_1;
};
proto-lens-protobuf-types_0_2_2_0 = super.proto-lens-protobuf-types_0_2_2_0.override {
proto-lens = self.proto-lens_0_2_2_0;
proto-lens-protoc = self.proto-lens-protoc_0_2_2_3;
};
tensorflow-proto = (super.callPackage (
{ mkDerivation, base, Cabal, proto-lens, proto-lens-protobuf-types
, proto-lens-protoc, stdenv
}:
mkDerivation {
pname = "tensorflow-proto";
version = "0.1.0.0";
src = tensorflow-haskell;
setupHaskellDepends = [ base Cabal proto-lens-protoc ];
libraryHaskellDepends = [
base proto-lens proto-lens-protobuf-types proto-lens-protoc
];
libraryToolDepends = [ pkgs.protobuf ];
homepage = "https://github.com/tensorflow/haskell#readme";
description = "TensorFlow protocol buffers";
license = stdenv.lib.licenses.asl20;
}
) {
proto-lens = self.proto-lens_0_2_2_0;
proto-lens-protoc = self.proto-lens-protoc_0_2_2_3;
proto-lens-protobuf-types = self.proto-lens-protobuf-types_0_2_2_0;
}).overrideAttrs (_oldAttrs: {
sourceRoot = "source/tensorflow-proto";
});
tensorflow = (super.callPackage (
{ mkDerivation, async, attoparsec, base, bytestring, c2hs
, containers, data-default, exceptions, fgl, HUnit, lens-family
, mainland-pretty, mtl, proto-lens, semigroups, split, stdenv
, temporary, libtensorflow, tensorflow-proto, test-framework
, test-framework-hunit, test-framework-quickcheck2, text
, transformers, vector
}:
mkDerivation {
pname = "tensorflow";
version = "0.1.0.2";
src = tensorflow-haskell;
libraryHaskellDepends = [
async attoparsec base bytestring containers data-default exceptions
fgl lens-family mainland-pretty mtl proto-lens semigroups split
temporary tensorflow-proto text transformers vector
];
librarySystemDepends = [ libtensorflow ];
libraryToolDepends = [ c2hs ];
testHaskellDepends = [
attoparsec base bytestring HUnit lens-family proto-lens
tensorflow-proto test-framework test-framework-hunit
test-framework-quickcheck2
];
homepage = "https://github.com/tensorflow/haskell#readme";
description = "TensorFlow bindings";
license = stdenv.lib.licenses.asl20;
}
) {}).overrideAttrs (_oldAttrs: {
sourceRoot = "source/tensorflow";
});
}
)
} // import ./configuration-tensorflow-ghc-8.2.x.nix {inherit pkgs haskellLib;} self super

View File

@ -43,7 +43,7 @@ core-packages:
default-package-overrides:
# Newer versions require contravariant-1.5.*, which many builds refuse at the moment.
- base-compat-batteries ==0.10.1
# LTS Haskell 12.1
# LTS Haskell 12.2
- abstract-deque ==0.3
- abstract-deque-tests ==0.3
- abstract-par ==0.3.3
@ -68,10 +68,10 @@ default-package-overrides:
- aeson-picker ==0.1.0.4
- aeson-pretty ==0.8.7
- aeson-qq ==0.8.2
- aeson-typescript ==0.1.0.6
- aeson-typescript ==0.1.1.0
- aeson-utils ==0.3.0.2
- aeson-yak ==0.1.1.3
- Agda ==2.5.4
- Agda ==2.5.4.1
- al ==0.1.4.2
- alarmclock ==0.5.0.2
- alerts ==0.1.0.0
@ -536,8 +536,8 @@ default-package-overrides:
- data-inttrie ==0.1.4
- data-lens-light ==0.1.2.2
- data-memocombinators ==0.5.1
- data-msgpack ==0.0.11
- data-msgpack-types ==0.0.1
- data-msgpack ==0.0.12
- data-msgpack-types ==0.0.2
- data-or ==1.0.0.5
- data-ordlist ==0.4.7.0
- data-ref ==0.0.1.1
@ -666,7 +666,7 @@ default-package-overrides:
- equivalence ==0.3.2
- erf ==2.0.0.0
- errors ==2.3.0
- errors-ext ==0.4.1
- errors-ext ==0.4.2
- error-util ==0.0.1.2
- ersatz ==0.4.3
- etc ==0.4.0.3
@ -1010,12 +1010,12 @@ default-package-overrides:
- HsOpenSSL ==0.11.4.14
- HsOpenSSL-x509-system ==0.1.0.3
- hsp ==0.10.0
- hspec ==2.5.4
- hspec ==2.5.5
- hspec-attoparsec ==0.1.0.2
- hspec-checkers ==0.1.0.2
- hspec-contrib ==0.5.0
- hspec-core ==2.5.4
- hspec-discover ==2.5.4
- hspec-core ==2.5.5
- hspec-discover ==2.5.5
- hspec-expectations ==0.8.2
- hspec-expectations-lifted ==0.10.0
- hspec-expectations-pretty-diff ==0.7.2.4
@ -1067,7 +1067,7 @@ default-package-overrides:
- hweblib ==0.6.3
- hw-excess ==0.2.0.2
- hw-fingertree-strict ==0.1.1.1
- hw-hedgehog ==0.1.0.1
- hw-hedgehog ==0.1.0.2
- hw-hspec-hedgehog ==0.1.0.5
- hw-int ==0.0.0.3
- hw-ip ==0.1.0.0
@ -1099,7 +1099,7 @@ default-package-overrides:
- ieee754 ==0.8.0
- if ==0.1.0.0
- iff ==0.0.6
- ihaskell ==0.9.0.3
- ihaskell ==0.9.1.0
- ihs ==0.1.0.2
- ilist ==0.3.1.0
- imagesize-conduit ==1.1
@ -1142,7 +1142,7 @@ default-package-overrides:
- ip6addr ==1.0.0
- iproute ==1.7.5
- IPv6Addr ==1.1.0
- ipython-kernel ==0.9.0.2
- ipython-kernel ==0.9.1.0
- irc ==0.6.1.0
- irc-client ==1.1.0.4
- irc-conduit ==0.3.0.1
@ -1444,7 +1444,7 @@ default-package-overrides:
- NoHoed ==0.1.1
- nonce ==1.0.7
- nondeterminism ==1.4
- non-empty ==0.3
- non-empty ==0.3.0.1
- non-empty-sequence ==0.2.0.2
- non-negative ==0.1.2
- nsis ==0.3.2
@ -1712,8 +1712,8 @@ default-package-overrides:
- regex-tdfa ==1.2.3.1
- regex-tdfa-text ==1.0.0.3
- reinterpret-cast ==0.1.0
- relational-query ==0.12.0.1
- relational-query-HDBC ==0.7.0.1
- relational-query ==0.12.1.0
- relational-query-HDBC ==0.7.1.1
- relational-record ==0.2.2.0
- relational-schemas ==0.1.6.2
- renderable ==0.2.0.1
@ -1741,7 +1741,7 @@ default-package-overrides:
- roles ==0.2.0.0
- rot13 ==0.2.0.1
- RSA ==2.3.0
- rss-conduit ==0.4.2.1
- rss-conduit ==0.4.2.2
- runmemo ==1.0.0.1
- rvar ==0.2.0.3
- s3-signer ==0.5.0.0
@ -1824,7 +1824,7 @@ default-package-overrides:
- servant-tracing ==0.1.0.2
- servant-websockets ==1.1.0
- servant-yaml ==0.1.0.0
- serverless-haskell ==0.6.2
- serverless-haskell ==0.6.3
- serversession ==1.0.1
- serversession-frontend-wai ==1.0
- servius ==1.2.1.0
@ -1851,7 +1851,7 @@ default-package-overrides:
- simple-reflect ==0.3.3
- simple-sendfile ==0.2.27
- simplest-sqlite ==0.1.0.0
- simple-vec3 ==0.4.0.7
- simple-vec3 ==0.4.0.8
- since ==0.0.0
- singleton-bool ==0.1.4
- singleton-nats ==0.4.1
@ -1950,7 +1950,7 @@ default-package-overrides:
- strive ==5.0.6
- structs ==0.1.1
- stylish-haskell ==0.9.2.0
- summoner ==1.0.4
- summoner ==1.0.5
- sum-type-boilerplate ==0.1.1
- sundown ==0.6
- superbuffer ==0.3.1.1
@ -2304,9 +2304,9 @@ default-package-overrides:
- xss-sanitize ==0.3.6
- xxhash-ffi ==0.2.0.0
- yaml ==0.8.32
- yeshql ==4.1.0.0
- yeshql-core ==4.1.0.0
- yeshql-hdbc ==4.1.0.0
- yeshql ==4.1.0.1
- yeshql-core ==4.1.0.1
- yeshql-hdbc ==4.1.0.1
- yesod ==1.6.0
- yesod-alerts ==0.1.2.0
- yesod-auth ==1.6.4.1
@ -2393,6 +2393,7 @@ extra-packages:
- inline-c < 0.6 # required on GHC 8.0.x
- inline-c-cpp < 0.2 # required on GHC 8.0.x
- lens-labels == 0.1.* # required for proto-lens-descriptors
- mainland-pretty == 0.6.2.* # required for tensorflow-opgen-0.1.0.0
- mtl < 2.2 # newer versions require transformers > 0.4.x, which we cannot provide in GHC 7.8.x
- mtl-prelude < 2 # required for to build postgrest on mtl 2.1.x platforms
- network == 2.6.3.1 # newer versions don't compile with GHC 7.4.x and below

View File

@ -309,6 +309,9 @@ self: super: builtins.intersectAttrs super {
# https://github.com/bos/pcap/issues/5
pcap = addExtraLibrary super.pcap pkgs.libpcap;
# https://github.com/snoyberg/yaml/issues/106
yaml = disableCabalFlag super.yaml "system-libyaml";
# The cabal files for these libraries do not list the required system dependencies.
miniball = overrideCabal super.miniball (drv: {
librarySystemDepends = [ pkgs.miniball ];
@ -471,6 +474,9 @@ self: super: builtins.intersectAttrs super {
'';
});
# https://github.com/plow-technologies/servant-streaming/issues/12
servant-streaming-server = dontCheck super.servant-streaming-server;
# tests run executable, relying on PATH
# without this, tests fail with "Couldn't launch intero process"
intero = overrideCabal super.intero (drv: {
@ -499,9 +505,4 @@ self: super: builtins.intersectAttrs super {
LDAP = dontCheck (overrideCabal super.LDAP (drv: {
librarySystemDepends = drv.librarySystemDepends or [] ++ [ pkgs.cyrus_sasl.dev ];
}));
# Tests require a browser: https://github.com/ku-fpg/blank-canvas/issues/73
blank-canvas = dontCheck super.blank-canvas;
blank-canvas_0_6_2 = dontCheck super.blank-canvas_0_6_2;
}

View File

@ -0,0 +1,292 @@
{ pkgs, haskellLib }:
with haskellLib;
self: super:
let
tensorflow-haskell = pkgs.fetchFromGitHub {
owner = "tensorflow";
repo = "haskell";
rev = "e40d2c44f0a861701cc90ec73c2bcee669ab5ba7";
sha256 = "05pda34jfrlqmb8y9l8g87n4iq87v1z820vnd3cy41v5c5nrdpa8";
fetchSubmodules = true;
};
setSourceRoot = dir: drv: drv.overrideAttrs (_oldAttrs: {sourceRoot = "source/${dir}";});
proto-lens = self.proto-lens_0_2_2_0;
proto-lens-protoc = self.proto-lens-protoc_0_2_2_3;
proto-lens-protobuf-types = self.proto-lens-protobuf-types_0_2_2_0;
mainland-pretty = self.mainland-pretty_0_6_2;
lens-labels = self.lens-labels_0_1_0_2;
haskell-src-exts = self.haskell-src-exts_1_19_1;
in
{
proto-lens-descriptors = super.proto-lens-descriptors.override {
inherit proto-lens lens-labels;
};
proto-lens-protoc_0_2_2_3 = super.proto-lens-protoc_0_2_2_3.override {
inherit proto-lens haskell-src-exts;
};
proto-lens-protobuf-types_0_2_2_0 = super.proto-lens-protobuf-types_0_2_2_0.override {
inherit proto-lens proto-lens-protoc;
};
tensorflow-proto = setSourceRoot "tensorflow-proto" (super.callPackage (
{ mkDerivation, base, Cabal, proto-lens, proto-lens-protobuf-types
, proto-lens-protoc, stdenv
}:
mkDerivation {
pname = "tensorflow-proto";
version = "0.1.0.0";
src = tensorflow-haskell;
setupHaskellDepends = [ base Cabal proto-lens-protoc ];
libraryHaskellDepends = [
base proto-lens proto-lens-protobuf-types proto-lens-protoc
];
libraryToolDepends = [ pkgs.protobuf ];
homepage = "https://github.com/tensorflow/haskell#readme";
description = "TensorFlow protocol buffers";
license = stdenv.lib.licenses.asl20;
}
) {
inherit proto-lens proto-lens-protoc proto-lens-protobuf-types;
});
tensorflow = setSourceRoot "tensorflow" (super.callPackage (
{ mkDerivation, async, attoparsec, base, bytestring, c2hs
, containers, data-default, exceptions, fgl, HUnit, lens-family
, mainland-pretty, mtl, proto-lens, semigroups, split, stdenv
, temporary, libtensorflow, tensorflow-proto, test-framework
, test-framework-hunit, test-framework-quickcheck2, text
, transformers, vector
}:
mkDerivation {
pname = "tensorflow";
version = "0.1.0.2";
src = tensorflow-haskell;
libraryHaskellDepends = [
async attoparsec base bytestring containers data-default exceptions
fgl lens-family mainland-pretty mtl proto-lens semigroups split
temporary tensorflow-proto text transformers vector
];
librarySystemDepends = [ libtensorflow ];
libraryToolDepends = [ c2hs ];
testHaskellDepends = [
attoparsec base bytestring HUnit lens-family proto-lens
tensorflow-proto test-framework test-framework-hunit
test-framework-quickcheck2
];
homepage = "https://github.com/tensorflow/haskell#readme";
description = "TensorFlow bindings";
license = stdenv.lib.licenses.asl20;
}
) {
inherit mainland-pretty proto-lens;
});
tensorflow-core-ops = setSourceRoot "tensorflow-core-ops" (super.callPackage (
{ mkDerivation, base, bytestring, Cabal, directory, filepath
, lens-family, mainland-pretty, proto-lens, stdenv, tensorflow
, tensorflow-opgen, text
}:
mkDerivation {
pname = "tensorflow-core-ops";
version = "0.1.0.0";
src = tensorflow-haskell;
setupHaskellDepends = [
base bytestring Cabal directory filepath mainland-pretty proto-lens
tensorflow tensorflow-opgen text
];
libraryHaskellDepends = [
base bytestring lens-family proto-lens tensorflow text
];
homepage = "https://github.com/tensorflow/haskell#readme";
description = "Haskell wrappers for Core Tensorflow Ops";
license = stdenv.lib.licenses.asl20;
}
) {
inherit mainland-pretty proto-lens;
});
tensorflow-logging = setSourceRoot "tensorflow-logging" (super.callPackage (
{ mkDerivation, base, bytestring, conduit, data-default, directory
, exceptions, filepath, hostname, HUnit, lens-family, proto-lens
, resourcet, stdenv, stm, stm-chans, stm-conduit, temporary
, tensorflow, tensorflow-core-ops, tensorflow-ops, tensorflow-proto
, tensorflow-records-conduit, test-framework, test-framework-hunit
, text, time, transformers
}:
mkDerivation {
pname = "tensorflow-logging";
version = "0.1.0.0";
src = tensorflow-haskell;
libraryHaskellDepends = [
base bytestring conduit data-default directory exceptions filepath
hostname lens-family proto-lens resourcet stm stm-chans stm-conduit
tensorflow tensorflow-core-ops tensorflow-ops tensorflow-proto
tensorflow-records-conduit text time transformers
];
testHaskellDepends = [
base bytestring conduit data-default directory filepath HUnit
lens-family proto-lens resourcet temporary tensorflow
tensorflow-proto tensorflow-records-conduit test-framework
test-framework-hunit text
];
homepage = "https://github.com/tensorflow/haskell#readme";
description = "TensorBoard related functionality";
license = stdenv.lib.licenses.asl20;
}
) {
inherit proto-lens;
});
tensorflow-mnist = setSourceRoot "tensorflow-mnist" (super.callPackage (
{ mkDerivation, base, binary, bytestring, containers, filepath
, HUnit, lens-family, proto-lens, split, stdenv, tensorflow
, tensorflow-core-ops, tensorflow-mnist-input-data, tensorflow-ops
, tensorflow-proto, test-framework, test-framework-hunit, text
, transformers, vector, zlib
}:
mkDerivation {
pname = "tensorflow-mnist";
version = "0.1.0.0";
src = tensorflow-haskell;
isLibrary = true;
isExecutable = true;
enableSeparateDataOutput = true;
libraryHaskellDepends = [
base binary bytestring containers filepath lens-family proto-lens
split tensorflow tensorflow-core-ops tensorflow-proto text vector
zlib
];
executableHaskellDepends = [
base bytestring filepath lens-family proto-lens tensorflow
tensorflow-mnist-input-data tensorflow-ops tensorflow-proto text
transformers vector
];
testHaskellDepends = [
base bytestring HUnit lens-family proto-lens tensorflow
tensorflow-mnist-input-data tensorflow-ops tensorflow-proto
test-framework test-framework-hunit text transformers vector
];
homepage = "https://github.com/tensorflow/haskell#readme";
description = "TensorFlow demo application for learning MNIST model";
license = stdenv.lib.licenses.asl20;
}
) {
inherit proto-lens;
});
tensorflow-mnist-input-data = setSourceRoot "tensorflow-mnist-input-data" (super.callPackage (
{ mkDerivation, base, bytestring, Cabal, cryptonite, directory
, filepath, HTTP, network-uri, stdenv
}:
mkDerivation {
pname = "tensorflow-mnist-input-data";
version = "0.1.0.0";
src = tensorflow-haskell;
enableSeparateDataOutput = true;
setupHaskellDepends = [
base bytestring Cabal cryptonite directory filepath HTTP
network-uri
];
libraryHaskellDepends = [ base ];
homepage = "https://github.com/tensorflow/haskell#readme";
description = "Downloader of input data for training MNIST";
license = stdenv.lib.licenses.asl20;
}
) {});
tensorflow-opgen = setSourceRoot "tensorflow-opgen" (super.callPackage (
{ mkDerivation, base, bytestring, containers, filepath, lens-family
, mainland-pretty, optparse-applicative, proto-lens, semigroups
, stdenv, tensorflow-proto, text
}:
mkDerivation {
pname = "tensorflow-opgen";
version = "0.1.0.0";
src = tensorflow-haskell;
libraryHaskellDepends = [
base bytestring containers filepath lens-family mainland-pretty
optparse-applicative proto-lens semigroups tensorflow-proto text
];
homepage = "https://github.com/tensorflow/haskell#readme";
description = "Code generation for TensorFlow operations";
license = stdenv.lib.licenses.asl20;
}
) {
inherit mainland-pretty proto-lens;
});
tensorflow-ops = setSourceRoot "tensorflow-ops" (super.callPackage (
{ mkDerivation, base, bytestring, containers, criterion
, data-default, deepseq, fgl, HUnit, lens-family, mtl, proto-lens
, QuickCheck, random, stdenv, temporary, tensorflow
, tensorflow-core-ops, tensorflow-proto, tensorflow-test
, test-framework, test-framework-hunit, test-framework-quickcheck2
, text, transformers, vector
}:
mkDerivation {
pname = "tensorflow-ops";
version = "0.1.0.0";
src = tensorflow-haskell;
libraryHaskellDepends = [
base bytestring containers data-default fgl lens-family mtl
proto-lens tensorflow tensorflow-core-ops tensorflow-proto text
];
testHaskellDepends = [
base bytestring data-default HUnit lens-family proto-lens
QuickCheck random temporary tensorflow tensorflow-core-ops
tensorflow-proto tensorflow-test test-framework
test-framework-hunit test-framework-quickcheck2 transformers vector
];
benchmarkHaskellDepends = [
base criterion deepseq tensorflow transformers vector
];
homepage = "https://github.com/tensorflow/haskell#readme";
description = "Friendly layer around TensorFlow bindings";
license = stdenv.lib.licenses.asl20;
}
) {
inherit proto-lens;
});
tensorflow-records = setSourceRoot "tensorflow-records" (super.callPackage (
{ mkDerivation, base, bytestring, cereal, snappy-framing, stdenv
, test-framework, test-framework-quickcheck2
}:
mkDerivation {
pname = "tensorflow-records";
version = "0.1.0.0";
src = tensorflow-haskell;
libraryHaskellDepends = [ base bytestring cereal snappy-framing ];
testHaskellDepends = [
base bytestring cereal test-framework test-framework-quickcheck2
];
homepage = "https://github.com/tensorflow/haskell#readme";
description = "Encoder and decoder for the TensorFlow \"TFRecords\" format";
license = stdenv.lib.licenses.asl20;
}
) {});
tensorflow-records-conduit = setSourceRoot "tensorflow-records-conduit" (super.callPackage (
{ mkDerivation, base, bytestring, cereal-conduit, conduit
, conduit-extra, exceptions, resourcet, stdenv, tensorflow-records
}:
mkDerivation {
pname = "tensorflow-records-conduit";
version = "0.1.0.0";
src = tensorflow-haskell;
libraryHaskellDepends = [
base bytestring cereal-conduit conduit conduit-extra exceptions
resourcet tensorflow-records
];
homepage = "https://github.com/tensorflow/haskell#readme";
description = "Conduit wrappers for TensorFlow.Records.";
license = stdenv.lib.licenses.asl20;
}
) {});
tensorflow-test = setSourceRoot "tensorflow-test" (super.callPackage (
{ mkDerivation, base, HUnit, stdenv, vector }:
mkDerivation {
pname = "tensorflow-test";
version = "0.1.0.0";
src = tensorflow-haskell;
libraryHaskellDepends = [ base HUnit vector ];
homepage = "https://github.com/tensorflow/haskell#readme";
description = "Some common functions for test suites";
license = stdenv.lib.licenses.asl20;
}
) {});
}

File diff suppressed because it is too large Load Diff

View File

@ -1,21 +1,63 @@
# pcre functionality is tested in nixos/tests/php-pcre.nix
{ lib, stdenv, fetchurl, composableDerivation, flex, bison
{ lib, stdenv, fetchurl, flex, bison
, mysql, libxml2, readline, zlib, curl, postgresql, gettext
, openssl, pcre, pkgconfig, sqlite, config, libjpeg, libpng, freetype
, libxslt, libmcrypt, bzip2, icu, openldap, cyrus_sasl, libmhash, freetds
, uwimap, pam, gmp, apacheHttpd, libiconv, systemd, libsodium }:
, uwimap, pam, gmp, apacheHttpd, libiconv, systemd, libsodium, html-tidy
}:
with lib;
let
php7 = versionAtLeast version "7.0";
generic =
{ version, sha256 }:
{ version
, sha256
, imapSupport ? config.php.imap or (!stdenv.isDarwin)
, ldapSupport ? config.php.ldap or true
, mhashSupport ? config.php.mhash or true
, mysqlSupport ? (config.php.mysql or true) && (!php7)
, mysqlndSupport ? config.php.mysqlnd or false
, mysqliSupport ? config.php.mysqli or true
, pdo_mysqlSupport ? config.php.pdo_mysql or true
, libxml2Support ? config.php.libxml2 or true
, apxs2Support ? config.php.apxs2 or (!stdenv.isDarwin)
, embedSupport ? config.php.embed or false
, bcmathSupport ? config.php.bcmath or true
, socketsSupport ? config.php.sockets or true
, curlSupport ? config.php.curl or true
, curlWrappersSupport ? (config.php.curlWrappers or true) && (!php7)
, gettextSupport ? config.php.gettext or true
, pcntlSupport ? config.php.pcntl or true
, postgresqlSupport ? config.php.postgresql or true
, pdo_pgsqlSupport ? config.php.pdo_pgsql or true
, readlineSupport ? config.php.readline or true
, sqliteSupport ? config.php.sqlite or true
, soapSupport ? config.php.soap or true
, zlibSupport ? config.php.zlib or true
, opensslSupport ? config.php.openssl or true
, mbstringSupport ? config.php.mbstring or true
, gdSupport ? config.php.gd or true
, intlSupport ? config.php.intl or true
, exifSupport ? config.php.exif or true
, xslSupport ? config.php.xsl or false
, mcryptSupport ? config.php.mcrypt or true
, bz2Support ? config.php.bz2 or false
, zipSupport ? config.php.zip or true
, ftpSupport ? config.php.ftp or true
, fpmSupport ? config.php.fpm or true
, gmpSupport ? config.php.gmp or true
, mssqlSupport ? (config.php.mssql or (!stdenv.isDarwin)) && (!php7)
, ztsSupport ? config.php.zts or false
, calendarSupport ? config.php.calendar or true
, sodiumSupport ? (config.php.sodium or true) && (versionAtLeast version "7.2")
, tidySupport ? false
}:
let php7 = lib.versionAtLeast version "7.0";
mysqlndSupport = config.php.mysqlnd or false;
mysqlBuildInputs = lib.optional (!mysqlndSupport) mysql.connector-c;
in composableDerivation.composableDerivation {} (fixed: {
let
mysqlBuildInputs = optional (!mysqlndSupport) mysql.connector-c;
libmcrypt' = libmcrypt.override { disablePosixThreads = true; };
in stdenv.mkDerivation {
inherit version;
@ -25,252 +67,99 @@ let
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ flex bison pcre ]
++ lib.optional stdenv.isLinux systemd;
++ optional stdenv.isLinux systemd
++ optionals imapSupport [ uwimap openssl pam ]
++ optionals curlSupport [ curl openssl ]
++ optionals ldapSupport [ openldap openssl ]
++ optionals gdSupport [ libpng libjpeg freetype ]
++ optionals opensslSupport [ openssl openssl.dev ]
++ optional apxs2Support apacheHttpd
++ optional (ldapSupport && stdenv.isLinux) cyrus_sasl
++ optional mhashSupport libmhash
++ optional zlibSupport zlib
++ optional libxml2Support libxml2
++ optional readlineSupport readline
++ optional sqliteSupport sqlite
++ optional postgresqlSupport postgresql
++ optional pdo_pgsqlSupport postgresql
++ optional pdo_mysqlSupport mysqlBuildInputs
++ optional mysqlSupport mysqlBuildInputs
++ optional mysqliSupport mysqlBuildInputs
++ optional gmpSupport gmp
++ optional gettextSupport gettext
++ optional intlSupport icu
++ optional xslSupport libxslt
++ optional mcryptSupport libmcrypt'
++ optional bz2Support bzip2
++ optional (mssqlSupport && !stdenv.isDarwin) freetds
++ optional sodiumSupport libsodium
++ optional tidySupport html-tidy;
CXXFLAGS = lib.optional stdenv.cc.isClang "-std=c++11";
CXXFLAGS = optional stdenv.cc.isClang "-std=c++11";
flags = {
# much left to do here...
configureFlags = [
"--with-config-file-scan-dir=/etc/php.d"
"--with-pcre-regex=${pcre.dev} PCRE_LIBDIR=${pcre}"
]
++ optional stdenv.isDarwin "--with-iconv=${libiconv}"
++ optional stdenv.isLinux "--with-fpm-systemd"
++ optionals imapSupport [
"--with-imap=${uwimap}"
"--with-imap-ssl"
]
++ optionals ldapSupport [
"--with-ldap=/invalid/path"
"LDAP_DIR=${openldap.dev}"
"LDAP_INCDIR=${openldap.dev}/include"
"LDAP_LIBDIR=${openldap.out}/lib"
]
++ optional (ldapSupport && stdenv.isLinux) "--with-ldap-sasl=${cyrus_sasl.dev}"
++ optional apxs2Support "--with-apxs2=${apacheHttpd.dev}/bin/apxs"
++ optional embedSupport "--enable-embed"
++ optional mhashSupport "--with-mhash"
++ optional curlSupport "--with-curl=${curl.dev}"
++ optional curlWrappersSupport "--with-curlwrappers"
++ optional zlibSupport "--with-zlib=${zlib.dev}"
++ optional libxml2Support "--with-libxml-dir=${libxml2.dev}"
++ optional pcntlSupport "--enable-pcntl"
++ optional readlineSupport "--with-readline=${readline.dev}"
++ optional sqliteSupport "--with-pdo-sqlite=${sqlite.dev}"
++ optional postgresqlSupport "--with-pgsql=${postgresql}"
++ optional pdo_pgsqlSupport "--with-pdo-pgsql=${postgresql}"
++ optional pdo_mysqlSupport "--with-pdo-mysql=${if mysqlndSupport then "mysqlnd" else mysql.connector-c}"
++ optional mysqlSupport "--with-mysql${if mysqlndSupport then "=mysqlnd" else ""}"
++ optionals mysqliSupport [
"--with-mysqli=${if mysqlndSupport then "mysqlnd" else "${mysql.connector-c}/bin/mysql_config"}"
]
++ optional bcmathSupport "--enable-bcmath"
# FIXME: Our own gd package doesn't work, see https://bugs.php.net/bug.php?id=60108.
++ optionals gdSupport [
"--with-gd"
"--with-freetype-dir=${freetype.dev}"
"--with-png-dir=${libpng.dev}"
"--with-jpeg-dir=${libjpeg.dev}"
]
++ optional gmpSupport "--with-gmp=${gmp.dev}"
++ optional soapSupport "--enable-soap"
++ optional socketsSupport "--enable-sockets"
++ optional opensslSupport "--with-openssl"
++ optional mbstringSupport "--enable-mbstring"
++ optional gettextSupport "--with-gettext=${gettext}"
++ optional intlSupport "--enable-intl"
++ optional exifSupport "--enable-exif"
++ optional xslSupport "--with-xsl=${libxslt.dev}"
++ optional mcryptSupport "--with-mcrypt=${libmcrypt'}"
++ optional bz2Support "--with-bz2=${bzip2.dev}"
++ optional zipSupport "--enable-zip"
++ optional ftpSupport "--enable-ftp"
++ optional fpmSupport "--enable-fpm"
++ optional (mssqlSupport && !stdenv.isDarwin) "--with-mssql=${freetds}"
++ optional ztsSupport "--enable-maintainer-zts"
++ optional calendarSupport "--enable-calendar"
++ optional sodiumSupport "--with-sodium=${libsodium.dev}"
++ optional tidySupport "--with-tidy=${html-tidy}";
# SAPI modules:
apxs2 = {
configureFlags = ["--with-apxs2=${apacheHttpd.dev}/bin/apxs"];
buildInputs = [apacheHttpd];
};
embed = {
configureFlags = ["--enable-embed"];
};
# Extensions
imap = {
configureFlags = [
"--with-imap=${uwimap}"
"--with-imap-ssl"
];
buildInputs = [ uwimap openssl pam ];
};
ldap = {
configureFlags = [
"--with-ldap=/invalid/path"
"LDAP_DIR=${openldap.dev}"
"LDAP_INCDIR=${openldap.dev}/include"
"LDAP_LIBDIR=${openldap.out}/lib"
(lib.optional stdenv.isLinux "--with-ldap-sasl=${cyrus_sasl.dev}")
];
buildInputs = [openldap openssl] ++ lib.optional stdenv.isLinux cyrus_sasl;
};
mhash = {
configureFlags = ["--with-mhash"];
buildInputs = [libmhash];
};
curl = {
configureFlags = ["--with-curl=${curl.dev}"];
buildInputs = [curl openssl];
};
curlWrappers = {
configureFlags = ["--with-curlwrappers"];
};
zlib = {
configureFlags = ["--with-zlib=${zlib.dev}"];
buildInputs = [zlib];
};
libxml2 = {
configureFlags = [
"--with-libxml-dir=${libxml2.dev}"
];
buildInputs = [ libxml2 ];
};
pcntl = {
configureFlags = [ "--enable-pcntl" ];
};
readline = {
configureFlags = ["--with-readline=${readline.dev}"];
buildInputs = [ readline ];
};
sqlite = {
configureFlags = ["--with-pdo-sqlite=${sqlite.dev}"];
buildInputs = [ sqlite ];
};
postgresql = {
configureFlags = ["--with-pgsql=${postgresql}"];
buildInputs = [ postgresql ];
};
pdo_pgsql = {
configureFlags = ["--with-pdo-pgsql=${postgresql}"];
buildInputs = [ postgresql ];
};
mysql = {
configureFlags = ["--with-mysql${if mysqlndSupport then "=mysqlnd" else ""}"];
buildInputs = mysqlBuildInputs;
};
mysqli = {
configureFlags = ["--with-mysqli=${if mysqlndSupport then "mysqlnd" else "${mysql.connector-c}/bin/mysql_config"}"];
buildInputs = mysqlBuildInputs;
};
mysqli_embedded = {
configureFlags = ["--enable-embedded-mysqli"];
depends = "mysqli";
assertion = fixed.mysqliSupport;
};
pdo_mysql = {
configureFlags = ["--with-pdo-mysql=${if mysqlndSupport then "mysqlnd" else mysql.connector-c}"];
buildInputs = mysqlBuildInputs;
};
bcmath = {
configureFlags = ["--enable-bcmath"];
};
gd = {
# FIXME: Our own gd package doesn't work, see https://bugs.php.net/bug.php?id=60108.
configureFlags = [
"--with-gd"
"--with-freetype-dir=${freetype.dev}"
"--with-png-dir=${libpng.dev}"
"--with-jpeg-dir=${libjpeg.dev}"
];
buildInputs = [ libpng libjpeg freetype ];
};
gmp = {
configureFlags = ["--with-gmp=${gmp.dev}"];
buildInputs = [ gmp ];
};
soap = {
configureFlags = ["--enable-soap"];
};
sockets = {
configureFlags = ["--enable-sockets"];
};
openssl = {
configureFlags = ["--with-openssl"];
buildInputs = [openssl openssl.dev];
};
mbstring = {
configureFlags = ["--enable-mbstring"];
};
gettext = {
configureFlags = ["--with-gettext=${gettext}"];
buildInputs = [gettext];
};
intl = {
configureFlags = ["--enable-intl"];
buildInputs = [icu];
};
exif = {
configureFlags = ["--enable-exif"];
};
xsl = {
configureFlags = ["--with-xsl=${libxslt.dev}"];
buildInputs = [libxslt];
};
mcrypt = let libmcrypt' = libmcrypt.override { disablePosixThreads = true; }; in {
configureFlags = ["--with-mcrypt=${libmcrypt'}"];
buildInputs = [libmcrypt'];
};
bz2 = {
configureFlags = ["--with-bz2=${bzip2.dev}"];
buildInputs = [bzip2];
};
zip = {
configureFlags = ["--enable-zip"];
};
ftp = {
configureFlags = ["--enable-ftp"];
};
fpm = {
configureFlags = ["--enable-fpm"];
};
mssql = stdenv.lib.optionalAttrs (!stdenv.isDarwin) {
configureFlags = ["--with-mssql=${freetds}"];
buildInputs = [freetds];
};
zts = {
configureFlags = ["--enable-maintainer-zts"];
};
calendar = {
configureFlags = ["--enable-calendar"];
};
sodium = {
configureFlags = ["--with-sodium=${libsodium.dev}"];
buildInputs = [libsodium];
};
};
cfg = {
imapSupport = config.php.imap or (!stdenv.isDarwin);
ldapSupport = config.php.ldap or true;
mhashSupport = config.php.mhash or true;
mysqlSupport = (!php7) && (config.php.mysql or true);
mysqliSupport = config.php.mysqli or true;
pdo_mysqlSupport = config.php.pdo_mysql or true;
libxml2Support = config.php.libxml2 or true;
apxs2Support = config.php.apxs2 or (!stdenv.isDarwin);
embedSupport = config.php.embed or false;
bcmathSupport = config.php.bcmath or true;
socketsSupport = config.php.sockets or true;
curlSupport = config.php.curl or true;
curlWrappersSupport = (!php7) && (config.php.curlWrappers or true);
gettextSupport = config.php.gettext or true;
pcntlSupport = config.php.pcntl or true;
postgresqlSupport = config.php.postgresql or true;
pdo_pgsqlSupport = config.php.pdo_pgsql or true;
readlineSupport = config.php.readline or true;
sqliteSupport = config.php.sqlite or true;
soapSupport = config.php.soap or true;
zlibSupport = config.php.zlib or true;
opensslSupport = config.php.openssl or true;
mbstringSupport = config.php.mbstring or true;
gdSupport = config.php.gd or true;
intlSupport = config.php.intl or true;
exifSupport = config.php.exif or true;
xslSupport = config.php.xsl or false;
mcryptSupport = config.php.mcrypt or true;
bz2Support = config.php.bz2 or false;
zipSupport = config.php.zip or true;
ftpSupport = config.php.ftp or true;
fpmSupport = config.php.fpm or true;
gmpSupport = config.php.gmp or true;
mssqlSupport = (!php7) && (config.php.mssql or (!stdenv.isDarwin));
ztsSupport = config.php.zts or false;
calendarSupport = config.php.calendar or true;
sodiumSupport = (lib.versionAtLeast version "7.2") && config.php.sodium or true;
};
hardeningDisable = [ "bindnow" ];
@ -292,12 +181,6 @@ let
--includedir=$dev/include)
'';
configureFlags = [
"--with-config-file-scan-dir=/etc/php.d"
"--with-pcre-regex=${pcre.dev} PCRE_LIBDIR=${pcre}"
] ++ lib.optional stdenv.isDarwin "--with-iconv=${libiconv}"
++ lib.optional stdenv.isLinux "--with-fpm-systemd";
postInstall = ''
cp php.ini-production $out/etc/php.ini
'';
@ -326,7 +209,7 @@ let
patches = if !php7 then [ ./fix-paths.patch ] else [ ./fix-paths-php7.patch ];
postPatch = lib.optional stdenv.isDarwin ''
postPatch = optional stdenv.isDarwin ''
substituteInPlace configure --replace "-lstdc++" "-lc++"
'';
@ -334,7 +217,7 @@ let
outputs = [ "out" "dev" ];
});
};
in {
php56 = generic {

View File

@ -18,5 +18,6 @@ stdenv.mkDerivation rec {
description = "ATSC A/52 stream decoder";
homepage = http://liba52.sourceforge.net/;
platforms = stdenv.lib.platforms.unix;
license = stdenv.lib.licenses.gpl2;
};
}

View File

@ -36,5 +36,6 @@ stdenv.mkDerivation {
meta = {
description = "ASCII art graphics library";
platforms = stdenv.lib.platforms.unix;
license = stdenv.lib.licenses.lgpl2;
};
}

View File

@ -27,6 +27,8 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ meson ninja pkgconfig ];
buildInputs = [ at-spi2-core atk dbus glib libxml2 ];
doCheck = false; # fails with "No test data file provided"
passthru = {
updateScript = gnome3.updateScript {
packageName = pname;

View File

@ -30,6 +30,8 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ meson ninja pkgconfig gobjectIntrospection ];
buildInputs = [ dbus glib libX11 libXtst libXi ];
doCheck = false; # fails with "AT-SPI: Couldn't connect to accessibility bus. Is at-spi-bus-launcher running?"
passthru = {
updateScript = gnome3.updateScript {
packageName = pname;

View File

@ -0,0 +1,26 @@
{ stdenv, fetchFromGitHub, cmake, zlib }:
stdenv.mkDerivation rec {
name = "libmysofa-${version}";
version = "0.6";
src = fetchFromGitHub {
owner = "hoene";
repo = "libmysofa";
rev = "v${version}";
sha256 = "160gcmsn6dwaca29bs95nsgjdalwc299lip0h37k3jcbxxkchgsh";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ zlib ];
cmakeFlags = [ "-DBUILD_TESTS=OFF" ];
meta = with stdenv.lib; {
description = "Reader for AES SOFA files to get better HRTFs";
homepage = https://github.com/hoene/libmysofa;
license = licenses.bsd3;
platforms = platforms.all;
maintainers = with maintainers; [ jfrankenau ];
};
}

View File

@ -0,0 +1,59 @@
diff -urN dbxml-6.1.4.orig/dbxml/src/dbxml/nodeStore/NsUpdate.cpp dbxml-6.1.4/dbxml/src/dbxml/nodeStore/NsUpdate.cpp
--- dbxml-6.1.4.orig/dbxml/src/dbxml/nodeStore/NsUpdate.cpp 2017-05-01 16:05:29.000000000 +0100
+++ dbxml-6.1.4/dbxml/src/dbxml/nodeStore/NsUpdate.cpp 2017-09-04 11:50:20.000000000 +0100
@@ -1359,21 +1359,13 @@
void NsUpdate::attributeRemoved(const DbXmlNodeImpl &node)
{
string key = makeKey(node);
-#if defined(_MSC_VER) && (_MSC_VER>1600)
attrMap_.insert(make_pair(key,node.getIndex()));
-#else
- attrMap_.insert(make_pair<const std::string, int>(key,node.getIndex()));
-#endif
}
void NsUpdate::textRemoved(const DbXmlNodeImpl &node)
{
string key = makeKey(node);
-#if defined(_MSC_VER) && (_MSC_VER>1600)
textDeleteMap_.insert(make_pair(key,node.getIndex()));
-#else
- textDeleteMap_.insert(make_pair<const std::string, int>(key,node.getIndex()));
-#endif
}
void NsUpdate::textRemoved(int index, const NsNid &nid,
@@ -1381,21 +1373,13 @@
const std::string &cname)
{
string key = makeKey(nid, did, cname);
-#if defined(_MSC_VER) && (_MSC_VER>1600)
textDeleteMap_.insert(make_pair(key,index));
-#else
- textDeleteMap_.insert(make_pair<const std::string, int>(key,index));
-#endif
}
void NsUpdate::textInserted(int index, const DbXmlNodeImpl &node)
{
string key = makeKey(node);
-#if defined(_MSC_VER) && (_MSC_VER>1600)
textInsertMap_.insert(make_pair(key,index));
-#else
- textInsertMap_.insert(make_pair<const std::string, int>(key,index));
-#endif
}
void NsUpdate::textInserted(int index, const NsNid &nid,
@@ -1403,11 +1387,7 @@
const std::string &cname)
{
string key = makeKey(nid, did, cname);
-#if defined(_MSC_VER) && (_MSC_VER>1600)
textInsertMap_.insert(make_pair(key,index));
-#else
- textInsertMap_.insert(make_pair<const std::string, int>(key,index));
-#endif
}
//

View File

@ -0,0 +1,38 @@
{ stdenv, fetchurl, db62, xercesc, xqilla }:
stdenv.mkDerivation rec {
name = "dbxml-${version}";
version = "6.1.4";
src = fetchurl {
url = "http://download.oracle.com/berkeley-db/${name}.tar.gz";
sha256 = "a8fc8f5e0c3b6e42741fa4dfc3b878c982ff8f5e5f14843f6a7e20d22e64251a";
};
patches = [
./cxx11.patch
./incorrect-optimization.patch
];
buildInputs = [
db62 xercesc xqilla
];
configureFlags = [
"--with-berkeleydb=${db62.out}"
"--with-xerces=${xercesc}"
"--with-xqilla=${xqilla}"
];
preConfigure = ''
cd dbxml
'';
meta = with stdenv.lib; {
homepage = https://www.oracle.com/database/berkeley-db/xml.html;
description = "Embeddable XML database based on Berkeley DB";
license = licenses.agpl3;
maintainers = with maintainers; [ danieldk ];
platforms = platforms.unix;
};
}

View File

@ -0,0 +1,34 @@
Patch provided by Lauren Foutz. See:
https://community.oracle.com/thread/4093422
--- dbxml-6.1.4-orig/dbxml/src/dbxml/query/ParentOfChildJoinQP.cpp
+++ dbxml-6.1.4/dbxml/src/dbxml/query/ParentOfChildJoinQP.cpp
@@ -139,28 +139,16 @@ bool ParentOfChildIterator::doJoin(Dynam
// Invarient 4: When ancestorStack_ is empty we can output the
// buffered results_, since any more results will come after them in
// document order.
while(true) {
context->testInterrupt();
- /*
- * If current parent's node level already be larger than
- * childen's, abandon current parent and move to next one.
- */
- if (parents_ != NULL &&
- parents_->getNodeLevel() > children_->getNodeLevel()) {
- if(!parents_->next(context)) {
- delete parents_;
- parents_ = 0;
- }
- }
-
int cmp = parents_ == 0 ? -1 : isDescendantOf(children_, parents_, /*orSelf*/false);
if(cmp < 0) {
if(!ancestorStack_.empty()) {
// We've found the closest ancestor - is it a parent?
if(ancestorStack_.back()->getNodeLevel() == (children_->getNodeLevel() - 1)) {
// Maintain invarient 3
if(results_.empty() || NodeInfo::compare(results_.back(), ancestorStack_.back()) < 0)
results_.push_back(ancestorStack_.back());

View File

@ -77,6 +77,7 @@
#, libiec61883 ? null, libavc1394 ? null # iec61883 (also uses libraw1394)
#, libmfx ? null # Hardware acceleration vis libmfx
, libmodplug ? null # ModPlug support
, libmysofa ? null # HRTF support via SOFAlizer
#, libnut ? null # NUT (de)muxer, native (de)muser exists
, libogg ? null # Ogg container used by vorbis & theora
, libopus ? null # Opus de/encoder
@ -344,6 +345,7 @@ stdenv.mkDerivation rec {
#(enableFeature (if isLinux then libiec61883 != null && libavc1394 != null && libraw1394 != null else false) "libiec61883")
#(enableFeature (libmfx != null) "libmfx")
(enableFeature (libmodplug != null) "libmodplug")
(enableFeature (libmysofa != null) "libmysofa")
#(enableFeature (libnut != null) "libnut")
(enableFeature (libopus != null) "libopus")
(enableFeature (libssh != null) "libssh")
@ -405,7 +407,7 @@ stdenv.mkDerivation rec {
buildInputs = [
bzip2 celt fontconfig freetype frei0r fribidi game-music-emu gnutls gsm
libjack2 ladspaH lame libass libbluray libbs2b libcaca libdc1394 libmodplug
libjack2 ladspaH lame libass libbluray libbs2b libcaca libdc1394 libmodplug libmysofa
libogg libopus libssh libtheora libvdpau libvorbis libvpx libwebp libX11
libxcb libXv lzma openal openjpeg libpulseaudio rtmpdump opencore-amr
samba SDL2 soxr speex vid-stab vo-amrwbenc wavpack x264 x265 xavs xvidcore

View File

@ -5,6 +5,7 @@
, ninja
, pkgconfig
, fixDarwinDylibNames
, python3
}:
stdenv.mkDerivation rec {
@ -12,16 +13,22 @@ stdenv.mkDerivation rec {
pname = "fribidi";
version = "1.0.4";
outputs = [ "out" "devdoc" ];
# NOTE: 2018-06-06 v1.0.4: Only URL tarball has "Have pre-generated man pages: true", which works-around upstream usage of some rare ancient `c2man` fossil application.
src = fetchurl {
url = "https://github.com/${pname}/${pname}/releases/download/v${version}/${name}.tar.bz2";
sha256 = "1gipy8fjyn6i4qrhima02x8xs493d21f22dijp88nk807razxgcl";
};
postPatch = ''
patchShebangs test
'';
nativeBuildInputs = [ meson ninja pkgconfig ];
buildInputs = stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
outputs = [ "out" "devdoc" ];
checkInptus = [ python3 ];
meta = with stdenv.lib; {
homepage = https://github.com/fribidi/fribidi;

View File

@ -0,0 +1,152 @@
{ stdenvNoLibs, buildPackages, buildPlatform, hostPlatform
, gcc, glibc
, libiberty
}:
stdenvNoLibs.mkDerivation rec {
name = "libgcc-${version}";
inherit (gcc.cc) src version;
outputs = [ "out" "dev" ];
strictDeps = true;
depsBuildBuild = [ buildPackages.stdenv.cc ];
nativeBuildInputs = [ libiberty ];
postUnpack = ''
mkdir -p ./build
buildRoot=$(readlink -e "./build")
'';
postPatch = ''
sourceRoot=$(readlink -e "./libgcc")
'';
preConfigure = ''
cd "$buildRoot"
''
# Drop in libiberty, as external builds are not expected
+ ''
(
mkdir -p build-${buildPlatform.config}/libiberty/
cd build-${buildPlatform.config}/libiberty/
ln -s ${buildPackages.libiberty}/lib/libiberty.a ./
)
''
# A few misc bits of gcc need to be built.
#
# - We "shift" the tools over to fake platforms perspective from the previous
# stage.
#
# - We define GENERATOR_FILE so nothing bothers looking for GNU GMP.
#
# - We remove the `libgcc.mvar` deps so that the bootstrap xgcc isn't built.
+ ''
mkdir -p "$buildRoot/gcc"
cd "$buildRoot/gcc"
(
export AS_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$AS_FOR_BUILD
export CC_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CC_FOR_BUILD
export CPP_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CPP_FOR_BUILD
export CXX_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CXX_FOR_BUILD
export LD_FOR_BUILD=${buildPackages.stdenv.cc.bintools}/bin/$LD_FOR_BUILD
export AS=$AS_FOR_BUILD
export CC=$CC_FOR_BUILD
export CPP=$CPP_FOR_BUILD
export CXX=$CXX_FOR_BUILD
export LD=$LD_FOR_BUILD
export AS_FOR_TARGET=${stdenvNoLibs.cc}/bin/$AS
export CC_FOR_TARGET=${stdenvNoLibs.cc}/bin/$CC
export CPP_FOR_TARGET=${stdenvNoLibs.cc}/bin/$CPP
export LD_FOR_TARGET=${stdenvNoLibs.cc.bintools}/bin/$LD
export NIX_BUILD_CFLAGS_COMPILE+=' -DGENERATOR_FILE=1'
"$sourceRoot/../gcc/configure" $gccConfigureFlags
sed -e 's,libgcc.mvars:.*$,libgcc.mvars:,' -i Makefile
make \
config.h \
libgcc.mvars \
tconfig.h \
tm.h \
options.h \
insn-constants.h \
insn-modes.h \
gcov-iov.h
)
mkdir -p "$buildRoot/gcc/include"
''
# Preparing to configure + build libgcc itself
+ ''
mkdir -p "$buildRoot/gcc/${hostPlatform.config}/libgcc"
cd "$buildRoot/gcc/${hostPlatform.config}/libgcc"
configureScript=$sourceRoot/configure
chmod +x "$configureScript"
export AS_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$AS_FOR_BUILD
export CC_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CC_FOR_BUILD
export CPP_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CPP_FOR_BUILD
export CXX_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CXX_FOR_BUILD
export LD_FOR_BUILD=${buildPackages.stdenv.cc.bintools}/bin/$LD_FOR_BUILD
export AS=${stdenvNoLibs.cc}/bin/$AS
export CC=${stdenvNoLibs.cc}/bin/$CC
export CPP=${stdenvNoLibs.cc}/bin/$CPP
export CXX=${stdenvNoLibs.cc}/bin/$CXX
export LD=${stdenvNoLibs.cc.bintools}/bin/$LD
export AS_FOR_TARGET=${stdenvNoLibs.cc}/bin/$AS_FOR_TARGET
export CC_FOR_TARGET=${stdenvNoLibs.cc}/bin/$CC_FOR_TARGET
export CPP_FOR_TARGET=${stdenvNoLibs.cc}/bin/$CPP_FOR_TARGET
export LD_FOR_TARGET=${stdenvNoLibs.cc.bintools}/bin/$LD_FOR_TARGET
'';
gccConfigureFlags = [
"--build=${buildPlatform.config}"
"--host=${buildPlatform.config}"
"--target=${hostPlatform.config}"
"--disable-bootstrap"
"--disable-multilib" "--with-multilib-list="
"--enable-languages=c"
"--disable-fixincludes"
"--disable-intl"
"--disable-lto"
"--disable-libatomic"
"--disable-libbacktrace"
"--disable-libcpp"
"--disable-libssp"
"--disable-libquadmath"
"--disable-libgomp"
"--disable-libvtv"
"--disable-vtable-verify"
"--with-system-zlib"
] ++ stdenvNoLibs.lib.optional (hostPlatform.libc == "glibc")
"--with-glibc-version=${glibc.version}";
configurePlatforms = [ "build" "host" ];
configureFlags = [
"--disable-dependency-tracking"
# $CC cannot link binaries, let alone run then
"cross_compiling=true"
# Do not have dynamic linker without libc
"--enable-static"
"--disable-shared"
];
makeFlags = [ "MULTIBUILDTOP:=../" ];
postInstall = ''
moveToOutput "lib/gcc/${hostPlatform.config}/${version}/include" "$dev"
mkdir -p "$out/lib" "$dev/include"
ln -s "$out/lib/gcc/${hostPlatform.config}/${version}"/* "$out/lib"
ln -s "$dev/lib/gcc/${hostPlatform.config}/${version}/include"/* "$dev/include/"
'';
}

View File

@ -3,6 +3,9 @@
# Extra Arguments
, type ? ""
# This is called "staticOnly" because krb5 does not support
# builting both static and shared, see below.
, staticOnly ? false
}:
let
@ -22,6 +25,9 @@ stdenv.mkDerivation rec {
outputs = [ "out" "dev" ];
configureFlags = [ "--with-tcl=no" "--localstatedir=/var/lib"]
# krb5's ./configure does not allow passing --enable-shared and --enable-static at the same time.
# See https://bbs.archlinux.org/viewtopic.php?pid=1576737#p1576737
++ optional staticOnly [ "--enable-static" "--disable-shared" ]
++ optional stdenv.isFreeBSD ''WARN_CFLAGS=""''
++ optionals (stdenv.buildPlatform != stdenv.hostPlatform)
[ "krb5_cv_attr_constructor_destructor=yes,yes"

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "libfilezilla-${version}";
version = "0.12.3";
version = "0.13.0";
src = fetchurl {
url = "http://download.filezilla-project.org/libfilezilla/${name}.tar.bz2";
sha256 = "1v606kcz2rdmmlwxrv3xvwh7ia1nh6jfc9bhjw2r4ai3rm16gch5";
sha256 = "0sk8kz2zrvf7kp9jrp3l4rpipv4xh0hg8d4h734xyag7vd03rjpz";
};
meta = with stdenv.lib; {

View File

@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
buildInputs = [ gst_all_1.gstreamer gst_all_1.gst-plugins-base gnutls ];
propagatedBuildInputs = [ glib gupnp-igd ];
doCheck = false; # fails with "fatal error: nice/agent.h: No such file or directory"
meta = {
homepage = https://nice.freedesktop.org/wiki/;
description = "The GLib ICE implementation";

View File

@ -1,5 +1,6 @@
{ stdenv, fetchurl, pkgconfig, autoreconfHook
, librdf_raptor2, ladspaH, openssl, zlib
, doCheck ? stdenv.config.doCheckByDefault or false, ladspaPlugins
}:
stdenv.mkDerivation rec {
@ -11,14 +12,18 @@ stdenv.mkDerivation rec {
sha256 = "18p2flb2sv2hq6w2qkd29z9c7knnwqr3f12i2srshlzx6vwkm05s";
};
preAutoreconf = "rm m4/*";
postPatch = "sed -i -e 's:usr/local:usr:' examples/{instances,remove}_test.c";
postPatch = stdenv.lib.optionalString doCheck ''
sed -i -e 's:usr/local:${ladspaPlugins}:' examples/{instances,remove}_test.c
'';
preAutoreconf = "rm m4/*";
nativeBuildInputs = [ autoreconfHook pkgconfig ];
buildInputs = [ ladspaH openssl zlib ];
propagatedBuildInputs = [ librdf_raptor2 ];
inherit doCheck;
meta = {
description = "Lightweight RDF library with special support for LADSPA plugins";
homepage = https://sourceforge.net/projects/lrdf/;

View File

@ -1,11 +1,50 @@
{ stdenv, fetchurl, patchelf }:
stdenv.mkDerivation rec {
{ stdenv
, fetchurl
, patchelf
, cudaSupport ? false, symlinkJoin, cudatoolkit, cudnn, nvidia_x11
}:
with stdenv.lib;
let
tfType = if cudaSupport then "gpu" else "cpu";
system =
if stdenv.isx86_64
then if stdenv.isLinux then "linux-x86_64"
else if stdenv.isDarwin then "darwin-x86_64" else unavailable
else unavailable;
unavailable = throw "libtensorflow is not available for this platform!";
cudatoolkit_joined = symlinkJoin {
name = "unsplit_cudatoolkit";
paths = [ cudatoolkit.out
cudatoolkit.lib ];};
rpath = makeLibraryPath ([stdenv.cc.libc stdenv.cc.cc.lib] ++
optionals cudaSupport [ cudatoolkit_joined cudnn nvidia_x11 ]);
patchLibs =
if stdenv.isDarwin
then ''
install_name_tool -id $out/lib/libtensorflow.so $out/lib/libtensorflow.so
install_name_tool -id $out/lib/libtensorflow_framework.so $out/lib/libtensorflow_framework.so
''
else ''
${patchelf}/bin/patchelf --set-rpath "${rpath}:$out/lib" $out/lib/libtensorflow.so
${patchelf}/bin/patchelf --set-rpath "${rpath}" $out/lib/libtensorflow_framework.so
'';
in stdenv.mkDerivation rec {
pname = "libtensorflow";
version = "1.8.0";
name = "${pname}-${version}";
src = fetchurl {
url = "https://storage.googleapis.com/tensorflow/${pname}/${pname}-cpu-linux-x86_64-${version}.tar.gz";
sha256 = "0qzy15rc3x961cyi3bqnygrcnw4x69r28xkwhpwrv1r0gi6k73ha";
url = "https://storage.googleapis.com/tensorflow/${pname}/${pname}-${tfType}-${system}-${version}.tar.gz";
sha256 =
if system == "linux-x86_64" then
if cudaSupport
then "0m1g4sqr9as0jgfx7wlyay2nkad6wgvsyk2gvhfkqkq5sm1vbx85"
else "0qzy15rc3x961cyi3bqnygrcnw4x69r28xkwhpwrv1r0gi6k73ha"
else if system == "darwin-x86_64" then
if cudaSupport
then unavailable
else "0q8lmyj8l50hl6l48c640ixanvhqf2836bicyl9p2x8sj97b7y8l"
else unavailable;
};
# Patch library to use our libc, libstdc++ and others
@ -15,18 +54,16 @@ stdenv.mkDerivation rec {
tar -C $out -xzf $src
chmod +w $out/lib/libtensorflow.so
chmod +w $out/lib/libtensorflow_framework.so
${patchelf}/bin/patchelf --set-rpath "${stdenv.cc.libc}/lib:${stdenv.cc.cc.lib}/lib:$out/lib" $out/lib/libtensorflow.so
${patchelf}/bin/patchelf --set-rpath "${stdenv.cc.libc}/lib:${stdenv.cc.cc.lib}/lib" $out/lib/libtensorflow_framework.so
${patchLibs}
chmod -w $out/lib/libtensorflow.so
chmod -w $out/lib/libtensorflow_framework.so
'';
meta = with stdenv.lib; {
inherit version;
meta = {
description = "C API for TensorFlow";
license = licenses.asl20;
maintainers = [maintainers.basvandijk];
platforms = platforms.linux;
homepage = https://www.tensorflow.org/versions/master/install/install_c;
license = licenses.asl20;
platforms = with platforms; linux ++ darwin;
maintainers = [maintainers.basvandijk];
};
}

View File

@ -1,9 +1,10 @@
{ stdenv, lib, fetchurl
, zlib, xz, python2, findXMLCatalogs, libiconv
, zlib, xz, python2, findXMLCatalogs
, buildPlatform, hostPlatform
, pythonSupport ? buildPlatform == hostPlatform
, icuSupport ? false, icu ? null
, enableStatic ? false
, enableShared ? hostPlatform.libc != "msvcrt"
, enableStatic ? !enableShared,
}:
let
@ -35,22 +36,14 @@ in stdenv.mkDerivation rec {
lib.optional pythonSupport "--with-python=${python}"
++ lib.optional icuSupport "--with-icu"
++ [ "--exec_prefix=$dev" ]
++ lib.optional enableStatic "--enable-static";
++ lib.optional enableStatic "--enable-static"
++ lib.optional (!enableShared) "--disable-shared";
enableParallelBuilding = true;
doCheck = (stdenv.hostPlatform == stdenv.buildPlatform) && !stdenv.isDarwin &&
hostPlatform.libc != "musl";
crossAttrs = lib.optionalAttrs (hostPlatform.libc == "msvcrt") {
# creating the DLL is broken ATM
dontDisableStatic = true;
configureFlags = configureFlags ++ [ "--disable-shared" ];
# libiconv is a header dependency - propagating is enough
propagatedBuildInputs = [ findXMLCatalogs libiconv ];
};
preInstall = lib.optionalString pythonSupport
''substituteInPlace python/libxml2mod.la --replace "${python}" "$py"'';
installFlags = lib.optionalString pythonSupport

View File

@ -22,9 +22,10 @@ stdenv.mkDerivation rec {
unset CPP
'';
crossAttrs = {
makeFlags = "CROSS_COMPILE=${stdenv.cc.targetPrefix}";
};
# Use `lib.optionalString` next mass rebuild.
makeFlags = if stdenv.buildPlatform == stdenv.hostPlatform
then null
else "CROSS_COMPILE=${stdenv.cc.targetPrefix}";
meta = with stdenv.lib; {
homepage = https://fedorahosted.org/newt/;

View File

@ -15,17 +15,16 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake ];
doCheck = true;
doCheck = stdenv.buildPlatform == stdenv.hostPlatform;
checkTarget = "test";
enableParallelBuilding = true;
crossAttrs = {
cmakeFlags = "-DBuildTests=OFF";
doCheck = false;
} // stdenv.lib.optionalAttrs (hostPlatform.libc == "msvcrt") {
cmakeFlags = "-DBuildTests=OFF -DCMAKE_SYSTEM_NAME=Windows";
};
cmakeFlags = [
"-DBuildTests=${if doCheck then "ON" else "OFF"}"
] ++ stdenv.lib.optionals (hostPlatform.libc == "msvcrt") [
"-DCMAKE_SYSTEM_NAME=Windows"
];
meta = with stdenv.lib; {
description = "Header only C++ library for the JSON file format";

View File

@ -2,6 +2,7 @@
, buildPlatform, hostPlatform
, withCryptodev ? false, cryptodevHeaders
, enableSSL2 ? false
, static ? false
}:
with stdenv.lib;
@ -63,7 +64,7 @@ let
'';
configureFlags = [
"shared"
"shared" # "shared" builds both shared and static libraries
"--libdir=lib"
"--openssldir=etc/ssl"
] ++ stdenv.lib.optionals withCryptodev [
@ -76,13 +77,16 @@ let
enableParallelBuilding = true;
postInstall = ''
postInstall =
stdenv.lib.optionalString (!static) ''
# If we're building dynamic libraries, then don't install static
# libraries.
if [ -n "$(echo $out/lib/*.so $out/lib/*.dylib $out/lib/*.dll)" ]; then
rm "$out/lib/"*.a
fi
'' +
''
mkdir -p $bin
mv $out/bin $bin/

View File

@ -1,4 +1,5 @@
{ stdenv, fetchFromGitHub, cmake, qhull, flann, boost, vtk, eigen, pkgconfig, qtbase
{ stdenv, fetchFromGitHub, fetchpatch, cmake
, qhull, flann, boost, vtk, eigen, pkgconfig, qtbase
, libusb1, libpcap, libXt, libpng, Cocoa, AGL, cf-private, OpenGL
}:
@ -12,6 +13,14 @@ stdenv.mkDerivation rec {
sha256 = "05wvqqi2fyk5innw4mg356r71c1hmc9alc7xkf4g81ds3b3867xq";
};
patches = [
# boost-1.67 compatibility
(fetchpatch {
url = "https://github.com/PointCloudLibrary/pcl/commit/2309bdab20fb2a385d374db6a87349199279db18.patch";
sha256 = "112p4687xrm0vsm0magmkvsm1hpks9hj42fm0lncy3yy2j1v3r4h";
name = "boost167-random.patch";
})];
enableParallelBuilding = true;
nativeBuildInputs = [ pkgconfig cmake ];

View File

@ -1,5 +1,4 @@
{ stdenv, fetchurl, fetchpatch, substituteAll
, hostPlatform
{ stdenv, lib, fetchurl, fetchpatch, substituteAll
, libXrender, libXinerama, libXcursor, libXv, libXext
, libXfixes, libXrandr, libSM, freetype, fontconfig, zlib, libjpeg, libpng
, libmng, which, libGLSupported, libGLU, openssl, dbus, cups, pkgconfig
@ -17,8 +16,6 @@
, cf-private, libobjc, ApplicationServices, OpenGL, Cocoa, AGL, libcxx
}:
with stdenv.lib;
let
v_maj = "4.8";
v_min = "7";
@ -51,12 +48,12 @@ stdenv.mkDerivation rec {
substituteInPlace configure --replace /bin/pwd pwd
substituteInPlace src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls
sed -e 's@/\(usr\|opt\)/@/var/empty/@g' -i config.tests/*/*.test -i mkspecs/*/*.conf
'' + stdenv.lib.optionalString stdenv.isDarwin ''
'' + lib.optionalString stdenv.isDarwin ''
# remove impure reference to /usr/lib/libstdc++.6.dylib
# there might be more references, but this is the only one I could find
substituteInPlace tools/macdeployqt/tests/tst_deployment_mac.cpp \
--replace /usr/lib/libstdc++.6.dylib "${stdenv.cc}/lib/libstdc++.6.dylib"
'' + stdenv.lib.optionalString stdenv.cc.isClang ''
'' + lib.optionalString stdenv.cc.isClang ''
substituteInPlace src/3rdparty/webkit/Source/WebCore/html/HTMLImageElement.cpp \
--replace 'optionalHeight > 0' 'optionalHeight != NULL'
@ -65,14 +62,15 @@ stdenv.mkDerivation rec {
'';
patches =
[ ./glib-2.32.patch
lib.optionals (stdenv.hostPlatform == stdenv.buildPlatform) [
./glib-2.32.patch
./libressl.patch
./parallel-configure.patch
./clang-5-darwin.patch
./qt-4.8.7-unixmake-darwin.patch
(substituteAll {
src = ./dlopen-absolute-paths.diff;
cups = if cups != null then stdenv.lib.getLib cups else null;
cups = if cups != null then lib.getLib cups else null;
icu = icu.out;
libXfixes = libXfixes.out;
glibc = stdenv.cc.libc.out;
@ -89,25 +87,25 @@ stdenv.mkDerivation rec {
sha256 = "07lrva7bjh6i40p7b3ml26a2jlznri8bh7y7iyx5zmvb1gfxmj34";
})
]
++ stdenv.lib.optional gtkStyle (substituteAll ({
++ lib.optional gtkStyle (substituteAll ({
src = ./dlopen-gtkstyle.diff;
# substituteAll ignores env vars starting with capital letter
gtk = gtk2.out;
} // stdenv.lib.optionalAttrs gnomeStyle {
} // lib.optionalAttrs gnomeStyle {
gconf = GConf.out;
libgnomeui = libgnomeui.out;
gnome_vfs = gnome_vfs.out;
}))
++ stdenv.lib.optional flashplayerFix (substituteAll {
++ lib.optional flashplayerFix (substituteAll {
src = ./dlopen-webkit-nsplugin.diff;
gtk = gtk2.out;
gdk_pixbuf = gdk_pixbuf.out;
})
++ stdenv.lib.optional stdenv.isAarch64 (fetchpatch {
++ lib.optional stdenv.isAarch64 (fetchpatch {
url = "https://src.fedoraproject.org/rpms/qt/raw/ecf530486e0fb7fe31bad26805cde61115562b2b/f/qt-aarch64.patch";
sha256 = "1fbjh78nmafqmj7yk67qwjbhl3f6ylkp6x33b1dqxfw9gld8b3gl";
})
++ stdenv.lib.optionals stdenv.hostPlatform.isMusl [
++ lib.optionals stdenv.hostPlatform.isMusl [
./qt-musl.patch
./qt-musl-iconv-no-bom.patch
./patch-qthread-stacksize.diff
@ -127,15 +125,27 @@ stdenv.mkDerivation rec {
--jobs=$NIX_BUILD_CORES
"
unset LD # Makefile uses gcc for linking; setting LD interferes
'' + optionalString stdenv.cc.isClang ''
'' + lib.optionalString stdenv.cc.isClang ''
sed -i 's/QMAKE_CC = gcc/QMAKE_CC = clang/' mkspecs/common/g++-base.conf
sed -i 's/QMAKE_CXX = g++/QMAKE_CXX = clang++/' mkspecs/common/g++-base.conf
'' + lib.optionalString stdenv.hostPlatform.isWindows ''
sed -i -e 's/ g++/ ${stdenv.cc.targetPrefix}g++/' \
-e 's/ gcc/ ${stdenv.cc.targetPrefix}gcc/' \
-e 's/ ar/ ${stdenv.cc.targetPrefix}ar/' \
-e 's/ strip/ ${stdenv.cc.targetPrefix}strip/' \
-e 's/ windres/ ${stdenv.cc.targetPrefix}windres/' \
mkspecs/win32-g++/qmake.conf
'';
prefixKey = "-prefix ";
configureFlags =
''
${if stdenv.hostPlatform == stdenv.buildPlatform then null else "configurePlatforms"} = [];
configureFlags = let
platformFlag =
if stdenv.hostPlatform != stdenv.buildPlatform
then "-xplatform"
else "-platform";
in (if stdenv.hostPlatform == stdenv.buildPlatform then ''
-v -no-separate-debug-info -release -fast -confirm-license -opensource
-${if stdenv.isFreeBSD then "no-" else ""}opengl -xrender -xrandr -xinerama -xcursor -xinput -xfixes -fontconfig
@ -152,23 +162,30 @@ stdenv.mkDerivation rec {
-no-phonon ${if buildWebkit then "" else "-no"}-webkit ${if buildMultimedia then "" else "-no"}-multimedia -audio-backend
${if developerBuild then "-developer-build" else ""}
'' + optionalString stdenv.isDarwin "-platform unsupported/macx-clang-libc++";
'' else ''
-static -release -confirm-license -opensource
-no-opengl -no-phonon
-no-svg
-make qmake -make libs -nomake tools
-nomake demos -nomake examples -nomake docs
'') + lib.optionalString stdenv.hostPlatform.isDarwin "${platformFlag} unsupported/macx-clang-libc++"
+ lib.optionalString stdenv.hostPlatform.isMinGW "${platformFlag} win32-g++-4.6";
propagatedBuildInputs =
[ libXrender libXrandr libXinerama libXcursor libXext libXfixes libXv libXi
libSM zlib libpng openssl dbus freetype fontconfig glib ]
# Qt doesn't directly need GLU (just GL), but many apps use, it's small and doesn't remain a runtime-dep if not used
++ optional libGLSupported libGLU
++ optional ((buildWebkit || buildMultimedia) && stdenv.isLinux ) alsaLib
++ optionals (buildWebkit || buildMultimedia) [ gstreamer gst-plugins-base ];
++ lib.optional libGLSupported libGLU
++ lib.optional ((buildWebkit || buildMultimedia) && stdenv.isLinux ) alsaLib
++ lib.optionals (buildWebkit || buildMultimedia) [ gstreamer gst-plugins-base ];
# The following libraries are only used in plugins
buildInputs =
[ cups # Qt dlopen's libcups instead of linking to it
postgresql sqlite libjpeg libmng libtiff icu ]
++ optionals (mysql != null) [ mysql.connector-c ]
++ optionals gtkStyle [ gtk2 gdk_pixbuf ]
++ optionals stdenv.isDarwin [ cf-private ApplicationServices OpenGL Cocoa AGL libcxx libobjc ];
++ lib.optionals (mysql != null) [ mysql.connector-c ]
++ lib.optionals gtkStyle [ gtk2 gdk_pixbuf ]
++ lib.optionals stdenv.isDarwin [ cf-private ApplicationServices OpenGL Cocoa AGL libcxx libobjc ];
nativeBuildInputs = [ perl pkgconfig which ];
@ -177,14 +194,14 @@ stdenv.mkDerivation rec {
NIX_CFLAGS_COMPILE =
# with gcc7 the warnings blow the log over Hydra's limit
[ "-Wno-expansion-to-defined" "-Wno-unused-local-typedefs" ]
++ optional stdenv.isLinux "-std=gnu++98" # gnu++ in (Obj)C flags is no good on Darwin
++ optionals (stdenv.isFreeBSD || stdenv.isDarwin)
++ lib.optional stdenv.isLinux "-std=gnu++98" # gnu++ in (Obj)C flags is no good on Darwin
++ lib.optionals (stdenv.isFreeBSD || stdenv.isDarwin)
[ "-I${glib.dev}/include/glib-2.0" "-I${glib.out}/lib/glib-2.0/include" ]
++ optional stdenv.isDarwin "-I${libcxx}/include/c++/v1";
++ lib.optional stdenv.isDarwin "-I${libcxx}/include/c++/v1";
NIX_LDFLAGS = optionalString (stdenv.isFreeBSD || stdenv.isDarwin) "-lglib-2.0";
NIX_LDFLAGS = lib.optionalString (stdenv.isFreeBSD || stdenv.isDarwin) "-lglib-2.0";
preBuild = optionalString stdenv.isDarwin ''
preBuild = lib.optionalString stdenv.isDarwin ''
# resolve "extra qualification on member" error
sed -i 's/struct ::TabletProximityRec;/struct TabletProximityRec;/' \
src/gui/kernel/qt_cocoa_helpers_mac_p.h
@ -196,44 +213,19 @@ stdenv.mkDerivation rec {
postInstall = ''
rm -rf $out/tests
''
# I don't know why it does not install qmake
+ lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
cp bin/qmake* $out/bin
'';
crossAttrs = {
# I've not tried any case other than i686-pc-mingw32.
# -nomake tools: it fails linking some asian language symbols
# -no-svg: it fails to build on mingw64
configureFlags = ''
-static -release -confirm-license -opensource
-no-opengl -no-phonon
-no-svg
-make qmake -make libs -nomake tools
-nomake demos -nomake examples -nomake docs
'' + optionalString hostPlatform.isMinGW " -xplatform win32-g++-4.6";
patches = [];
preConfigure = ''
sed -i -e 's/ g++/ ${stdenv.cc.targetPrefix}g++/' \
-e 's/ gcc/ ${stdenv.cc.targetPrefix}gcc/' \
-e 's/ ar/ ${stdenv.cc.targetPrefix}ar/' \
-e 's/ strip/ ${stdenv.cc.targetPrefix}strip/' \
-e 's/ windres/ ${stdenv.cc.targetPrefix}windres/' \
mkspecs/win32-g++/qmake.conf
'';
# I don't know why it does not install qmake
postInstall = ''
cp bin/qmake* $out/bin
'';
configurePlatforms = [];
dontStrip = true;
} // optionalAttrs hostPlatform.isMinGW {
propagatedBuildInputs = [ ];
};
dontStrip = if stdenv.hostPlatform == stdenv.buildPlatform then null else true;
meta = {
homepage = http://qt-project.org/;
description = "A cross-platform application framework for C++";
license = licenses.lgpl21Plus; # or gpl3
maintainers = with maintainers; [ orivej lovek323 phreedom sander ];
platforms = platforms.unix;
license = lib.licenses.lgpl21Plus; # or gpl3
maintainers = with lib.maintainers; [ orivej lovek323 phreedom sander ];
platforms = lib.platforms.unix;
};
}

View File

@ -14,15 +14,18 @@ in stdenv.mkDerivation rec {
sha256 = "0skdv3wff1i78hb0y771apw0cak5rzxbwbh6l922snfm01z9k1ws";
};
outputs = [ "lib" "dev" "doc" "out" ];
dontDisableStatic = true;
enableParallelBuilding = true;
configureFlags = [
"--enable-force-devr" # assume /dev/random works
"--libdir=\${prefix}/lib"
"--includedir=\${prefix}/include"
"--sysdepdir=\${prefix}/lib/skalibs/sysdeps"
"--libdir=\${lib}/lib"
"--dynlibdir=\${lib}/lib"
"--includedir=\${dev}/include"
"--sysdepdir=\${lib}/lib/skalibs/sysdeps"
]
++ (if stdenv.isDarwin then [ "--disable-shared" ] else [ "--enable-shared" ])
# On darwin, the target triplet from -dumpmachine includes version number, but
@ -32,12 +35,17 @@ in stdenv.mkDerivation rec {
# http://www.skarnet.org/cgi-bin/archive.cgi?1:mss:623:heiodchokfjdkonfhdph
++ (stdenv.lib.optional stdenv.isDarwin "--build=${stdenv.system}");
postInstall = ''
mkdir -p $doc/share/doc/skalibs
mv doc $doc/share/doc/skalibs/html
'';
meta = {
homepage = http://skarnet.org/software/skalibs/;
description = "A set of general-purpose C programming libraries";
platforms = stdenv.lib.platforms.all;
license = stdenv.lib.licenses.isc;
maintainers = with stdenv.lib.maintainers; [ pmahoney ];
maintainers = with stdenv.lib.maintainers; [ pmahoney Profpatsch ];
};
}

View File

@ -0,0 +1,28 @@
{ stdenv, fetchurl, unzip, mesa_noglu, libX11 }:
stdenv.mkDerivation rec {
name = "soil";
src = fetchurl {
url = "http://www.lonesock.net/files/soil.zip";
sha256 = "00gpwp9dldzhsdhksjvmbhsd2ialraqbv6v6dpikdmpncj6mnc52";
};
buildInputs = [ unzip mesa_noglu libX11 ];
sourceRoot = "Simple OpenGL Image Library/projects/makefile";
preBuild = "mkdir obj";
preInstall = "mkdir -p $out/lib $out/include";
makeFlags = [ "LOCAL=$(out)" ];
meta = {
description = "Simple OpenGL Image Library";
longDescription = ''
SOIL is a tiny C library used primarily for uploading textures
into OpenGL.
'';
homepage = https://www.lonesock.net/soil.html;
license = stdenv.lib.licenses.publicDomain;
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -2,23 +2,19 @@
stdenv.mkDerivation rec {
name = "zeromq-${version}";
version = "4.2.3";
version = "4.2.5";
src = fetchFromGitHub {
owner = "zeromq";
repo = "libzmq";
rev = "v${version}";
sha256 = "1yadf4vz4m49lpwwwscxs6wf4v9dgqgxkwgwpby9lvb4pv8qbmaf";
sha256 = "18mjmbhvfhr4463dqayl5hdjfy5rx7na1xsq9dsvlaz9qlr5fskw";
};
nativeBuildInputs = [ cmake asciidoc ];
enableParallelBuilding = true;
postPatch = ''
sed -i 's,''${PACKAGE_PREFIX_DIR}/,,g' ZeroMQConfig.cmake.in
'';
doCheck = false; # fails all the tests (ctest)
meta = with stdenv.lib; {

View File

@ -0,0 +1,30 @@
{ stdenv, fetchurl, ocaml, findlib, jbuilder, ocaml-migrate-parsetree }:
assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "4.01";
stdenv.mkDerivation rec {
pname = "ppx_gen_rec";
name = "ocaml${ocaml.version}-${pname}-${version}";
version = "1.0.0";
src = fetchurl {
url = "https://github.com/flowtype/ocaml-${pname}/releases/download/v${version}/${pname}-${version}.tbz";
sha256 = "0qy0wa3rd5yh1612jijadi1yddfslpsmmmf69phi2dhr3vmkhza7";
};
unpackCmd = "tar xjf $src";
buildInputs = [ ocaml findlib jbuilder ocaml-migrate-parsetree ];
buildPhase = "jbuilder build -p ppx_gen_rec";
inherit (jbuilder) installPhase;
meta = with stdenv.lib; {
homepage = https://github.com/flowtype/ocaml-ppx_gen_rec;
description = "ocaml preprocessor that generates a recursive module";
license = licenses.mit;
platforms = ocaml.meta.platforms or [];
maintainers = [ maintainers.frontsideair ];
};
}

View File

@ -1,17 +1,28 @@
{ stdenv, buildPythonPackage, fetchPypi, pythonOlder, attrs, click }:
{ stdenv, buildPythonPackage, fetchPypi, pythonOlder
, attrs, click, toml, appdirs
, glibcLocales, pytest }:
buildPythonPackage rec {
pname = "black";
version = "18.4a0";
version = "18.6b4";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "04dffr4wmzs4vf2xj0cxp03hv04x0kk06qyzx6jjrp1mq0z3n2rr";
sha256 = "0i4sfqgz6w15vd50kbhi7g7rifgqlf8yfr8y78rypd56q64qn592";
};
propagatedBuildInputs = [ attrs click ];
checkInputs = [ pytest glibcLocales ];
checkPhase = ''
# no idea, why those fail.
LC_ALL="en_US.UTF-8" HOME="$NIX_BUILD_TOP" \
pytest \
-k "not test_cache_multiple_files and not test_failed_formatting_does_not_get_cached"
'';
propagatedBuildInputs = [ attrs appdirs click toml ];
meta = with stdenv.lib; {
description = "The uncompromising Python code formatter";

View File

@ -10,7 +10,7 @@ buildPythonPackage rec {
};
checkPhase = "python -m unittest discover -s test";
doInstallCheck = !hostPlatform.isDarwin; # broken on darwin
doCheck = !hostPlatform.isDarwin; # broken on darwin
meta = with lib; {
homepage = "https://github.com/pyserial/pyserial";

View File

@ -0,0 +1,41 @@
{ lib
, buildPythonPackage
, fetchPypi
, pkgconfig
, gtk3
, libjpeg
, libtiff
, SDL
, gst-plugins-base
, libnotify
, freeglut
, xorg
, which
}:
buildPythonPackage rec {
pname = "wxPython";
version = "4.0.3";
src = fetchPypi {
inherit pname version;
sha256 = "8d0dfc0146c24749ce00d575e35cc2826372e809d5bc4a57bde6c89031b59e75";
};
nativeBuildInputs = [
pkgconfig
];
buildInputs = [
gtk3 libjpeg libtiff SDL gst-plugins-base libnotify freeglut xorg.libSM
which
];
meta = {
description = "Cross platform GUI toolkit for Python, Phoenix version";
homepage = http://wxpython.org/;
license = lib.licenses.wxWindows;
};
}

View File

@ -3,14 +3,14 @@
with lib;
stdenv.mkDerivation rec {
version = "0.76.0";
version = "0.77.0";
name = "flow-${version}";
src = fetchFromGitHub {
owner = "facebook";
repo = "flow";
rev = "v${version}";
sha256 = "0r3yl4m7dhm1h4c431zp8hd2gg6k1d9bwd2371xav5q7hviwmjl6";
sha256 = "1wcbqw5vwb3wsz9dkhi2k159ms98kn1nw3g9lc2j9w1m8ki41lql";
};
installPhase = ''
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
buildInputs = [ libelf
] ++ (with ocamlPackages; [
ocaml findlib camlp4 sedlex ocamlbuild lwt_ppx lwt_log wtf8 dtoa
ocaml findlib camlp4 sedlex ocamlbuild lwt_ppx ppx_deriving ppx_gen_rec lwt_log wtf8 dtoa
]) ++ optionals stdenv.isDarwin [ cf-private CoreServices ];
meta = with stdenv.lib; {

Some files were not shown because too many files have changed in this diff Show More