forked from mirrors/nixpkgs
Merge staging-next into staging
This commit is contained in:
commit
36927e8629
|
@ -307,12 +307,12 @@ $ nix-env --install --attr haskellPackages.dhall-nixpkgs
|
|||
|
||||
$ nix-env --install --attr nix-prefetch-git # Used by dhall-to-nixpkgs
|
||||
|
||||
$ dhall-to-nixpkgs github https://github.com/Gabriel439/dhall-semver.git
|
||||
$ dhall-to-nixpkgs github https://github.com/Gabriella439/dhall-semver.git
|
||||
{ buildDhallGitHubPackage, Prelude }:
|
||||
buildDhallGitHubPackage {
|
||||
name = "dhall-semver";
|
||||
githubBase = "github.com";
|
||||
owner = "Gabriel439";
|
||||
owner = "Gabriella439";
|
||||
repo = "dhall-semver";
|
||||
rev = "2d44ae605302ce5dc6c657a1216887fbb96392a4";
|
||||
fetchSubmodules = false;
|
||||
|
|
|
@ -276,6 +276,15 @@ Defaults to `true`.
|
|||
: Whether to generate an index for interactive navigation of the HTML documentation.
|
||||
Defaults to `true` if supported.
|
||||
|
||||
`doInstallIntermediates`
|
||||
: Whether to install intermediate build products (files written to `dist/build`
|
||||
by GHC during the build process). With `enableSeparateIntermediatesOutput`,
|
||||
these files are instead installed to [a separate `intermediates`
|
||||
output.][multiple-outputs] The output can then be passed into a future build of
|
||||
the same package with the `previousIntermediates` argument to support
|
||||
incremental builds. See [“Incremental builds”](#haskell-incremental-builds) for
|
||||
more information. Defaults to `false`.
|
||||
|
||||
`enableLibraryProfiling`
|
||||
: Whether to enable [profiling][profiling] for libraries contained in the
|
||||
package. Enabled by default if supported.
|
||||
|
@ -371,6 +380,12 @@ Defaults to `false`.
|
|||
: Whether to install documentation to a separate `doc` output.
|
||||
Is automatically enabled if `doHaddock` is `true`.
|
||||
|
||||
`enableSeparateIntermediatesOutput`
|
||||
: When `doInstallIntermediates` is true, whether to install intermediate build
|
||||
products to a separate `intermediates` output. See [“Incremental
|
||||
builds”](#haskell-incremental-builds) for more information. Defaults to
|
||||
`false`.
|
||||
|
||||
`allowInconsistentDependencies`
|
||||
: If enabled, allow multiple versions of the same Haskell package in the
|
||||
dependency tree at configure time. Often in such a situation compilation would
|
||||
|
@ -381,6 +396,11 @@ later fail because of type mismatches. Defaults to `false`.
|
|||
when loading the library in the REPL, but requires extra build time and
|
||||
disk space. Defaults to `false`.
|
||||
|
||||
`previousIntermediates`
|
||||
: If non-null, intermediate build artifacts are copied from this input to
|
||||
`dist/build` before performing compiling. See [“Incremental
|
||||
builds”](#haskell-incremental-builds) for more information. Defaults to `null`.
|
||||
|
||||
`buildTarget`
|
||||
: Name of the executable or library to build and install.
|
||||
If unset, all available targets are built and installed.
|
||||
|
@ -496,6 +516,54 @@ the [Meta-attributes section](#chap-meta) for their documentation.
|
|||
* `broken`
|
||||
* `hydraPlatforms`
|
||||
|
||||
### Incremental builds {#haskell-incremental-builds}
|
||||
|
||||
`haskellPackages.mkDerivation` supports incremental builds for GHC 9.4 and
|
||||
newer with the `doInstallIntermediates`, `enableSeparateIntermediatesOutput`,
|
||||
and `previousIntermediates` arguments.
|
||||
|
||||
The basic idea is to first perform a full build of the package in question,
|
||||
save its intermediate build products for later, and then copy those build
|
||||
products into the build directory of an incremental build performed later.
|
||||
Then, GHC will use those build artifacts to avoid recompiling unchanged
|
||||
modules.
|
||||
|
||||
For more detail on how to store and use incremental build products, see
|
||||
[Gabriella Gonzalez’ blog post “Nixpkgs support for incremental Haskell
|
||||
builds”.][incremental-builds] motivation behind this feature.
|
||||
|
||||
An incremental build for [the `turtle` package][turtle] can be performed like
|
||||
so:
|
||||
|
||||
```nix
|
||||
let
|
||||
pkgs = import <nixpkgs> {};
|
||||
inherit (pkgs) haskell;
|
||||
inherit (haskell.lib.compose) overrideCabal;
|
||||
|
||||
# Incremental builds work with GHC >=9.4.
|
||||
turtle = haskell.packages.ghc944.turtle;
|
||||
|
||||
# This will do a full build of `turtle`, while writing the intermediate build products
|
||||
# (compiled modules, etc.) to the `intermediates` output.
|
||||
turtle-full-build-with-incremental-output = overrideCabal (drv: {
|
||||
doInstallIntermediates = true;
|
||||
enableSeparateIntermediatesOutput = true;
|
||||
}) turtle;
|
||||
|
||||
# This will do an incremental build of `turtle` by copying the previously
|
||||
# compiled modules and intermediate build products into the source tree
|
||||
# before running the build.
|
||||
#
|
||||
# GHC will then naturally pick up and reuse these products, making this build
|
||||
# complete much more quickly than the previous one.
|
||||
turtle-incremental-build = overrideCabal (drv: {
|
||||
previousIntermediates = turtle-full-build-with-incremental-output.intermediates;
|
||||
}) turtle;
|
||||
in
|
||||
turtle-incremental-build
|
||||
```
|
||||
|
||||
## Development environments {#haskell-development-environments}
|
||||
|
||||
In addition to building and installing Haskell software, nixpkgs can also
|
||||
|
@ -1083,8 +1151,11 @@ on the issue linked above.
|
|||
[haskell.nix]: https://input-output-hk.github.io/haskell.nix/index.html
|
||||
[HLS user guide]: https://haskell-language-server.readthedocs.io/en/latest/configuration.html#configuring-your-editor
|
||||
[hoogle]: https://wiki.haskell.org/Hoogle
|
||||
[incremental-builds]: https://www.haskellforall.com/2022/12/nixpkgs-support-for-incremental-haskell.html
|
||||
[jailbreak-cabal]: https://github.com/NixOS/jailbreak-cabal/
|
||||
[multiple-outputs]: https://nixos.org/manual/nixpkgs/stable/#chap-multiple-output
|
||||
[optparse-applicative-completions]: https://github.com/pcapriotti/optparse-applicative/blob/7726b63796aa5d0df82e926d467f039b78ca09e2/README.md#bash-zsh-and-fish-completions
|
||||
[profiling-detail]: https://cabal.readthedocs.io/en/latest/cabal-project.html#cfg-field-profiling-detail
|
||||
[profiling]: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/profiling.html
|
||||
[search.nixos.org]: https://search.nixos.org
|
||||
[turtle]: https://hackage.haskell.org/package/turtle
|
||||
|
|
|
@ -5536,18 +5536,18 @@
|
|||
githubId = 606000;
|
||||
name = "Gabriel Adomnicai";
|
||||
};
|
||||
Gabriel439 = {
|
||||
email = "Gabriel439@gmail.com";
|
||||
github = "Gabriella439";
|
||||
githubId = 1313787;
|
||||
name = "Gabriel Gonzalez";
|
||||
};
|
||||
GabrielDougherty = {
|
||||
email = "contact@gabrieldougherty.com";
|
||||
github = "GabrielDougherty";
|
||||
githubId = 10541219;
|
||||
name = "Gabriel Dougherty";
|
||||
};
|
||||
Gabriella439 = {
|
||||
email = "GenuineGabriella@gmail.com";
|
||||
github = "Gabriella439";
|
||||
githubId = 1313787;
|
||||
name = "Gabriella Gonzalez";
|
||||
};
|
||||
gador = {
|
||||
email = "florian.brandes@posteo.de";
|
||||
github = "gador";
|
||||
|
@ -11461,6 +11461,16 @@
|
|||
githubId = 26231126;
|
||||
name = "Nils ANDRÉ-CHANG";
|
||||
};
|
||||
nim65s = {
|
||||
email = "guilhem.saurel@laas.fr";
|
||||
matrix = "@gsaurel:laas.fr";
|
||||
github = "nim65s";
|
||||
githubId = 131929;
|
||||
name = "Guilhem Saurel";
|
||||
keys = [{
|
||||
fingerprint = "9B1A 7906 5D2F 2B80 6C8A 5A1C 7D2A CDAF 4653 CF28";
|
||||
}];
|
||||
};
|
||||
ninjatrappeur = {
|
||||
email = "felix@alternativebit.fr";
|
||||
matrix = "@ninjatrappeur:matrix.org";
|
||||
|
|
|
@ -213,7 +213,7 @@ with lib.maintainers; {
|
|||
|
||||
dhall = {
|
||||
members = [
|
||||
Gabriel439
|
||||
Gabriella439
|
||||
ehmry
|
||||
];
|
||||
scope = "Maintain Dhall and related packages.";
|
||||
|
@ -556,6 +556,15 @@ with lib.maintainers; {
|
|||
shortName = "Minimal Bootstrap";
|
||||
};
|
||||
|
||||
mercury = {
|
||||
members = [
|
||||
_9999years
|
||||
Gabriella439
|
||||
];
|
||||
scope = "Group registry for packages maintained by Mercury";
|
||||
shortName = "Mercury Employees";
|
||||
};
|
||||
|
||||
mobile = {
|
||||
members = [
|
||||
samueldr
|
||||
|
|
|
@ -50,7 +50,7 @@ in {
|
|||
environment.systemPackages = optional (cfg.package != null) cfg.package ++ cfg.extraPackages;
|
||||
|
||||
# To make a river session available if a display manager like SDDM is enabled:
|
||||
programs.xwayland.enable = mkDefault true;
|
||||
services.xserver.displayManager.sessionPackages = optionals (cfg.package != null) [ cfg.package ];
|
||||
}
|
||||
(import ./wayland-session.nix { inherit lib pkgs; })
|
||||
]);
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
import ./generic.nix (rec {
|
||||
version = "28.2";
|
||||
sha256 = "sha256-4oSLcUDR0MOEt53QOiZSVU8kPJ67GwugmBxdX3F15Ag=";
|
||||
})
|
65
pkgs/applications/editors/emacs/default.nix
Normal file
65
pkgs/applications/editors/emacs/default.nix
Normal file
|
@ -0,0 +1,65 @@
|
|||
{ lib, pkgs }:
|
||||
|
||||
lib.makeScope pkgs.newScope (self:
|
||||
let
|
||||
gconf = pkgs.gnome2.GConf;
|
||||
inherit (self) callPackage;
|
||||
in {
|
||||
sources = import ./sources.nix {
|
||||
inherit lib;
|
||||
inherit (pkgs)
|
||||
fetchFromBitbucket
|
||||
fetchFromSavannah;
|
||||
};
|
||||
|
||||
emacs28 = callPackage (self.sources.emacs28) {
|
||||
inherit gconf;
|
||||
|
||||
inherit (pkgs.darwin) sigtool;
|
||||
inherit (pkgs.darwin.apple_sdk.frameworks)
|
||||
AppKit Carbon Cocoa GSS ImageCaptureCore ImageIO IOKit OSAKit Quartz
|
||||
QuartzCore WebKit;
|
||||
};
|
||||
|
||||
emacs28-gtk2 = self.emacs28.override {
|
||||
withGTK2 = true;
|
||||
};
|
||||
|
||||
emacs28-gtk3 = self.emacs28.override {
|
||||
withGTK3 = true;
|
||||
};
|
||||
|
||||
emacs28-nox = pkgs.lowPrio (self.emacs28.override {
|
||||
noGui = true;
|
||||
});
|
||||
|
||||
emacs29 = callPackage (self.sources.emacs29) {
|
||||
inherit gconf;
|
||||
|
||||
inherit (pkgs.darwin) sigtool;
|
||||
inherit (pkgs.darwin.apple_sdk.frameworks)
|
||||
AppKit Carbon Cocoa GSS ImageCaptureCore ImageIO IOKit OSAKit Quartz
|
||||
QuartzCore WebKit;
|
||||
};
|
||||
|
||||
emacs29-gtk3 = self.emacs29.override {
|
||||
withGTK3 = true;
|
||||
};
|
||||
|
||||
emacs29-nox = self.emacs29.override {
|
||||
noGui = true;
|
||||
};
|
||||
|
||||
emacs29-pgtk = self.emacs29.override {
|
||||
withPgtk = true;
|
||||
};
|
||||
|
||||
emacs-macport = callPackage (self.sources.emacs-macport) {
|
||||
inherit gconf;
|
||||
|
||||
inherit (pkgs.darwin) sigtool;
|
||||
inherit (pkgs.darwin.apple_sdk.frameworks)
|
||||
AppKit Carbon Cocoa GSS ImageCaptureCore ImageIO IOKit OSAKit Quartz
|
||||
QuartzCore WebKit;
|
||||
};
|
||||
})
|
|
@ -1,66 +1,126 @@
|
|||
{
|
||||
version
|
||||
, sha256
|
||||
, versionModifier ? ""
|
||||
, pname ? "emacs"
|
||||
, name ? "emacs-${version}${versionModifier}"
|
||||
, patches ? _: [ ]
|
||||
, macportVersion ? null
|
||||
{ pname ? "emacs"
|
||||
, version
|
||||
, versionModifier ? ""
|
||||
, name ? "emacs-${version}${versionModifier}"
|
||||
, variant
|
||||
, src
|
||||
, patches ? _: [ ]
|
||||
}:
|
||||
{ stdenv, llvmPackages_6, lib, fetchurl, fetchpatch, substituteAll, ncurses, libXaw, libXpm
|
||||
, Xaw3d, libXcursor, pkg-config, gettext, libXft, dbus, libpng, libjpeg, giflib
|
||||
, libtiff, librsvg, libwebp, gconf, libxml2, imagemagick, gnutls, libselinux
|
||||
, alsa-lib, cairo, acl, gpm, m17n_lib, libotf
|
||||
, sigtool, jansson, harfbuzz, sqlite, nixosTests
|
||||
, recurseIntoAttrs, emacsPackagesFor
|
||||
, libgccjit, makeWrapper # native-comp params
|
||||
, fetchFromSavannah, fetchFromBitbucket
|
||||
|
||||
# macOS dependencies for NS and macPort
|
||||
, AppKit, Carbon, Cocoa, IOKit, OSAKit, Quartz, QuartzCore, WebKit
|
||||
, ImageCaptureCore, GSS, ImageIO # These may be optional
|
||||
{ lib
|
||||
, stdenv
|
||||
, Xaw3d
|
||||
, acl
|
||||
, alsa-lib
|
||||
, autoreconfHook
|
||||
, cairo
|
||||
, dbus
|
||||
, emacsPackagesFor
|
||||
, fetchpatch
|
||||
, gconf
|
||||
, gettext
|
||||
, giflib
|
||||
, glib-networking
|
||||
, gnutls
|
||||
, gpm
|
||||
, gsettings-desktop-schemas
|
||||
, gtk2-x11
|
||||
, gtk3
|
||||
, gtk3-x11
|
||||
, harfbuzz
|
||||
, imagemagick
|
||||
, jansson
|
||||
, libXaw
|
||||
, libXcursor
|
||||
, libXft
|
||||
, libXpm
|
||||
, libgccjit
|
||||
, libjpeg
|
||||
, libotf
|
||||
, libpng
|
||||
, librsvg
|
||||
, libselinux
|
||||
, libtiff
|
||||
, libwebp
|
||||
, libxml2
|
||||
, llvmPackages_6
|
||||
, m17n_lib
|
||||
, makeWrapper
|
||||
, motif
|
||||
, ncurses
|
||||
, nixosTests
|
||||
, pkg-config
|
||||
, recurseIntoAttrs
|
||||
, sigtool
|
||||
, sqlite
|
||||
, substituteAll
|
||||
, systemd
|
||||
, tree-sitter
|
||||
, texinfo
|
||||
, webkitgtk
|
||||
, wrapGAppsHook
|
||||
|
||||
, withX ? !stdenv.isDarwin && !withPgtk
|
||||
, withNS ? stdenv.isDarwin && !withMacport
|
||||
, withMacport ? macportVersion != null
|
||||
, withGTK2 ? false, gtk2-x11 ? null
|
||||
, withGTK3 ? withPgtk, gtk3-x11 ? null, gsettings-desktop-schemas ? null
|
||||
, withXwidgets ? false, webkitgtk ? null, wrapGAppsHook ? null, glib-networking ? null
|
||||
, withMotif ? false, motif ? null
|
||||
, withSQLite3 ? false
|
||||
, withCsrc ? true
|
||||
, withWebP ? false
|
||||
, srcRepo ? true, autoreconfHook ? null, texinfo ? null
|
||||
, siteStart ? ./site-start.el
|
||||
# macOS dependencies for NS and macPort
|
||||
, AppKit
|
||||
, Carbon
|
||||
, Cocoa
|
||||
, GSS
|
||||
, IOKit
|
||||
, ImageCaptureCore
|
||||
, ImageIO
|
||||
, OSAKit
|
||||
, Quartz
|
||||
, QuartzCore
|
||||
, WebKit
|
||||
|
||||
# Boolean flags
|
||||
, nativeComp ? true
|
||||
, noGui ? false
|
||||
, srcRepo ? true
|
||||
, withAcl ? false
|
||||
, withAlsaLib ? false
|
||||
, withAthena ? false
|
||||
, withToolkitScrollBars ? true
|
||||
, withPgtk ? false, gtk3 ? null
|
||||
, withXinput2 ? withX && lib.versionAtLeast version "29"
|
||||
, withCsrc ? true
|
||||
, withGTK2 ? false
|
||||
, withGTK3 ? withPgtk && !noGui
|
||||
, withGconf ? false
|
||||
, withGpm ? stdenv.isLinux
|
||||
, withImageMagick ? lib.versionOlder version "27" && (withX || withNS)
|
||||
, withMotif ? false
|
||||
, withNS ? stdenv.isDarwin && !(variant == "macport" || noGui)
|
||||
, withPgtk ? false
|
||||
, withSQLite3 ? false
|
||||
, withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd
|
||||
, withToolkitScrollBars ? true
|
||||
, withTreeSitter ? lib.versionAtLeast version "29"
|
||||
, withWebP ? false
|
||||
, withX ? !(stdenv.isDarwin || noGui || withPgtk)
|
||||
, withXinput2 ? withX && lib.versionAtLeast version "29"
|
||||
, withXwidgets ? false
|
||||
|
||||
# Options
|
||||
, siteStart ? ./site-start.el
|
||||
, toolkit ? (
|
||||
if withGTK2 then "gtk2"
|
||||
else if withGTK3 then "gtk3"
|
||||
else if withMotif then "motif"
|
||||
else if withAthena then "athena"
|
||||
else "lucid")
|
||||
, withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, systemd
|
||||
, withTreeSitter ? lib.versionAtLeast version "29", tree-sitter ? null
|
||||
}:
|
||||
|
||||
assert (libXft != null) -> libpng != null; # probably a bug
|
||||
assert stdenv.isDarwin -> libXaw != null; # fails to link otherwise
|
||||
assert withNS -> !withX;
|
||||
assert withNS -> stdenv.isDarwin;
|
||||
assert withMacport -> !withNS;
|
||||
assert (withGTK2 && !withNS && !withMacport) -> withX;
|
||||
assert (withGTK3 && !withNS && !withMacport) -> withX || withPgtk;
|
||||
assert withGTK2 -> !withGTK3 && gtk2-x11 != null && !withPgtk;
|
||||
assert withGTK3 -> !withGTK2 && ((gtk3-x11 != null) || withPgtk);
|
||||
assert withPgtk -> withGTK3 && !withX && gtk3 != null;
|
||||
assert withXwidgets -> withGTK3 && webkitgtk != null;
|
||||
assert withTreeSitter -> tree-sitter != null;
|
||||
assert (withGTK2 && !withNS && variant != "macport") -> withX;
|
||||
assert (withGTK3 && !withNS && variant != "macport") -> withX || withPgtk;
|
||||
|
||||
assert noGui -> !(withX || withGTK2 || withGTK3 || withNS || variant == "macport");
|
||||
assert withAcl -> stdenv.isLinux;
|
||||
assert withAlsaLib -> stdenv.isLinux;
|
||||
assert withGTK2 -> !(withGTK3 || withPgtk);
|
||||
assert withGTK3 -> !withGTK2 || withPgtk;
|
||||
assert withGconf -> withX;
|
||||
assert withGpm -> stdenv.isLinux;
|
||||
assert withNS -> stdenv.isDarwin && !(withX || variant == "macport");
|
||||
assert withPgtk -> withGTK3 && !withX;
|
||||
assert withXwidgets -> withGTK3;
|
||||
|
||||
let
|
||||
libGccJitLibraryPaths = [
|
||||
|
@ -69,14 +129,27 @@ let
|
|||
] ++ lib.optionals (stdenv.cc?cc.libgcc) [
|
||||
"${lib.getLib stdenv.cc.cc.libgcc}/lib"
|
||||
];
|
||||
|
||||
inherit (if variant == "macport"
|
||||
then llvmPackages_6.stdenv
|
||||
else stdenv) mkDerivation;
|
||||
in
|
||||
(if withMacport then llvmPackages_6.stdenv else stdenv).mkDerivation (finalAttrs: (lib.optionalAttrs nativeComp {
|
||||
NATIVE_FULL_AOT = "1";
|
||||
LIBRARY_PATH = lib.concatStringsSep ":" libGccJitLibraryPaths;
|
||||
mkDerivation (finalAttrs: (lib.optionalAttrs nativeComp {
|
||||
env = {
|
||||
NATIVE_FULL_AOT = "1";
|
||||
LIBRARY_PATH = lib.concatStringsSep ":" libGccJitLibraryPaths;
|
||||
};
|
||||
} // {
|
||||
pname = pname + lib.optionalString ( !withX && !withNS && !withMacport && !withGTK2 && !withGTK3 ) "-nox";
|
||||
pname = pname
|
||||
+ (if noGui then "-nox"
|
||||
else if withPgtk then "-pgtk"
|
||||
else if withGTK3 then "-gtk3"
|
||||
else if withGTK2 then "-gtk2"
|
||||
else "");
|
||||
inherit version;
|
||||
|
||||
inherit src;
|
||||
|
||||
patches = patches fetchpatch ++ lib.optionals nativeComp [
|
||||
(substituteAll {
|
||||
src = if lib.versionOlder finalAttrs.version "29"
|
||||
|
@ -95,27 +168,14 @@ in
|
|||
})
|
||||
];
|
||||
|
||||
src = if macportVersion != null then fetchFromBitbucket {
|
||||
owner = "mituharu";
|
||||
repo = "emacs-mac";
|
||||
rev = macportVersion;
|
||||
inherit sha256;
|
||||
} else fetchFromSavannah {
|
||||
repo = "emacs";
|
||||
rev = version;
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
postPatch = lib.concatStringsSep "\n" [
|
||||
(lib.optionalString srcRepo ''
|
||||
rm -fr .git
|
||||
'')
|
||||
|
||||
# Add the name of the wrapped gvfsd
|
||||
# This used to be carried as a patch but it often got out of sync with upstream
|
||||
# and was hard to maintain for emacs-overlay.
|
||||
# This used to be carried as a patch but it often got out of sync with
|
||||
# upstream and was hard to maintain for emacs-overlay.
|
||||
(lib.concatStrings (map (fn: ''
|
||||
sed -i 's#(${fn} "gvfs-fuse-daemon")#(${fn} "gvfs-fuse-daemon") (${fn} ".gvfsd-fuse-wrapped")#' lisp/net/tramp-gvfs.el
|
||||
'') [
|
||||
|
@ -130,81 +190,150 @@ in
|
|||
''
|
||||
|
||||
''
|
||||
substituteInPlace lisp/international/mule-cmds.el \
|
||||
--replace /usr/share/locale ${gettext}/share/locale
|
||||
substituteInPlace lisp/international/mule-cmds.el \
|
||||
--replace /usr/share/locale ${gettext}/share/locale
|
||||
|
||||
for makefile_in in $(find . -name Makefile.in -print); do
|
||||
substituteInPlace $makefile_in --replace /bin/pwd pwd
|
||||
done
|
||||
for makefile_in in $(find . -name Makefile.in -print); do
|
||||
substituteInPlace $makefile_in --replace /bin/pwd pwd
|
||||
done
|
||||
''
|
||||
|
||||
""
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkg-config makeWrapper ]
|
||||
++ lib.optionals (srcRepo || withMacport) [ texinfo ]
|
||||
++ lib.optionals srcRepo [ autoreconfHook ]
|
||||
++ lib.optional (withPgtk || withX && (withGTK3 || withXwidgets)) wrapGAppsHook;
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
pkg-config
|
||||
] ++ lib.optionals (variant == "macport") [
|
||||
texinfo
|
||||
] ++ lib.optionals srcRepo [
|
||||
autoreconfHook
|
||||
texinfo
|
||||
] ++ lib.optional (withPgtk || withX && (withGTK3 || withXwidgets)) wrapGAppsHook;
|
||||
|
||||
buildInputs =
|
||||
[ ncurses gconf libxml2 gnutls gettext jansson harfbuzz.dev ]
|
||||
++ lib.optionals stdenv.isLinux [ dbus libselinux alsa-lib acl gpm ]
|
||||
++ lib.optionals withSystemd [ systemd ]
|
||||
++ lib.optionals withX
|
||||
[ libXaw Xaw3d gconf cairo ]
|
||||
++ lib.optionals (withX || withPgtk)
|
||||
[ libXpm libpng libjpeg giflib libtiff ]
|
||||
++ lib.optionals (withX || withNS || withPgtk ) [ librsvg ]
|
||||
++ lib.optionals withImageMagick [ imagemagick ]
|
||||
++ lib.optionals (stdenv.isLinux && withX) [ m17n_lib libotf ]
|
||||
++ lib.optional (withX && withGTK2) gtk2-x11
|
||||
++ lib.optional (withX && withGTK3) gtk3-x11
|
||||
++ lib.optional (!stdenv.isDarwin && withGTK3) gsettings-desktop-schemas
|
||||
++ lib.optional withPgtk gtk3
|
||||
++ lib.optional (withX && withMotif) motif
|
||||
++ lib.optional withSQLite3 sqlite
|
||||
++ lib.optional withWebP libwebp
|
||||
++ lib.optionals (withX && withXwidgets) [ webkitgtk glib-networking ]
|
||||
++ lib.optionals withNS [ AppKit GSS ImageIO ]
|
||||
++ lib.optionals withMacport [
|
||||
AppKit Carbon Cocoa IOKit OSAKit Quartz QuartzCore WebKit
|
||||
# TODO are these optional?
|
||||
ImageCaptureCore GSS ImageIO
|
||||
]
|
||||
++ lib.optionals stdenv.isDarwin [ sigtool ]
|
||||
++ lib.optionals nativeComp [ libgccjit ]
|
||||
++ lib.optionals withTreeSitter [ tree-sitter ];
|
||||
buildInputs = [
|
||||
gettext
|
||||
gnutls
|
||||
harfbuzz.dev
|
||||
jansson
|
||||
libxml2
|
||||
ncurses
|
||||
] ++ lib.optionals withGconf [
|
||||
gconf
|
||||
] ++ lib.optionals withAcl [
|
||||
acl
|
||||
] ++ lib.optionals withAlsaLib [
|
||||
alsa-lib
|
||||
] ++ lib.optionals withGpm [
|
||||
gpm
|
||||
] ++ lib.optionals stdenv.isLinux [
|
||||
dbus
|
||||
libselinux
|
||||
] ++ lib.optionals (!stdenv.isDarwin && withGTK3) [
|
||||
gsettings-desktop-schemas
|
||||
] ++ lib.optionals (stdenv.isLinux && withX) [
|
||||
libotf
|
||||
m17n_lib
|
||||
] ++ lib.optionals (withX && withGTK2) [
|
||||
gtk2-x11
|
||||
] ++ lib.optionals (withX && withGTK3) [
|
||||
gtk3-x11
|
||||
] ++ lib.optionals (withX && withMotif) [
|
||||
motif
|
||||
] ++ lib.optionals (withX && withXwidgets) [
|
||||
glib-networking
|
||||
webkitgtk
|
||||
] ++ lib.optionals nativeComp [
|
||||
libgccjit
|
||||
] ++ lib.optionals withImageMagick [
|
||||
imagemagick
|
||||
] ++ lib.optionals withPgtk [
|
||||
giflib
|
||||
gtk3
|
||||
libXpm
|
||||
libjpeg
|
||||
libpng
|
||||
librsvg
|
||||
libtiff
|
||||
] ++ lib.optionals withSQLite3 [
|
||||
sqlite
|
||||
] ++ lib.optionals withSystemd [
|
||||
systemd
|
||||
] ++ lib.optionals withTreeSitter [
|
||||
tree-sitter
|
||||
] ++ lib.optionals withWebP [
|
||||
libwebp
|
||||
] ++ lib.optionals withX [
|
||||
Xaw3d
|
||||
cairo
|
||||
|
||||
giflib
|
||||
libXaw
|
||||
libXpm
|
||||
libjpeg
|
||||
libpng
|
||||
librsvg
|
||||
libtiff
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
sigtool
|
||||
] ++ lib.optionals withNS [
|
||||
librsvg
|
||||
AppKit
|
||||
GSS
|
||||
ImageIO
|
||||
] ++ lib.optionals (variant == "macport") [
|
||||
AppKit
|
||||
Carbon
|
||||
Cocoa
|
||||
IOKit
|
||||
OSAKit
|
||||
Quartz
|
||||
QuartzCore
|
||||
WebKit
|
||||
# TODO are these optional?
|
||||
GSS
|
||||
ImageCaptureCore
|
||||
ImageIO
|
||||
];
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
configureFlags = [
|
||||
"--disable-build-details" # for a (more) reproducible build
|
||||
"--with-modules"
|
||||
] ++
|
||||
(lib.optional stdenv.isDarwin
|
||||
(lib.withFeature withNS "ns")) ++
|
||||
(if withNS
|
||||
then [ "--disable-ns-self-contained" ]
|
||||
else if withX
|
||||
then [ "--with-x-toolkit=${toolkit}" "--with-xft" "--with-cairo" ]
|
||||
else if withPgtk
|
||||
then [ "--with-pgtk" ]
|
||||
else [ "--with-x=no" "--with-xpm=no" "--with-jpeg=no" "--with-png=no"
|
||||
"--with-gif=no" "--with-tiff=no" ])
|
||||
++ lib.optionals withMacport [
|
||||
"--with-mac"
|
||||
"--enable-mac-app=$$out/Applications"
|
||||
"--with-xml2=yes"
|
||||
"--with-gnutls=yes"
|
||||
]
|
||||
++ lib.optional withXwidgets "--with-xwidgets"
|
||||
++ lib.optional nativeComp "--with-native-compilation"
|
||||
++ lib.optional withImageMagick "--with-imagemagick"
|
||||
++ lib.optional withXinput2 "--with-xinput2"
|
||||
++ lib.optional (!withToolkitScrollBars) "--without-toolkit-scroll-bars"
|
||||
++ lib.optional withTreeSitter "--with-tree-sitter"
|
||||
] ++ (if withNS then [
|
||||
"--disable-ns-self-contained"
|
||||
] else if withX then [
|
||||
"--with-x-toolkit=${toolkit}"
|
||||
"--with-xft"
|
||||
"--with-cairo"
|
||||
] else if withPgtk then [
|
||||
"--with-pgtk"
|
||||
] else [
|
||||
"--with-gif=no"
|
||||
"--with-jpeg=no"
|
||||
"--with-png=no"
|
||||
"--with-tiff=no"
|
||||
"--with-x=no"
|
||||
"--with-xpm=no"
|
||||
])
|
||||
++ lib.optionals (variant == "macport") [
|
||||
"--enable-mac-app=$$out/Applications"
|
||||
"--with-gnutls=yes"
|
||||
"--with-mac"
|
||||
"--with-xml2=yes"
|
||||
]
|
||||
++ (lib.optional stdenv.isDarwin (lib.withFeature withNS "ns"))
|
||||
++ lib.optional (!withToolkitScrollBars) "--without-toolkit-scroll-bars"
|
||||
++ lib.optional nativeComp "--with-native-compilation"
|
||||
++ lib.optional withImageMagick "--with-imagemagick"
|
||||
++ lib.optional withTreeSitter "--with-tree-sitter"
|
||||
++ lib.optional withXinput2 "--with-xinput2"
|
||||
++ lib.optional withXwidgets "--with-xwidgets"
|
||||
;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
installTargets = [ "tags" "install" ];
|
||||
|
||||
postInstall = ''
|
||||
|
@ -227,7 +356,7 @@ in
|
|||
'' + lib.optionalString withNS ''
|
||||
mkdir -p $out/Applications
|
||||
mv nextstep/Emacs.app $out/Applications
|
||||
'' + lib.optionalString (nativeComp && (withNS || withMacport)) ''
|
||||
'' + lib.optionalString (nativeComp && (withNS || variant == "macport")) ''
|
||||
ln -snf $out/lib/emacs/*/native-lisp $out/Applications/Emacs.app/Contents/native-lisp
|
||||
'' + lib.optionalString nativeComp ''
|
||||
echo "Generating native-compiled trampolines..."
|
||||
|
@ -256,29 +385,44 @@ in
|
|||
tests = { inherit (nixosTests) emacs-daemon; };
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "The extensible, customizable GNU text editor" + optionalString withMacport " with Mitsuharu Yamamoto's macport patches";
|
||||
homepage = if withMacport then "https://bitbucket.org/mituharu/emacs-mac/" else "https://www.gnu.org/software/emacs/";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ lovek323 jwiegley adisbladis matthewbauer atemu ];
|
||||
platforms = if withMacport then platforms.darwin else platforms.all;
|
||||
broken = !(stdenv.buildPlatform.canExecute stdenv.hostPlatform);
|
||||
|
||||
meta = {
|
||||
homepage = if variant == "macport"
|
||||
then "https://bitbucket.org/mituharu/emacs-mac/"
|
||||
else "https://www.gnu.org/software/emacs/";
|
||||
description = "The extensible, customizable GNU text editor"
|
||||
+ lib.optionalString (variant == "macport") " - with macport patches";
|
||||
longDescription = ''
|
||||
GNU Emacs is an extensible, customizable text editor—and more. At its
|
||||
core is an interpreter for Emacs Lisp, a dialect of the Lisp
|
||||
programming language with extensions to support text editing.
|
||||
GNU Emacs is an extensible, customizable text editor—and more. At its
|
||||
core is an interpreter for Emacs Lisp, a dialect of the Lisp programming
|
||||
language with extensions to support text editing.
|
||||
|
||||
The features of GNU Emacs include: content-sensitive editing modes,
|
||||
including syntax coloring, for a wide variety of file types including
|
||||
plain text, source code, and HTML; complete built-in documentation,
|
||||
including a tutorial for new users; full Unicode support for nearly all
|
||||
human languages and their scripts; highly customizable, using Emacs
|
||||
Lisp code or a graphical interface; a large number of extensions that
|
||||
add other functionality, including a project planner, mail and news
|
||||
reader, debugger interface, calendar, and more. Many of these
|
||||
extensions are distributed with GNU Emacs; others are available
|
||||
separately.
|
||||
human languages and their scripts; highly customizable, using Emacs Lisp
|
||||
code or a graphical interface; a large number of extensions that add other
|
||||
functionality, including a project planner, mail and news reader, debugger
|
||||
interface, calendar, and more. Many of these extensions are distributed
|
||||
with GNU Emacs; others are available separately.
|
||||
''
|
||||
+ lib.optionalString (variant == "macport") ''
|
||||
|
||||
This release is built from Mitsuharu Yamamoto's patched, MacOS X-specific
|
||||
source code.
|
||||
'';
|
||||
license = lib.licenses.gpl3Plus;
|
||||
maintainers = with lib.maintainers; [
|
||||
AndersonTorres
|
||||
adisbladis
|
||||
atemu
|
||||
jwiegley
|
||||
lovek323
|
||||
matthewbauer
|
||||
];
|
||||
platforms = if variant == "macport"
|
||||
then lib.platforms.darwin
|
||||
else lib.platforms.all;
|
||||
broken = !(stdenv.buildPlatform.canExecute stdenv.hostPlatform);
|
||||
};
|
||||
}))
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
import ./generic.nix rec {
|
||||
pname = "emacs-mac";
|
||||
version = "28.2";
|
||||
macportVersion = "emacs-${version}-mac-9.1";
|
||||
sha256 = "sha256-Ne2jQ2nVLNiQmnkkOXVc5AkLVkTpm8pFC7VNY2gQjPE=";
|
||||
}
|
40
pkgs/applications/editors/emacs/sources.nix
Normal file
40
pkgs/applications/editors/emacs/sources.nix
Normal file
|
@ -0,0 +1,40 @@
|
|||
{ lib
|
||||
, fetchFromBitbucket
|
||||
, fetchFromSavannah
|
||||
}:
|
||||
|
||||
{
|
||||
emacs28 = import ./generic.nix {
|
||||
pname = "emacs";
|
||||
version = "28.2";
|
||||
variant = "mainline";
|
||||
src = fetchFromSavannah {
|
||||
repo = "emacs";
|
||||
rev = "28.2";
|
||||
hash = "sha256-4oSLcUDR0MOEt53QOiZSVU8kPJ67GwugmBxdX3F15Ag=";
|
||||
};
|
||||
};
|
||||
|
||||
emacs29 = import ./generic.nix {
|
||||
pname = "emacs";
|
||||
version = "29.0.91";
|
||||
variant = "mainline";
|
||||
src = fetchFromSavannah {
|
||||
repo = "emacs";
|
||||
rev = "29.0.91";
|
||||
hash = "sha256-YU/sbIr7xX5ELJtPcTL9ZQgZtjEW5oI7YC20fQsOVSY=";
|
||||
};
|
||||
};
|
||||
|
||||
emacs-macport = import ./generic.nix {
|
||||
pname = "emacs-mac";
|
||||
version = "28.2";
|
||||
variant = "macport";
|
||||
src = fetchFromBitbucket {
|
||||
owner = "mituharu";
|
||||
repo = "emacs-mac";
|
||||
rev = "emacs-28.2-mac-9.1";
|
||||
hash = "sha256-Ne2jQ2nVLNiQmnkkOXVc5AkLVkTpm8pFC7VNY2gQjPE=";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
{ stdenv, lib, callPackage, fetchurl
|
||||
, isInsiders ? false
|
||||
, commandLineArgs ? ""
|
||||
, useVSCodeRipgrep ? false
|
||||
, useVSCodeRipgrep ? stdenv.isDarwin
|
||||
}:
|
||||
|
||||
let
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, callPackage, fetchurl, nixosTests, commandLineArgs ? "", useVSCodeRipgrep ? false }:
|
||||
{ lib, stdenv, callPackage, fetchurl, nixosTests, commandLineArgs ? "", useVSCodeRipgrep ? stdenv.isDarwin }:
|
||||
|
||||
let
|
||||
inherit (stdenv.hostPlatform) system;
|
||||
|
|
|
@ -73,8 +73,8 @@ rustPlatform.buildRustPackage {
|
|||
substituteInPlace tauri.conf.json --replace '"distDir": "../out/src",' '"distDir": "frontend-build/src",'
|
||||
'';
|
||||
|
||||
buildInputs = [ dbus openssl freetype libsoup gtk3 webkitgtk cmake ];
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
buildInputs = [ dbus openssl freetype libsoup gtk3 webkitgtk ];
|
||||
|
||||
checkFlags = [
|
||||
# tries to mutate the parent directory
|
||||
|
|
|
@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
|
|||
"IPE_NO_SPELLCHECK=1" # qtSpell is not yet packaged
|
||||
];
|
||||
|
||||
qtWrapperArgs = lib.optional withTeXLive [ "--prefix PATH : ${lib.makeBinPath [ texlive ]}" ];
|
||||
qtWrapperArgs = lib.optionals withTeXLive [ "--prefix PATH : ${lib.makeBinPath [ texlive ]}" ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
|
|
|
@ -1,14 +1,16 @@
|
|||
{ lib, stdenv, fetchFromGitHub, postgresql, openssl } :
|
||||
|
||||
{ lib, stdenv, fetchFromGitHub, postgresql, openssl, nixosTests } :
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pgmanage";
|
||||
version = "11.0.1";
|
||||
# The last release 11.0.1 from 2018 fails the NixOS test
|
||||
# probably because of PostgreSQL-12 incompatibility.
|
||||
# Fortunately the latest master does succeed the test.
|
||||
version = "unstable-2022-05-11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pgManage";
|
||||
repo = "pgManage";
|
||||
rev = "v${version}";
|
||||
sha256 = "1a1dbc32b3y0ph8ydf800h6pz7dg6g1gxgid4gffk7k58xj0c5yf";
|
||||
rev = "a028604416be382d6d310bc68b4e7c3cd16020fb";
|
||||
sha256 = "sha256-ibCzZrqfbio1wBVFKB6S/wdRxnCc7s3IQdtI9txxhaM=";
|
||||
};
|
||||
|
||||
patchPhase = ''
|
||||
|
@ -21,6 +23,8 @@ stdenv.mkDerivation rec {
|
|||
|
||||
buildInputs = [ postgresql openssl ];
|
||||
|
||||
passthru.tests.sign-in = nixosTests.pgmanage;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A fast replacement for PGAdmin";
|
||||
longDescription = ''
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
builtins.mapAttrs (pname: { doCheck ? true, mainProgram ? pname, subPackages }: buildGoModule rec {
|
||||
inherit pname;
|
||||
version = "3.25.1";
|
||||
version = "3.26.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "projectcalico";
|
||||
repo = "calico";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-msXTukje7tS8rovhbZs8CBsfIiDOCx6wkWHoDdhxK+8=";
|
||||
hash = "sha256-1wAFdzIReyL+mfuPKQdPrTjLmiGWoFCxtnT2ftBUlU0=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-aJdzizXtW1wI9ZdQVTW8RyGFTXDdtLxpZ4oxXP/0gP0=";
|
||||
vendorHash = "sha256-epmXf78DMHnyrAkf0V4wpFsfGvd8Hm+yXB9ODJDljys=";
|
||||
|
||||
inherit doCheck subPackages;
|
||||
|
||||
|
|
|
@ -10,13 +10,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "iqtree";
|
||||
version = "2.2.2.4";
|
||||
version = "2.2.2.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "iqtree";
|
||||
repo = "iqtree2";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-5NF0Ej3M19Vd08xfmOHRhZkM1YGQ/ZlFj0HsSw1sw1w=";
|
||||
hash = "sha256-dce7JOPZaosRP99/xRfz88EwXR9nYXK6Z4t2i5Uje1w=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
|
|
@ -15,16 +15,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "youtube-tui";
|
||||
version = "0.7.1";
|
||||
version = "0.7.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Siriusmart";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Dhdtdc8LmTeg9cxKPfdxRowTsAaJXKtvJXqJHK1t3P4=";
|
||||
hash = "sha256-gogV/+zo/Spg5d8Fh4gDTJL4ojdWbB6mDbppF0i+H20=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-hT3Ygn0zcQdU1iU22e5SP5ZF6S6GiZzWieBsCqViN8Y=";
|
||||
cargoHash = "sha256-TUq/Kix+Z+rELN7x3/gmFOtpa1bj/xakiYDYSyVtA/s=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"commit": "c607134983625cc3fc664211145b7f31dff95d1c",
|
||||
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/c607134983625cc3fc664211145b7f31dff95d1c.tar.gz",
|
||||
"sha256": "10frbz00cbklr3k0y45qd0wb9rwln7ivm05nb9lq7vl9a9dxx93w",
|
||||
"msg": "Update from Hackage at 2023-05-10T18:33:26Z"
|
||||
"commit": "149e34766e4b393af8f4b1e02b3a8cb341d22151",
|
||||
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/149e34766e4b393af8f4b1e02b3a8cb341d22151.tar.gz",
|
||||
"sha256": "09acrzaqr05hbhdj2d0i5yj8j321fi7qcxfmpgws25bz9l07qand",
|
||||
"msg": "Update from Hackage at 2023-05-28T10:08:17Z"
|
||||
}
|
||||
|
|
391
pkgs/development/compilers/ghc/9.2.8.nix
Normal file
391
pkgs/development/compilers/ghc/9.2.8.nix
Normal file
|
@ -0,0 +1,391 @@
|
|||
{ lib, stdenv, pkgsBuildTarget, pkgsHostTarget, targetPackages
|
||||
|
||||
# build-tools
|
||||
, bootPkgs
|
||||
, autoconf, automake, coreutils, fetchpatch, fetchurl, perl, python3, m4, sphinx
|
||||
, xattr, autoSignDarwinBinariesHook
|
||||
, bash
|
||||
|
||||
, libiconv ? null, ncurses
|
||||
, glibcLocales ? null
|
||||
|
||||
, # GHC can be built with system libffi or a bundled one.
|
||||
libffi ? null
|
||||
|
||||
, useLLVM ? !(stdenv.targetPlatform.isx86
|
||||
|| stdenv.targetPlatform.isPower
|
||||
|| stdenv.targetPlatform.isSparc
|
||||
|| (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin))
|
||||
, # LLVM is conceptually a run-time-only dependency, but for
|
||||
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
|
||||
# build-time dependency too.
|
||||
buildTargetLlvmPackages, llvmPackages
|
||||
|
||||
, # If enabled, GHC will be built with the GPL-free but slightly slower native
|
||||
# bignum backend instead of the faster but GPLed gmp backend.
|
||||
enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp
|
||||
&& lib.meta.availableOn stdenv.targetPlatform gmp)
|
||||
, gmp
|
||||
|
||||
, # If enabled, use -fPIC when compiling static libs.
|
||||
enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
|
||||
|
||||
# aarch64 outputs otherwise exceed 2GB limit
|
||||
, enableProfiledLibs ? !stdenv.targetPlatform.isAarch64
|
||||
|
||||
, # Whether to build dynamic libs for the standard library (on the target
|
||||
# platform). Static libs are always built.
|
||||
enableShared ? with stdenv.targetPlatform; !isWindows && !useiOSPrebuilt && !isStatic
|
||||
|
||||
, # Whether to build terminfo.
|
||||
enableTerminfo ? !stdenv.targetPlatform.isWindows
|
||||
|
||||
, # What flavour to build. An empty string indicates no
|
||||
# specific flavour and falls back to ghc default values.
|
||||
ghcFlavour ? lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
|
||||
(if useLLVM then "perf-cross" else "perf-cross-ncg")
|
||||
|
||||
, # Whether to build sphinx documentation.
|
||||
enableDocs ? (
|
||||
# Docs disabled for musl and cross because it's a large task to keep
|
||||
# all `sphinx` dependencies building in those environments.
|
||||
# `sphinx` pulls in among others:
|
||||
# Ruby, Python, Perl, Rust, OpenGL, Xorg, gtk, LLVM.
|
||||
(stdenv.targetPlatform == stdenv.hostPlatform)
|
||||
&& !stdenv.hostPlatform.isMusl
|
||||
)
|
||||
|
||||
, enableHaddockProgram ?
|
||||
# Disabled for cross; see note [HADDOCK_DOCS].
|
||||
(stdenv.targetPlatform == stdenv.hostPlatform)
|
||||
|
||||
, # Whether to disable the large address space allocator
|
||||
# necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
|
||||
disableLargeAddressSpace ? stdenv.targetPlatform.isiOS
|
||||
}:
|
||||
|
||||
assert !enableNativeBignum -> gmp != null;
|
||||
|
||||
# Cross cannot currently build the `haddock` program for silly reasons,
|
||||
# see note [HADDOCK_DOCS].
|
||||
assert (stdenv.targetPlatform != stdenv.hostPlatform) -> !enableHaddockProgram;
|
||||
|
||||
let
|
||||
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
||||
|
||||
inherit (bootPkgs) ghc;
|
||||
|
||||
# TODO(@Ericson2314) Make unconditional
|
||||
targetPrefix = lib.optionalString
|
||||
(targetPlatform != hostPlatform)
|
||||
"${targetPlatform.config}-";
|
||||
|
||||
buildMK = ''
|
||||
BuildFlavour = ${ghcFlavour}
|
||||
ifneq \"\$(BuildFlavour)\" \"\"
|
||||
include mk/flavours/\$(BuildFlavour).mk
|
||||
endif
|
||||
BUILD_SPHINX_HTML = ${if enableDocs then "YES" else "NO"}
|
||||
BUILD_SPHINX_PDF = NO
|
||||
'' +
|
||||
# Note [HADDOCK_DOCS]:
|
||||
# Unfortunately currently `HADDOCK_DOCS` controls both whether the `haddock`
|
||||
# program is built (which we generally always want to have a complete GHC install)
|
||||
# and whether it is run on the GHC sources to generate hyperlinked source code
|
||||
# (which is impossible for cross-compilation); see:
|
||||
# https://gitlab.haskell.org/ghc/ghc/-/issues/20077
|
||||
# This implies that currently a cross-compiled GHC will never have a `haddock`
|
||||
# program, so it can never generate haddocks for any packages.
|
||||
# If this is solved in the future, we'd like to unconditionally
|
||||
# build the haddock program (removing the `enableHaddockProgram` option).
|
||||
''
|
||||
HADDOCK_DOCS = ${if enableHaddockProgram then "YES" else "NO"}
|
||||
# Build haddocks for boot packages with hyperlinking
|
||||
EXTRA_HADDOCK_OPTS += --hyperlinked-source --quickjump
|
||||
|
||||
DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
|
||||
BIGNUM_BACKEND = ${if enableNativeBignum then "native" else "gmp"}
|
||||
'' + lib.optionalString (targetPlatform != hostPlatform) ''
|
||||
Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"}
|
||||
CrossCompilePrefix = ${targetPrefix}
|
||||
'' + lib.optionalString (!enableProfiledLibs) ''
|
||||
GhcLibWays = "v dyn"
|
||||
'' +
|
||||
# -fexternal-dynamic-refs apparently (because it's not clear from the documentation)
|
||||
# makes the GHC RTS able to load static libraries, which may be needed for TemplateHaskell.
|
||||
# This solution was described in https://www.tweag.io/blog/2020-09-30-bazel-static-haskell
|
||||
lib.optionalString enableRelocatedStaticLibs ''
|
||||
GhcLibHcOpts += -fPIC -fexternal-dynamic-refs
|
||||
GhcRtsHcOpts += -fPIC -fexternal-dynamic-refs
|
||||
'' + lib.optionalString targetPlatform.useAndroidPrebuilt ''
|
||||
EXTRA_CC_OPTS += -std=gnu99
|
||||
'';
|
||||
|
||||
# Splicer will pull out correct variations
|
||||
libDeps = platform: lib.optional enableTerminfo ncurses
|
||||
++ [libffi]
|
||||
++ lib.optional (!enableNativeBignum) gmp
|
||||
++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
|
||||
|
||||
# TODO(@sternenseemann): is buildTarget LLVM unnecessary?
|
||||
# GHC doesn't seem to have {LLC,OPT}_HOST
|
||||
toolsForTarget = [
|
||||
pkgsBuildTarget.targetPackages.stdenv.cc
|
||||
] ++ lib.optional useLLVM buildTargetLlvmPackages.llvm;
|
||||
|
||||
targetCC = builtins.head toolsForTarget;
|
||||
|
||||
# Sometimes we have to dispatch between the bintools wrapper and the unwrapped
|
||||
# derivation for certain tools depending on the platform.
|
||||
bintoolsFor = {
|
||||
# GHC needs install_name_tool on all darwin platforms. On aarch64-darwin it is
|
||||
# part of the bintools wrapper (due to codesigning requirements), but not on
|
||||
# x86_64-darwin.
|
||||
install_name_tool =
|
||||
if stdenv.targetPlatform.isAarch64
|
||||
then targetCC.bintools
|
||||
else targetCC.bintools.bintools;
|
||||
# Same goes for strip.
|
||||
strip =
|
||||
# TODO(@sternenseemann): also use wrapper if linker == "bfd" or "gold"
|
||||
if stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin
|
||||
then targetCC.bintools
|
||||
else targetCC.bintools.bintools;
|
||||
};
|
||||
|
||||
# Use gold either following the default, or to avoid the BFD linker due to some bugs / perf issues.
|
||||
# But we cannot avoid BFD when using musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
|
||||
# see #84670 and #49071 for more background.
|
||||
useLdGold = targetPlatform.linker == "gold" ||
|
||||
(targetPlatform.linker == "bfd" && (targetCC.bintools.bintools.hasGold or false) && !targetPlatform.isMusl);
|
||||
|
||||
# Makes debugging easier to see which variant is at play in `nix-store -q --tree`.
|
||||
variantSuffix = lib.concatStrings [
|
||||
(lib.optionalString stdenv.hostPlatform.isMusl "-musl")
|
||||
(lib.optionalString enableNativeBignum "-native-bignum")
|
||||
];
|
||||
|
||||
in
|
||||
|
||||
# C compiler, bintools and LLVM are used at build time, but will also leak into
|
||||
# the resulting GHC's settings file and used at runtime. This means that we are
|
||||
# currently only able to build GHC if hostPlatform == buildPlatform.
|
||||
assert targetCC == pkgsHostTarget.targetPackages.stdenv.cc;
|
||||
assert buildTargetLlvmPackages.llvm == llvmPackages.llvm;
|
||||
assert stdenv.targetPlatform.isDarwin -> buildTargetLlvmPackages.clang == llvmPackages.clang;
|
||||
|
||||
stdenv.mkDerivation (rec {
|
||||
version = "9.2.8";
|
||||
pname = "${targetPrefix}ghc${variantSuffix}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz";
|
||||
sha256 = "sha256-XxPReGv0/RL0tF+qN6vttbs/NtXlj32lMH6L/oilZ6E=";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
outputs = [ "out" "doc" ];
|
||||
|
||||
patches = [
|
||||
# Fix docs build with sphinx >= 6.0
|
||||
# https://gitlab.haskell.org/ghc/ghc/-/issues/22766
|
||||
(fetchpatch {
|
||||
name = "ghc-docs-sphinx-6.0.patch";
|
||||
url = "https://gitlab.haskell.org/ghc/ghc/-/commit/10e94a556b4f90769b7fd718b9790d58ae566600.patch";
|
||||
sha256 = "0kmhfamr16w8gch0lgln2912r8aryjky1hfcda3jkcwa5cdzgjdv";
|
||||
})
|
||||
# fix hyperlinked haddock sources: https://github.com/haskell/haddock/pull/1482
|
||||
(fetchpatch {
|
||||
url = "https://patch-diff.githubusercontent.com/raw/haskell/haddock/pull/1482.patch";
|
||||
sha256 = "sha256-8w8QUCsODaTvknCDGgTfFNZa8ZmvIKaKS+2ZJZ9foYk=";
|
||||
extraPrefix = "utils/haddock/";
|
||||
stripLen = 1;
|
||||
})
|
||||
# Don't generate code that doesn't compile when --enable-relocatable is passed to Setup.hs
|
||||
# Can be removed if the Cabal library included with ghc backports the linked fix
|
||||
(fetchpatch {
|
||||
url = "https://github.com/haskell/cabal/commit/6c796218c92f93c95e94d5ec2d077f6956f68e98.patch";
|
||||
stripLen = 1;
|
||||
extraPrefix = "libraries/Cabal/";
|
||||
sha256 = "sha256-yRQ6YmMiwBwiYseC5BsrEtDgFbWvst+maGgDtdD0vAY=";
|
||||
})
|
||||
] ++ lib.optionals (stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64) [
|
||||
# Prevent the paths module from emitting symbols that we don't use
|
||||
# when building with separate outputs.
|
||||
#
|
||||
# These cause problems as they're not eliminated by GHC's dead code
|
||||
# elimination on aarch64-darwin. (see
|
||||
# https://github.com/NixOS/nixpkgs/issues/140774 for details).
|
||||
./Cabal-3.6-paths-fix-cycle-aarch64-darwin.patch
|
||||
];
|
||||
|
||||
postPatch = "patchShebangs .";
|
||||
|
||||
# GHC needs the locale configured during the Haddock phase.
|
||||
LANG = "en_US.UTF-8";
|
||||
|
||||
# GHC is a bit confused on its cross terminology.
|
||||
# TODO(@sternenseemann): investigate coreutils dependencies and pass absolute paths
|
||||
preConfigure = ''
|
||||
for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
|
||||
export "''${env#TARGET_}=''${!env}"
|
||||
done
|
||||
# GHC is a bit confused on its cross terminology, as these would normally be
|
||||
# the *host* tools.
|
||||
export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
|
||||
export CXX="${targetCC}/bin/${targetCC.targetPrefix}c++"
|
||||
# Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
|
||||
export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${lib.optionalString useLdGold ".gold"}"
|
||||
export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
|
||||
export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
|
||||
export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
|
||||
export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
|
||||
export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
|
||||
export STRIP="${bintoolsFor.strip}/bin/${bintoolsFor.strip.targetPrefix}strip"
|
||||
'' + lib.optionalString (stdenv.targetPlatform.linker == "cctools") ''
|
||||
export OTOOL="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}otool"
|
||||
export INSTALL_NAME_TOOL="${bintoolsFor.install_name_tool}/bin/${bintoolsFor.install_name_tool.targetPrefix}install_name_tool"
|
||||
'' + lib.optionalString useLLVM ''
|
||||
export LLC="${lib.getBin buildTargetLlvmPackages.llvm}/bin/llc"
|
||||
export OPT="${lib.getBin buildTargetLlvmPackages.llvm}/bin/opt"
|
||||
'' + lib.optionalString (useLLVM && stdenv.targetPlatform.isDarwin) ''
|
||||
# LLVM backend on Darwin needs clang: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/codegens.html#llvm-code-generator-fllvm
|
||||
export CLANG="${buildTargetLlvmPackages.clang}/bin/${buildTargetLlvmPackages.clang.targetPrefix}clang"
|
||||
'' + ''
|
||||
echo -n "${buildMK}" > mk/build.mk
|
||||
'' + lib.optionalString (stdenv.isLinux && hostPlatform.libc == "glibc") ''
|
||||
export LOCALE_ARCHIVE="${glibcLocales}/lib/locale/locale-archive"
|
||||
'' + lib.optionalString (!stdenv.isDarwin) ''
|
||||
export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
|
||||
'' + lib.optionalString stdenv.isDarwin ''
|
||||
export NIX_LDFLAGS+=" -no_dtrace_dof"
|
||||
|
||||
# GHC tries the host xattr /usr/bin/xattr by default which fails since it expects python to be 2.7
|
||||
export XATTR=${lib.getBin xattr}/bin/xattr
|
||||
'' + lib.optionalString targetPlatform.useAndroidPrebuilt ''
|
||||
sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets
|
||||
'' + lib.optionalString targetPlatform.isMusl ''
|
||||
echo "patching llvm-targets for musl targets..."
|
||||
echo "Cloning these existing '*-linux-gnu*' targets:"
|
||||
grep linux-gnu llvm-targets | sed 's/^/ /'
|
||||
echo "(go go gadget sed)"
|
||||
sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets
|
||||
echo "llvm-targets now contains these '*-linux-musl*' targets:"
|
||||
grep linux-musl llvm-targets | sed 's/^/ /'
|
||||
|
||||
echo "And now patching to preserve '-musleabi' as done with '-gnueabi'"
|
||||
# (aclocal.m4 is actual source, but patch configure as well since we don't re-gen)
|
||||
for x in configure aclocal.m4; do
|
||||
substituteInPlace $x \
|
||||
--replace '*-android*|*-gnueabi*)' \
|
||||
'*-android*|*-gnueabi*|*-musleabi*)'
|
||||
done
|
||||
'';
|
||||
|
||||
# TODO(@Ericson2314): Always pass "--target" and always prefix.
|
||||
configurePlatforms = [ "build" "host" ]
|
||||
++ lib.optional (targetPlatform != hostPlatform) "target";
|
||||
|
||||
# `--with` flags for libraries needed for RTS linker
|
||||
configureFlags = [
|
||||
"--datadir=$doc/share/doc/ghc"
|
||||
"--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
|
||||
] ++ lib.optionals (libffi != null) [
|
||||
"--with-system-libffi"
|
||||
"--with-ffi-includes=${targetPackages.libffi.dev}/include"
|
||||
"--with-ffi-libraries=${targetPackages.libffi.out}/lib"
|
||||
] ++ lib.optionals (targetPlatform == hostPlatform && !enableNativeBignum) [
|
||||
"--with-gmp-includes=${targetPackages.gmp.dev}/include"
|
||||
"--with-gmp-libraries=${targetPackages.gmp.out}/lib"
|
||||
] ++ lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
|
||||
"--with-iconv-includes=${libiconv}/include"
|
||||
"--with-iconv-libraries=${libiconv}/lib"
|
||||
] ++ lib.optionals (targetPlatform != hostPlatform) [
|
||||
"--enable-bootstrap-with-devel-snapshot"
|
||||
] ++ lib.optionals useLdGold [
|
||||
"CFLAGS=-fuse-ld=gold"
|
||||
"CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
|
||||
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
|
||||
] ++ lib.optionals (disableLargeAddressSpace) [
|
||||
"--disable-large-address-space"
|
||||
];
|
||||
|
||||
# Make sure we never relax`$PATH` and hooks support for compatibility.
|
||||
strictDeps = true;
|
||||
|
||||
# Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself.
|
||||
dontAddExtraLibs = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
perl autoconf automake m4 python3
|
||||
ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
|
||||
] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
|
||||
autoSignDarwinBinariesHook
|
||||
] ++ lib.optionals enableDocs [
|
||||
sphinx
|
||||
];
|
||||
|
||||
# For building runtime libs
|
||||
depsBuildTarget = toolsForTarget;
|
||||
|
||||
buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
|
||||
|
||||
depsTargetTarget = map lib.getDev (libDeps targetPlatform);
|
||||
depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform);
|
||||
|
||||
# required, because otherwise all symbols from HSffi.o are stripped, and
|
||||
# that in turn causes GHCi to abort
|
||||
stripDebugFlags = [ "-S" ] ++ lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
|
||||
|
||||
checkTarget = "test";
|
||||
|
||||
hardeningDisable =
|
||||
[ "format" ]
|
||||
# In nixpkgs, musl based builds currently enable `pie` hardening by default
|
||||
# (see `defaultHardeningFlags` in `make-derivation.nix`).
|
||||
# But GHC cannot currently produce outputs that are ready for `-pie` linking.
|
||||
# Thus, disable `pie` hardening, otherwise `recompile with -fPIE` errors appear.
|
||||
# See:
|
||||
# * https://github.com/NixOS/nixpkgs/issues/129247
|
||||
# * https://gitlab.haskell.org/ghc/ghc/-/issues/19580
|
||||
++ lib.optional stdenv.targetPlatform.isMusl "pie";
|
||||
|
||||
# big-parallel allows us to build with more than 2 cores on
|
||||
# Hydra which already warrants a significant speedup
|
||||
requiredSystemFeatures = [ "big-parallel" ];
|
||||
|
||||
postInstall = ''
|
||||
# Install the bash completion file.
|
||||
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
inherit bootPkgs targetPrefix;
|
||||
|
||||
inherit llvmPackages;
|
||||
inherit enableShared;
|
||||
|
||||
# This is used by the haskell builder to query
|
||||
# the presence of the haddock program.
|
||||
hasHaddock = enableHaddockProgram;
|
||||
|
||||
# Our Cabal compiler name
|
||||
haskellCompilerName = "ghc-${version}";
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = "http://haskell.org/ghc";
|
||||
description = "The Glasgow Haskell Compiler";
|
||||
maintainers = with lib.maintainers; [
|
||||
guibou
|
||||
] ++ lib.teams.haskell.members;
|
||||
timeout = 24 * 3600;
|
||||
inherit (ghc.meta) license platforms;
|
||||
};
|
||||
|
||||
} // lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
|
||||
dontStrip = true;
|
||||
dontPatchELF = true;
|
||||
noAuditTmpdir = true;
|
||||
})
|
|
@ -1,12 +1,12 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, callPackage
|
||||
, pkg-config
|
||||
, swift
|
||||
, swiftpm
|
||||
, swiftpm2nix
|
||||
, Foundation
|
||||
, XCTest
|
||||
, pkg-config
|
||||
, sqlite
|
||||
, ncurses
|
||||
, CryptoKit
|
||||
|
@ -28,15 +28,13 @@ stdenv.mkDerivation {
|
|||
inherit (sources) version;
|
||||
src = sources.sourcekit-lsp;
|
||||
|
||||
nativeBuildInputs = [ swift swiftpm ];
|
||||
nativeBuildInputs = [ pkg-config swift swiftpm ];
|
||||
buildInputs = [
|
||||
Foundation
|
||||
XCTest
|
||||
pkg-config
|
||||
sqlite
|
||||
ncursesInput
|
||||
]
|
||||
++ lib.optionals stdenv.isDarwin [ CryptoKit LocalAuthentication ];
|
||||
] ++ lib.optionals stdenv.isDarwin [ CryptoKit LocalAuthentication ];
|
||||
|
||||
configurePhase = generated.configure + ''
|
||||
swiftpmMakeMutable indexstore-db
|
||||
|
|
|
@ -32,7 +32,7 @@ stdenv.mkDerivation {
|
|||
# This works around a failure building generate-symbol-graph:
|
||||
# Sources/generate-symbol-graph/main.swift:13:18: error: module 'SwiftDocC' was not compiled for testing
|
||||
# TODO: Figure out the cause. It doesn't seem to happen outside Nixpkgs.
|
||||
swiftpmFlags = "--product docc";
|
||||
swiftpmFlags = [ "--product docc" ];
|
||||
|
||||
# TODO: Tests depend on indexstore-db being provided by an existing Swift
|
||||
# toolchain. (ie. looks for `../lib/libIndexStore.so` relative to swiftc.
|
||||
|
|
|
@ -22,7 +22,7 @@ stdenv.mkDerivation {
|
|||
configurePhase = generated.configure;
|
||||
|
||||
# We only install the swift-format binary, so don't need the other products.
|
||||
swiftpmFlags = "--product swift-format";
|
||||
swiftpmFlags = [ "--product swift-format" ];
|
||||
|
||||
installPhase = ''
|
||||
binPath="$(swiftpmBinPath)"
|
||||
|
|
|
@ -365,12 +365,12 @@ in stdenv.mkDerivation (commonAttrs // {
|
|||
pname = "swiftpm";
|
||||
|
||||
nativeBuildInputs = commonAttrs.nativeBuildInputs ++ [
|
||||
pkg-config
|
||||
swift
|
||||
swiftpm-bootstrap
|
||||
];
|
||||
buildInputs = [
|
||||
ncursesInput
|
||||
pkg-config
|
||||
sqlite
|
||||
XCTest
|
||||
]
|
||||
|
|
|
@ -122,7 +122,6 @@ self: super: {
|
|||
|
||||
# 2023-04-03: https://github.com/haskell/haskell-language-server/issues/3546#issuecomment-1494139751
|
||||
# There will probably be a new revision soon.
|
||||
hls-tactics-plugin = assert super.hls-tactics-plugin.version == "1.8.0.0"; doJailbreak super.hls-tactics-plugin;
|
||||
hls-brittany-plugin = assert super.hls-brittany-plugin.version == "1.1.0.0"; doJailbreak super.hls-brittany-plugin;
|
||||
|
||||
hls-hlint-plugin = super.hls-hlint-plugin.override {
|
||||
|
@ -131,65 +130,6 @@ self: super: {
|
|||
apply-refact = self.apply-refact_0_11_0_0;
|
||||
};
|
||||
|
||||
hls-test-utils = appendPatch (fetchpatch {
|
||||
name = "hls-test-utils-ghcide-1.10-compat.patch";
|
||||
url = "https://github.com/haskell/haskell-language-server/commit/014c8f90249f11a8dfa1286e67d452ccfb42b2d0.patch";
|
||||
relative = "hls-test-utils";
|
||||
hash = "sha256-sBuqSmgCQSgbXV6KPEZcIP09wbx81q5xjSg7/slH2HQ=";
|
||||
}) super.hls-test-utils;
|
||||
|
||||
hls-rename-plugin = if lib.versionAtLeast super.ghc.version "9.4" then overrideCabal
|
||||
(drv: {
|
||||
prePatch = drv.prePatch or "" + ''
|
||||
"${pkgs.buildPackages.dos2unix}/bin/dos2unix" *.cabal
|
||||
'';
|
||||
})
|
||||
(appendPatch (fetchpatch {
|
||||
name = "hls-rename-ghc-9.4-compat.patch";
|
||||
url = "https://github.com/haskell/haskell-language-server/commit/472947cdb9e711f6ef889bba3b83b0dd44a1b6bc.patch";
|
||||
relative = "plugins/hls-rename-plugin";
|
||||
hash = "sha256-WPhCQmn3rjCOiQFJz23QQ84zfm43FNll0BfsNK5pkG0=";
|
||||
}) super.hls-rename-plugin) else super.hls-rename-plugin;
|
||||
|
||||
hls-floskell-plugin = if lib.versionAtLeast super.ghc.version "9.4" then overrideCabal
|
||||
(drv: {
|
||||
prePatch = drv.prePatch or "" + ''
|
||||
"${pkgs.buildPackages.dos2unix}/bin/dos2unix" *.cabal
|
||||
'';
|
||||
})
|
||||
(appendPatch (fetchpatch {
|
||||
name = "hls-floskell-ghc-9.4-compat.patch";
|
||||
url = "https://github.com/haskell/haskell-language-server/commit/ddc67b2d4d719623b657aa54db20bf58c58a5d4a.patch";
|
||||
relative = "plugins/hls-floskell-plugin";
|
||||
hash = "sha256-n2vuzGbdvhW6I8c7Q22SuNIKSX2LwGNBTVyLLHJIsiU=";
|
||||
}) super.hls-floskell-plugin) else super.hls-floskell-plugin;
|
||||
|
||||
hls-stylish-haskell-plugin = if lib.versionAtLeast super.ghc.version "9.4" then overrideCabal
|
||||
(drv: {
|
||||
prePatch = drv.prePatch or "" + ''
|
||||
"${pkgs.buildPackages.dos2unix}/bin/dos2unix" *.cabal
|
||||
'';
|
||||
})
|
||||
(appendPatch (fetchpatch {
|
||||
name = "hls-stylish-haskell-ghc-9.4-compat.patch";
|
||||
url = "https://github.com/haskell/haskell-language-server/commit/ddc67b2d4d719623b657aa54db20bf58c58a5d4a.patch";
|
||||
relative = "plugins/hls-stylish-haskell-plugin";
|
||||
hash = "sha256-GtN9t5zMOROCDSLiscLZ5GmqDV+ql9R2z/+W++C2h2Q=";
|
||||
}) super.hls-stylish-haskell-plugin) else super.hls-stylish-haskell-plugin;
|
||||
|
||||
hie-compat = if lib.versionAtLeast super.ghc.version "9.6" then overrideCabal
|
||||
(drv: {
|
||||
prePatch = drv.prePatch or "" + ''
|
||||
"${pkgs.buildPackages.dos2unix}/bin/dos2unix" *.cabal
|
||||
'';
|
||||
})
|
||||
(appendPatch (fetchpatch {
|
||||
name = "hie-compat-9.6-compat.patch";
|
||||
url = "https://github.com/haskell/haskell-language-server/commit/191bda61fef34696a793503e639a53003ff70660.patch";
|
||||
relative = "hie-compat";
|
||||
hash = "sha256-z81+fwxwZ8BQWGRqTnh3XlQ6AG7EiaahdKjT+0lFu1Q=";
|
||||
}) super.hie-compat) else super.hie-compat;
|
||||
|
||||
# For -f-auto see cabal.project in haskell-language-server.
|
||||
ghc-lib-parser-ex = addBuildDepend self.ghc-lib-parser (disableCabalFlag "auto" super.ghc-lib-parser-ex);
|
||||
|
||||
|
@ -1102,6 +1042,9 @@ self: super: {
|
|||
cp -v embeddedfiles/*.info* $out/share/info/
|
||||
'';
|
||||
}) super.hledger;
|
||||
hledger_1_29_2 = doDistribute (super.hledger_1_29_2.override {
|
||||
hledger-lib = self.hledger-lib_1_29_2;
|
||||
});
|
||||
hledger-ui = overrideCabal (drv: {
|
||||
postInstall = ''
|
||||
for i in $(seq 1 9); do
|
||||
|
@ -2515,7 +2458,7 @@ self: super: {
|
|||
# 2022-11-15: Needs newer witch package and brick 1.3 which in turn works with text-zipper 0.12
|
||||
# Other dependencies are resolved with doJailbreak for both swarm and brick_1_3
|
||||
swarm = doJailbreak (super.swarm.override {
|
||||
brick = doJailbreak (dontCheck super.brick_1_7);
|
||||
brick = doJailbreak (dontCheck super.brick_1_9);
|
||||
});
|
||||
|
||||
# Too strict upper bound on bytestring
|
||||
|
@ -2659,7 +2602,7 @@ self: super: {
|
|||
# https://github.com/fourmolu/fourmolu/issues/231
|
||||
fourmolu_0_12_0_0 = dontCheck (super.fourmolu_0_12_0_0.overrideScope (lself: lsuper: {
|
||||
Cabal-syntax = lself.Cabal-syntax_3_10_1_0;
|
||||
ghc-lib-parser = lself.ghc-lib-parser_9_6_1_20230312;
|
||||
ghc-lib-parser = lself.ghc-lib-parser_9_6_2_20230523;
|
||||
parsec = lself.parsec_3_1_16_1;
|
||||
text = lself.text_2_0_2;
|
||||
}));
|
||||
|
|
|
@ -117,6 +117,12 @@ self: super: ({
|
|||
|
||||
yesod-bin = addBuildDepend darwin.apple_sdk.frameworks.Cocoa super.yesod-bin;
|
||||
|
||||
yesod-core = super.yesod-core.overrideAttrs (drv: {
|
||||
# Allow access to local networking when the Darwin sandbox is enabled, so yesod-core can
|
||||
# run tests that access localhost.
|
||||
__darwinAllowLocalNetworking = true;
|
||||
});
|
||||
|
||||
hmatrix = addBuildDepend darwin.apple_sdk.frameworks.Accelerate super.hmatrix;
|
||||
|
||||
blas-hs = overrideCabal (drv: {
|
||||
|
@ -276,6 +282,12 @@ self: super: ({
|
|||
'' + drv.postPatch or "";
|
||||
}) super.http-client-tls;
|
||||
|
||||
http2 = super.http2.overrideAttrs (drv: {
|
||||
# Allow access to local networking when the Darwin sandbox is enabled, so http2 can run tests
|
||||
# that access localhost.
|
||||
__darwinAllowLocalNetworking = true;
|
||||
});
|
||||
|
||||
foldl = overrideCabal (drv: {
|
||||
postPatch = ''
|
||||
# This comment has been inserted, so the derivation hash changes, forcing
|
||||
|
|
|
@ -190,14 +190,6 @@ in {
|
|||
# https://github.com/kowainik/relude/issues/436
|
||||
relude = dontCheck (doJailbreak super.relude);
|
||||
|
||||
# Fixes compilation failure with GHC >= 9.4 on aarch64-* due to an API change
|
||||
cborg = appendPatch (pkgs.fetchpatch {
|
||||
name = "cborg-support-ghc-9.4.patch";
|
||||
url = "https://github.com/well-typed/cborg/pull/304.diff";
|
||||
sha256 = "sha256-W4HldlESKOVkTPhz9nkFrvbj9akCOtF1SbIt5eJqtj8=";
|
||||
relative = "cborg";
|
||||
}) super.cborg;
|
||||
|
||||
ormolu = doDistribute self.ormolu_0_5_3_0;
|
||||
# https://github.com/tweag/ormolu/issues/941
|
||||
fourmolu = overrideCabal (drv: {
|
||||
|
|
|
@ -77,8 +77,8 @@ self: super: {
|
|||
aeson = doDistribute self.aeson_2_1_2_1;
|
||||
memory = doDistribute self.memory_0_18_0;
|
||||
|
||||
ghc-lib = doDistribute self.ghc-lib_9_6_1_20230312;
|
||||
ghc-lib-parser = doDistribute self.ghc-lib-parser_9_6_1_20230312;
|
||||
ghc-lib = doDistribute self.ghc-lib_9_6_2_20230523;
|
||||
ghc-lib-parser = doDistribute self.ghc-lib-parser_9_6_2_20230523;
|
||||
ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_6_0_0;
|
||||
|
||||
# allows mtl, template-haskell, text and transformers
|
||||
|
@ -103,8 +103,7 @@ self: super: {
|
|||
|
||||
# Forbids base >= 4.18, fix proposed: https://github.com/sjakobi/newtype-generics/pull/25
|
||||
newtype-generics = jailbreakForCurrentVersion super.newtype-generics "0.6.2";
|
||||
# Forbids base >= 4.18, fix proposed: https://github.com/well-typed/cborg/pull/312
|
||||
cborg = jailbreakForCurrentVersion super.cborg "0.2.8.0";
|
||||
|
||||
cborg-json = jailbreakForCurrentVersion super.cborg-json "0.2.5.0";
|
||||
serialise = jailbreakForCurrentVersion super.serialise "0.2.6.0";
|
||||
|
||||
|
@ -155,13 +154,22 @@ self: super: {
|
|||
|
||||
# 2023-04-03: plugins disabled for hls 1.10.0.0 based on
|
||||
#
|
||||
haskell-language-server = super.haskell-language-server.override {
|
||||
hls-ormolu-plugin = null;
|
||||
hls-floskell-plugin = null;
|
||||
hls-fourmolu-plugin = null;
|
||||
hls-hlint-plugin = null;
|
||||
hls-stylish-haskell-plugin = null;
|
||||
};
|
||||
haskell-language-server =
|
||||
let
|
||||
# TODO: HLS-2.0.0.0 added support for the foumolu plugin for ghc-9.6.
|
||||
# However, putting together all the overrides to get the latest
|
||||
# version of fourmolu compiling together with ghc-9.6 and HLS is a
|
||||
# little annoying, so currently fourmolu has been disabled. We should
|
||||
# try to enable this at some point in the future.
|
||||
hlsWithFlags = disableCabalFlag "fourmolu" super.haskell-language-server;
|
||||
in
|
||||
hlsWithFlags.override {
|
||||
hls-ormolu-plugin = null;
|
||||
hls-floskell-plugin = null;
|
||||
hls-fourmolu-plugin = null;
|
||||
hls-hlint-plugin = null;
|
||||
hls-stylish-haskell-plugin = null;
|
||||
};
|
||||
|
||||
MonadRandom = super.MonadRandom_0_6;
|
||||
unix-compat = super.unix-compat_0_7;
|
||||
|
|
|
@ -843,7 +843,6 @@ broken-packages:
|
|||
- conferer-provider-json
|
||||
- conferer-snap
|
||||
- conferer-source-json
|
||||
- conferer-warp
|
||||
- confide
|
||||
- ConfigFileTH
|
||||
- config-parser
|
||||
|
@ -2430,6 +2429,7 @@ broken-packages:
|
|||
- hplaylist
|
||||
- hpodder
|
||||
- hpqtypes
|
||||
- hprox # dependency missing in job https://hydra.nixos.org/build/221844808 at 2023-05-30
|
||||
- hps-kmeans
|
||||
- hPushover
|
||||
- hpygments
|
||||
|
@ -2739,6 +2739,7 @@ broken-packages:
|
|||
- inj-base
|
||||
- inject-function
|
||||
- injections
|
||||
- inline-c-objc # failure building test suite 'tests' in job https://hydra.nixos.org/build/221844966 at 2023-05-30
|
||||
- in-other-words-plugin
|
||||
- inserts
|
||||
- instana-haskell-trace-sdk
|
||||
|
@ -5056,6 +5057,7 @@ broken-packages:
|
|||
- state-record
|
||||
- static
|
||||
- static-canvas
|
||||
- static-ls # failure in job https://hydra.nixos.org/build/221848657 at 2023-05-30
|
||||
- static-tensor
|
||||
- statistics-dirichlet
|
||||
- statistics-fusion
|
||||
|
@ -5862,6 +5864,7 @@ broken-packages:
|
|||
- wol
|
||||
- word24
|
||||
- word2vec-model
|
||||
- word8set # failure in job https://hydra.nixos.org/build/221843616 at 2023-05-30
|
||||
- wordchoice
|
||||
- wordify
|
||||
- Wordlint
|
||||
|
|
|
@ -202,7 +202,7 @@ package-maintainers:
|
|||
- vulkan-utils
|
||||
erictapen:
|
||||
- hakyll
|
||||
Gabriel439:
|
||||
Gabriella439:
|
||||
- annah
|
||||
- bench
|
||||
- break
|
||||
|
@ -568,6 +568,7 @@ unsupported-platforms:
|
|||
bytelog: [ platforms.darwin ] # due to posix-api
|
||||
camfort: [ aarch64-linux ]
|
||||
charsetdetect: [ aarch64-linux ] # not supported by vendored lib / not configured properly https://github.com/batterseapower/libcharsetdetect/issues/3
|
||||
coinor-clp: [ aarch64-linux ] # aarch64-linux is not supported by required system dependency clp
|
||||
cut-the-crap: [ platforms.darwin ]
|
||||
essence-of-live-coding-PortMidi: [ platforms.darwin ]
|
||||
Euterpea: [ platforms.darwin ]
|
||||
|
@ -814,3 +815,10 @@ dont-distribute-packages:
|
|||
|
||||
# Output exceeds Hydra's maximum allowable size
|
||||
- stripeapi
|
||||
|
||||
# Packages that (transitively) depend on insecure packages
|
||||
- distributed-process-zookeeper # depends on hzk
|
||||
- hzk # depends on zookeeper_mt, which depends on openssl-1.1
|
||||
- persistent-zookeper # depends on hzk
|
||||
- pocket-dns # depends on persistent-zookeeper
|
||||
- zoovisitor # depends on zookeeper_mt, which depends on openssl-1.1
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Stackage LTS 20.20
|
||||
# Stackage LTS 20.23
|
||||
# This file is auto-generated by
|
||||
# maintainers/scripts/haskell/update-stackage.sh
|
||||
default-package-overrides:
|
||||
|
@ -203,7 +203,7 @@ default-package-overrides:
|
|||
- bitvec ==1.1.4.0
|
||||
- bitwise-enum ==1.0.1.0
|
||||
- blake2 ==0.3.0
|
||||
- Blammo ==1.1.1.1
|
||||
- Blammo ==1.1.1.2
|
||||
- blank-canvas ==0.7.3
|
||||
- blanks ==0.5.0
|
||||
- blas-carray ==0.1.0.2
|
||||
|
@ -227,7 +227,7 @@ default-package-overrides:
|
|||
- bookkeeping ==0.4.0.1
|
||||
- Boolean ==0.2.4
|
||||
- boolsimplifier ==0.1.8
|
||||
- boomerang ==1.4.8.1
|
||||
- boomerang ==1.4.9
|
||||
- boots ==0.2.0.1
|
||||
- bordacount ==0.1.0.0
|
||||
- boring ==0.2.1
|
||||
|
@ -294,11 +294,11 @@ default-package-overrides:
|
|||
- cache ==0.1.3.0
|
||||
- cached-json-file ==0.1.1
|
||||
- cacophony ==0.10.1
|
||||
- cairo ==0.13.8.2
|
||||
- cairo ==0.13.10.0
|
||||
- calendar-recycling ==0.0.0.1
|
||||
- call-alloy ==0.4.0.3
|
||||
- calligraphy ==0.1.4
|
||||
- call-plantuml ==0.0.1.1
|
||||
- call-plantuml ==0.0.1.2
|
||||
- call-stack ==0.4.0
|
||||
- can-i-haz ==0.3.1.1
|
||||
- capability ==0.5.0.1
|
||||
|
@ -315,7 +315,7 @@ default-package-overrides:
|
|||
- cassava-megaparsec ==2.0.4
|
||||
- cast ==0.1.0.2
|
||||
- cayley-client ==0.4.19.2
|
||||
- cborg ==0.2.8.0
|
||||
- cborg ==0.2.9.0
|
||||
- cborg-json ==0.2.5.0
|
||||
- cdar-mBound ==0.1.0.4
|
||||
- c-enum ==0.1.1.3
|
||||
|
@ -388,7 +388,7 @@ default-package-overrides:
|
|||
- commutative ==0.0.2
|
||||
- comonad ==5.0.8
|
||||
- comonad-extras ==4.0.1
|
||||
- compactmap ==0.1.4.2.1
|
||||
- compactmap ==0.1.4.3
|
||||
- compensated ==0.8.3
|
||||
- compiler-warnings ==0.1.0
|
||||
- componentm ==0.0.0.2
|
||||
|
@ -405,11 +405,11 @@ default-package-overrides:
|
|||
- concise ==0.1.0.1
|
||||
- concurrency ==1.11.0.2
|
||||
- concurrent-extra ==0.7.0.12
|
||||
- concurrent-output ==1.10.17
|
||||
- concurrent-output ==1.10.18
|
||||
- concurrent-split ==0.0.1.1
|
||||
- cond ==0.4.1.1
|
||||
- conduino ==0.2.2.0
|
||||
- conduit ==1.3.4.3
|
||||
- conduit ==1.3.5
|
||||
- conduit-aeson ==0.1.0.1
|
||||
- conduit-algorithms ==0.0.13.0
|
||||
- conduit-combinators ==1.3.0
|
||||
|
@ -447,7 +447,7 @@ default-package-overrides:
|
|||
- cookie ==0.4.6
|
||||
- copr-api ==0.1.0
|
||||
- core-data ==0.3.9.1
|
||||
- core-program ==0.6.6.0
|
||||
- core-program ==0.6.8.0
|
||||
- core-telemetry ==0.2.9.1
|
||||
- core-text ==0.3.8.1
|
||||
- countable ==1.2
|
||||
|
@ -486,7 +486,7 @@ default-package-overrides:
|
|||
- crypt-sha512 ==0
|
||||
- csp ==1.4.0
|
||||
- css-text ==0.1.3.0
|
||||
- c-struct ==0.1.1.3
|
||||
- c-struct ==0.1.3.0
|
||||
- csv ==0.1.2
|
||||
- csv-conduit ==0.7.3.0
|
||||
- ctrie ==0.2
|
||||
|
@ -587,7 +587,7 @@ default-package-overrides:
|
|||
- diagrams-cairo ==1.4.2
|
||||
- diagrams-canvas ==1.4.1.1
|
||||
- diagrams-contrib ==1.4.5
|
||||
- diagrams-core ==1.5.0.1
|
||||
- diagrams-core ==1.5.1
|
||||
- diagrams-lib ==1.4.5.2
|
||||
- diagrams-postscript ==1.5.1.1
|
||||
- diagrams-rasterific ==1.4.2.2
|
||||
|
@ -655,7 +655,7 @@ default-package-overrides:
|
|||
- duration ==0.2.0.0
|
||||
- dvorak ==0.1.0.0
|
||||
- dynamic-state ==0.3.1
|
||||
- dyre ==0.9.1
|
||||
- dyre ==0.9.2
|
||||
- eap ==0.9.0.2
|
||||
- Earley ==0.13.0.1
|
||||
- easy-file ==0.2.5
|
||||
|
@ -923,7 +923,7 @@ default-package-overrides:
|
|||
- ghc-source-gen ==0.4.3.0
|
||||
- ghc-syntax-highlighter ==0.0.8.0
|
||||
- ghc-tcplugins-extra ==0.4.4
|
||||
- ghc-trace-events ==0.1.2.6
|
||||
- ghc-trace-events ==0.1.2.7
|
||||
- ghc-typelits-extra ==0.4.5
|
||||
- ghc-typelits-knownnat ==0.7.8
|
||||
- ghc-typelits-natnormalise ==0.7.8
|
||||
|
@ -949,11 +949,11 @@ default-package-overrides:
|
|||
- gi-gtksource ==3.0.28
|
||||
- gi-harfbuzz ==0.0.9
|
||||
- gi-javascriptcore ==4.0.27
|
||||
- gio ==0.13.8.2
|
||||
- gio ==0.13.10.0
|
||||
- gi-pango ==1.0.29
|
||||
- githash ==0.1.6.3
|
||||
- github ==0.28.0.1
|
||||
- github-release ==2.0.0.5
|
||||
- github-release ==2.0.0.6
|
||||
- github-rest ==1.1.2
|
||||
- github-types ==0.2.1
|
||||
- github-webhooks ==0.16.0
|
||||
|
@ -966,7 +966,7 @@ default-package-overrides:
|
|||
- gl ==0.9
|
||||
- glasso ==0.1.0
|
||||
- GLFW-b ==3.3.0.0
|
||||
- glib ==0.13.8.2
|
||||
- glib ==0.13.10.0
|
||||
- Glob ==0.10.2
|
||||
- glob-posix ==0.2.0.1
|
||||
- gloss ==1.13.2.2
|
||||
|
@ -995,9 +995,9 @@ default-package-overrides:
|
|||
- groom ==0.1.2.1
|
||||
- grouped-list ==0.2.3.0
|
||||
- groups ==0.5.3
|
||||
- gtk ==0.15.7
|
||||
- gtk2hs-buildtools ==0.13.8.3
|
||||
- gtk3 ==0.15.7
|
||||
- gtk ==0.15.8
|
||||
- gtk2hs-buildtools ==0.13.10.0
|
||||
- gtk3 ==0.15.8
|
||||
- gtk-sni-tray ==0.1.8.1
|
||||
- gtk-strut ==0.1.3.2
|
||||
- guarded-allocation ==0.0.1
|
||||
|
@ -1047,7 +1047,7 @@ default-package-overrides:
|
|||
- hasql-dynamic-statements ==0.3.1.2
|
||||
- hasql-implicits ==0.1.1
|
||||
- hasql-migration ==0.3.0
|
||||
- hasql-notifications ==0.2.0.4
|
||||
- hasql-notifications ==0.2.0.5
|
||||
- hasql-optparse-applicative ==0.5
|
||||
- hasql-pool ==0.8.0.7
|
||||
- hasql-queue ==1.2.0.2
|
||||
|
@ -1133,7 +1133,7 @@ default-package-overrides:
|
|||
- hpack ==0.35.2
|
||||
- hpack-dhall ==0.5.7
|
||||
- hpc-codecov ==0.3.0.0
|
||||
- hpc-lcov ==1.1.0
|
||||
- hpc-lcov ==1.1.1
|
||||
- HPDF ==1.6.1
|
||||
- hpp ==0.6.5
|
||||
- hpqtypes ==1.9.4.0
|
||||
|
@ -1181,7 +1181,7 @@ default-package-overrides:
|
|||
- hspec-expectations-json ==1.0.0.7
|
||||
- hspec-expectations-lifted ==0.10.0
|
||||
- hspec-expectations-pretty-diff ==0.7.2.6
|
||||
- hspec-golden ==0.2.0.1
|
||||
- hspec-golden ==0.2.1.0
|
||||
- hspec-golden-aeson ==0.9.0.0
|
||||
- hspec-hedgehog ==0.0.1.2
|
||||
- hspec-junit-formatter ==1.1.0.2
|
||||
|
@ -1256,7 +1256,7 @@ default-package-overrides:
|
|||
- hw-hspec-hedgehog ==0.1.1.1
|
||||
- hw-int ==0.0.2.0
|
||||
- hw-ip ==2.4.2.1
|
||||
- hw-json ==1.3.2.3
|
||||
- hw-json ==1.3.2.4
|
||||
- hw-json-simd ==0.1.1.2
|
||||
- hw-json-simple-cursor ==0.1.1.1
|
||||
- hw-json-standard-cursor ==0.2.3.2
|
||||
|
@ -1314,7 +1314,7 @@ default-package-overrides:
|
|||
- influxdb ==1.9.2.2
|
||||
- ini ==0.4.2
|
||||
- inj ==1.0
|
||||
- inline-c ==0.9.1.7
|
||||
- inline-c ==0.9.1.8
|
||||
- inline-c-cpp ==0.5.0.0
|
||||
- inliterate ==0.1.0
|
||||
- input-parsers ==0.2.3.2
|
||||
|
@ -1452,7 +1452,7 @@ default-package-overrides:
|
|||
- lens-properties ==4.11.1
|
||||
- lens-regex ==0.1.3
|
||||
- lens-regex-pcre ==1.1.0.0
|
||||
- lentil ==1.5.5.2
|
||||
- lentil ==1.5.5.4
|
||||
- LetsBeRational ==1.0.0.0
|
||||
- leveldb-haskell ==0.6.5
|
||||
- lexer-applicative ==2.1.0.2
|
||||
|
@ -1525,14 +1525,14 @@ default-package-overrides:
|
|||
- mainland-pretty ==0.7.1
|
||||
- main-tester ==0.2.0.1
|
||||
- managed ==1.0.10
|
||||
- mandrill ==0.5.6.0
|
||||
- mandrill ==0.5.7.0
|
||||
- map-syntax ==0.3
|
||||
- markdown ==0.1.17.5
|
||||
- markdown-unlit ==0.5.1
|
||||
- markov-chain ==0.0.3.4
|
||||
- markov-chain-usage-model ==0.0.0
|
||||
- mason ==0.2.6
|
||||
- massiv ==1.0.3.0
|
||||
- massiv ==1.0.4.0
|
||||
- massiv-io ==1.0.0.1
|
||||
- massiv-persist ==1.0.0.3
|
||||
- massiv-serialise ==1.0.0.2
|
||||
|
@ -1540,6 +1540,7 @@ default-package-overrides:
|
|||
- mathexpr ==0.3.1.0
|
||||
- math-extras ==0.1.1.0
|
||||
- math-functions ==0.3.4.2
|
||||
- mathlist ==0.1.0.4
|
||||
- matplotlib ==0.7.7
|
||||
- matrices ==0.5.0
|
||||
- matrix ==0.3.6.1
|
||||
|
@ -1713,7 +1714,7 @@ default-package-overrides:
|
|||
- netwire ==5.0.3
|
||||
- netwire-input ==0.0.7
|
||||
- netwire-input-glfw ==0.0.11
|
||||
- network ==3.1.2.9
|
||||
- network ==3.1.4.0
|
||||
- network-bsd ==2.8.1.0
|
||||
- network-byte-order ==0.1.6
|
||||
- network-conduit-tls ==1.3.2
|
||||
|
@ -1804,10 +1805,10 @@ default-package-overrides:
|
|||
- optics-extra ==0.4.2.1
|
||||
- optics-th ==0.4.1
|
||||
- optics-vl ==0.2.1
|
||||
- optima ==0.4.0.3
|
||||
- optima ==0.4.0.4
|
||||
- optional-args ==1.0.2
|
||||
- options ==1.2.1.1
|
||||
- optparse-applicative ==0.17.0.0
|
||||
- optparse-applicative ==0.17.1.0
|
||||
- optparse-enum ==1.0.0.0
|
||||
- optparse-generic ==1.4.9
|
||||
- optparse-simple ==0.1.1.4
|
||||
|
@ -1829,7 +1830,7 @@ default-package-overrides:
|
|||
- pandoc-plot ==1.5.5
|
||||
- pandoc-throw ==0.1.0.0
|
||||
- pandoc-types ==1.22.2.1
|
||||
- pango ==0.13.8.2
|
||||
- pango ==0.13.10.0
|
||||
- pantry ==0.5.7
|
||||
- parallel ==3.2.2.0
|
||||
- parallel-io ==0.3.5
|
||||
|
@ -1955,7 +1956,7 @@ default-package-overrides:
|
|||
- postgresql-binary ==0.13.1
|
||||
- postgresql-libpq ==0.9.5.0
|
||||
- postgresql-libpq-notify ==0.2.0.0
|
||||
- postgresql-migration ==0.2.1.6
|
||||
- postgresql-migration ==0.2.1.7
|
||||
- postgresql-query ==3.10.0
|
||||
- postgresql-schema ==0.1.14
|
||||
- postgresql-simple ==0.6.4
|
||||
|
@ -2124,7 +2125,7 @@ default-package-overrides:
|
|||
- regex-pcre-builtin ==0.95.2.3.8.44
|
||||
- regex-posix ==0.96.0.1
|
||||
- regex-posix-clib ==2.7
|
||||
- regex-tdfa ==1.3.2
|
||||
- regex-tdfa ==1.3.2.1
|
||||
- regex-with-pcre ==1.1.0.2
|
||||
- registry ==0.3.3.4
|
||||
- registry-aeson ==0.2.3.3
|
||||
|
@ -2408,7 +2409,7 @@ default-package-overrides:
|
|||
- stack ==2.9.1
|
||||
- stack-all ==0.4.1
|
||||
- stack-clean-old ==0.4.6
|
||||
- stack-templatizer ==0.1.0.2
|
||||
- stack-templatizer ==0.1.1.0
|
||||
- state-codes ==0.1.3
|
||||
- stateref ==0.3
|
||||
- statestack ==0.3.1.1
|
||||
|
@ -2427,7 +2428,7 @@ default-package-overrides:
|
|||
- stm-extras ==0.1.0.3
|
||||
- stm-hamt ==1.2.0.11
|
||||
- stm-lifted ==2.5.0.0
|
||||
- STMonadTrans ==0.4.6
|
||||
- STMonadTrans ==0.4.7
|
||||
- stm-split ==0.0.2.1
|
||||
- stopwatch ==0.1.0.6
|
||||
- storable-complex ==0.2.3.0
|
||||
|
@ -2587,7 +2588,7 @@ default-package-overrides:
|
|||
- testing-feat ==1.1.1.1
|
||||
- testing-type-modifiers ==0.1.0.1
|
||||
- texmath ==0.12.5.5
|
||||
- text-ansi ==0.2.1
|
||||
- text-ansi ==0.2.1.1
|
||||
- text-binary ==0.2.1.1
|
||||
- text-builder ==0.6.7
|
||||
- text-builder-dev ==0.3.3.2
|
||||
|
@ -2683,7 +2684,7 @@ default-package-overrides:
|
|||
- transaction ==0.1.1.3
|
||||
- transformers-base ==0.4.6
|
||||
- transformers-compat ==0.7.2
|
||||
- transformers-either ==0.1.3
|
||||
- transformers-either ==0.1.4
|
||||
- transformers-fix ==1.0
|
||||
- transient ==0.7.0.0
|
||||
- traverse-with-class ==1.0.1.1
|
||||
|
|
|
@ -1265,7 +1265,6 @@ dont-distribute-packages:
|
|||
- distributed-process-systest
|
||||
- distributed-process-task
|
||||
- distributed-process-tests
|
||||
- distributed-process-zookeeper
|
||||
- distributed-static
|
||||
- distribution-plot
|
||||
- dixi
|
||||
|
@ -1514,7 +1513,7 @@ dont-distribute-packages:
|
|||
- fpnla-examples
|
||||
- frame-markdown
|
||||
- freckle-app
|
||||
- freckle-app_1_9_0_1
|
||||
- freckle-app_1_9_0_2
|
||||
- free-functors
|
||||
- free-game
|
||||
- free-theorems-counterexamples
|
||||
|
@ -1541,7 +1540,6 @@ dont-distribute-packages:
|
|||
- functor-combo
|
||||
- funflow
|
||||
- funflow-nix
|
||||
- fungll-combinators
|
||||
- funion
|
||||
- funnyprint
|
||||
- funsat
|
||||
|
@ -1934,6 +1932,8 @@ dont-distribute-packages:
|
|||
- hakyll-ogmarkup
|
||||
- hakyll-shortcut-links
|
||||
- halberd
|
||||
- halide-JuicyPixels
|
||||
- halide-arrayfire
|
||||
- hall-symbols
|
||||
- halma-gui
|
||||
- halma-telegram-bot
|
||||
|
@ -3004,7 +3004,7 @@ dont-distribute-packages:
|
|||
- padKONTROL
|
||||
- pairing
|
||||
- panda
|
||||
- pandoc-crossref_0_3_15_2
|
||||
- pandoc-crossref_0_3_16_0
|
||||
- pandoc-highlighting-extensions
|
||||
- pandoc-japanese-filters
|
||||
- pandora-io
|
||||
|
@ -3119,13 +3119,13 @@ dont-distribute-packages:
|
|||
- plugins-auto
|
||||
- png-file
|
||||
- pngload
|
||||
- pocket-dns
|
||||
- point-octree
|
||||
- pointless-lenses
|
||||
- pointless-rewrite
|
||||
- poker
|
||||
- polh-lexicon
|
||||
- polydata
|
||||
- polyglot
|
||||
- polysemy-RandomFu
|
||||
- polysemy-account
|
||||
- polysemy-account-api
|
||||
|
@ -3570,6 +3570,7 @@ dont-distribute-packages:
|
|||
- servant-openapi3
|
||||
- servant-postgresql
|
||||
- servant-pushbullet-client
|
||||
- servant-queryparam-openapi3
|
||||
- servant-rate-limit
|
||||
- servant-reason
|
||||
- servant-server-namedargs
|
||||
|
@ -3740,7 +3741,6 @@ dont-distribute-packages:
|
|||
- stackage-setup
|
||||
- stackage-upload
|
||||
- stackage2nix
|
||||
- stackctl
|
||||
- stan
|
||||
- starrover2
|
||||
- stateful-mtl
|
||||
|
@ -4308,5 +4308,4 @@ dont-distribute-packages:
|
|||
- zoom-cache
|
||||
- zoom-cache-pcm
|
||||
- zoom-cache-sndfile
|
||||
- zoovisitor
|
||||
- zuramaru
|
||||
|
|
|
@ -426,18 +426,8 @@ self: super: builtins.intersectAttrs super {
|
|||
'';
|
||||
}) super.leksah);
|
||||
|
||||
dyre =
|
||||
appendPatch
|
||||
# Dyre needs special support for reading the NIX_GHC env var. This is
|
||||
# available upstream in https://github.com/willdonnelly/dyre/pull/43, but
|
||||
# hasn't been released to Hackage as of dyre-0.9.1. Likely included in
|
||||
# next version.
|
||||
(pkgs.fetchpatch {
|
||||
url = "https://github.com/willdonnelly/dyre/commit/c7f29d321aae343d6b314f058812dffcba9d7133.patch";
|
||||
sha256 = "10m22k35bi6cci798vjpy4c2l08lq5nmmj24iwp0aflvmjdgscdb";
|
||||
})
|
||||
# dyre's tests appear to be trying to directly call GHC.
|
||||
(dontCheck super.dyre);
|
||||
# dyre's tests appear to be trying to directly call GHC.
|
||||
dyre = dontCheck super.dyre;
|
||||
|
||||
# https://github.com/edwinb/EpiVM/issues/13
|
||||
# https://github.com/edwinb/EpiVM/issues/14
|
||||
|
@ -1023,6 +1013,7 @@ self: super: builtins.intersectAttrs super {
|
|||
(super.cachix.override {
|
||||
fsnotify = dontCheck super.fsnotify_0_4_1_0;
|
||||
hnix-store-core = super.hnix-store-core_0_6_1_0;
|
||||
nix = self.hercules-ci-cnix-store.nixPackage;
|
||||
})
|
||||
[
|
||||
(addBuildTool self.hercules-ci-cnix-store.nixPackage)
|
||||
|
|
|
@ -31,6 +31,7 @@ in
|
|||
, doBenchmark ? false
|
||||
, doHoogle ? true
|
||||
, doHaddockQuickjump ? doHoogle && lib.versionAtLeast ghc.version "8.6"
|
||||
, doInstallIntermediates ? false
|
||||
, editedCabalFile ? null
|
||||
# aarch64 outputs otherwise exceed 2GB limit
|
||||
, enableLibraryProfiling ? !(ghc.isGhcjs or stdenv.targetPlatform.isAarch64 or false)
|
||||
|
@ -84,6 +85,7 @@ in
|
|||
, enableSeparateBinOutput ? false
|
||||
, enableSeparateDataOutput ? false
|
||||
, enableSeparateDocOutput ? doHaddock
|
||||
, enableSeparateIntermediatesOutput ? false
|
||||
, # Don't fail at configure time if there are multiple versions of the
|
||||
# same package in the (recursive) dependencies of the package being
|
||||
# built. Will delay failures, if any, to compile time.
|
||||
|
@ -93,6 +95,10 @@ in
|
|||
# This can make it slightly faster to load this library into GHCi, but takes
|
||||
# extra disk space and compile time.
|
||||
enableLibraryForGhci ? false
|
||||
# Set this to a previous build of this same package to reuse the intermediate
|
||||
# build products from that prior build as a starting point for accelerating
|
||||
# this build
|
||||
, previousIntermediates ? null
|
||||
} @ args:
|
||||
|
||||
assert editedCabalFile != null -> revision != null;
|
||||
|
@ -240,6 +246,8 @@ let
|
|||
"--ghc-options=-haddock"
|
||||
];
|
||||
|
||||
postPhases = optional doInstallIntermediates [ "installIntermediatesPhase" ];
|
||||
|
||||
setupCompileFlags = [
|
||||
(optionalString (!coreSetup) "-${nativePackageDbFlag}=$setupPackageConfDir")
|
||||
(optionalString enableParallelBuilding (parallelBuildingFlags))
|
||||
|
@ -306,6 +314,8 @@ let
|
|||
continue
|
||||
fi
|
||||
'';
|
||||
|
||||
intermediatesDir = "share/haskell/${ghc.version}/${pname}-${version}/dist";
|
||||
in lib.fix (drv:
|
||||
|
||||
assert allPkgconfigDepends != [] -> pkg-config != null;
|
||||
|
@ -316,7 +326,9 @@ stdenv.mkDerivation ({
|
|||
outputs = [ "out" ]
|
||||
++ (optional enableSeparateDataOutput "data")
|
||||
++ (optional enableSeparateDocOutput "doc")
|
||||
++ (optional enableSeparateBinOutput "bin");
|
||||
++ (optional enableSeparateBinOutput "bin")
|
||||
++ (optional enableSeparateIntermediatesOutput "intermediates");
|
||||
|
||||
setOutputFlags = false;
|
||||
|
||||
pos = builtins.unsafeGetAttrPos "pname" args;
|
||||
|
@ -393,7 +405,13 @@ stdenv.mkDerivation ({
|
|||
# only use the links hack if we're actually building dylibs. otherwise, the
|
||||
# "dynamic-library-dirs" point to nonexistent paths, and the ln command becomes
|
||||
# "ln -s $out/lib/links", which tries to recreate the links dir and fails
|
||||
+ (optionalString (stdenv.isDarwin && (enableSharedLibraries || enableSharedExecutables)) ''
|
||||
#
|
||||
# Note: We need to disable this work-around when using intermediate build
|
||||
# products from a prior build because otherwise Nix will change permissions on
|
||||
# the `$out/lib/links` directory to read-only when the build is done after the
|
||||
# dist directory has already been exported, which triggers an unnecessary
|
||||
# rebuild of modules included in the exported dist directory.
|
||||
+ (optionalString (stdenv.isDarwin && (enableSharedLibraries || enableSharedExecutables) && !enableSeparateIntermediatesOutput) ''
|
||||
# Work around a limit in the macOS Sierra linker on the number of paths
|
||||
# referenced by any one dynamic library:
|
||||
#
|
||||
|
@ -471,11 +489,22 @@ stdenv.mkDerivation ({
|
|||
runHook postConfigure
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
${setupCommand} build ${buildTarget}${crossCabalFlagsString}${buildFlagsString}
|
||||
runHook postBuild
|
||||
'';
|
||||
buildPhase =
|
||||
''
|
||||
runHook preBuild
|
||||
''
|
||||
+ lib.optionalString (previousIntermediates != null)
|
||||
''
|
||||
mkdir -p dist;
|
||||
rm -r dist/build
|
||||
cp -r ${previousIntermediates}/${intermediatesDir}/build dist/build
|
||||
find dist/build -exec chmod u+w {} +
|
||||
find dist/build -exec touch -d '1970-01-01T00:00:00Z' {} +
|
||||
''
|
||||
+ ''
|
||||
${setupCommand} build ${buildTarget}${crossCabalFlagsString}${buildFlagsString}
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
inherit doCheck;
|
||||
|
||||
|
@ -558,6 +587,15 @@ stdenv.mkDerivation ({
|
|||
runHook postInstall
|
||||
'';
|
||||
|
||||
${if doInstallIntermediates then "installIntermediatesPhase" else null} = ''
|
||||
runHook preInstallIntermediates
|
||||
intermediatesOutput=${if enableSeparateIntermediatesOutput then "$intermediates" else "$out"}
|
||||
installIntermediatesDir="$intermediatesOutput/${intermediatesDir}"
|
||||
mkdir -p "$installIntermediatesDir"
|
||||
cp -r dist/build "$installIntermediatesDir"
|
||||
runHook postInstallIntermediates
|
||||
'';
|
||||
|
||||
passthru = passthru // rec {
|
||||
|
||||
inherit pname version;
|
||||
|
@ -719,6 +757,7 @@ stdenv.mkDerivation ({
|
|||
// optionalAttrs (args ? preFixup) { inherit preFixup; }
|
||||
// optionalAttrs (args ? postFixup) { inherit postFixup; }
|
||||
// optionalAttrs (args ? dontStrip) { inherit dontStrip; }
|
||||
// optionalAttrs (postPhases != []) { inherit postPhases; }
|
||||
// optionalAttrs (stdenv.buildPlatform.libc == "glibc"){ LOCALE_ARCHIVE = "${glibcLocales}/lib/locale/locale-archive"; }
|
||||
)
|
||||
)
|
||||
|
|
2376
pkgs/development/haskell-modules/hackage-packages.nix
generated
2376
pkgs/development/haskell-modules/hackage-packages.nix
generated
File diff suppressed because it is too large
Load diff
|
@ -36,6 +36,10 @@ rustPlatform.buildRustPackage rec {
|
|||
install -m0644 $src/crates/c-api/include/*.h $dev/include
|
||||
install -m0644 $src/crates/c-api/include/wasmtime/*.h $dev/include/wasmtime
|
||||
install -m0644 $src/crates/c-api/wasm-c-api/include/* $dev/include
|
||||
'' + lib.optionalString stdenv.isDarwin ''
|
||||
install_name_tool -id \
|
||||
$dev/lib/libwasmtime.dylib \
|
||||
$dev/lib/libwasmtime.dylib
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
|
72
pkgs/development/libraries/hpp-fcl/default.nix
Normal file
72
pkgs/development/libraries/hpp-fcl/default.nix
Normal file
|
@ -0,0 +1,72 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, cmake
|
||||
, boost
|
||||
, eigen
|
||||
, assimp
|
||||
, octomap
|
||||
, qhull
|
||||
, pythonSupport ? false
|
||||
, python3Packages
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "hpp-fcl";
|
||||
version = "2.3.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "humanoid-path-planner";
|
||||
repo = finalAttrs.pname;
|
||||
rev = "v${finalAttrs.version}";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-7MXQ5+S/lvaTBVGY2gTJ1nUegtf9cp7p0JLJ4oPJAUY=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix unittest where nix env set `boost::archive::tmpdir()` to `/build` and trigger a path concatenation bug.
|
||||
(fetchpatch {
|
||||
name = "tests-use-boost-filesystem.patch";
|
||||
url = "https://github.com/humanoid-path-planner/hpp-fcl/commit/7e8fde64a5d2c2412325f6cb5d78623bf2409176.patch";
|
||||
hash = "sha256-YjESkj8SqYiyrJuXIa5mSnHIph/D04J10poTDcYgs2c=";
|
||||
})
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
assimp
|
||||
qhull
|
||||
octomap
|
||||
] ++ lib.optionals (!pythonSupport) [
|
||||
boost
|
||||
eigen
|
||||
] ++ lib.optionals pythonSupport [
|
||||
python3Packages.boost
|
||||
python3Packages.eigenpy
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DHPP_FCL_HAS_QHULL=ON"
|
||||
] ++ lib.optionals (!pythonSupport) [
|
||||
"-DBUILD_PYTHON_INTERFACE=OFF"
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
pythonImportsCheck = lib.optionals (!pythonSupport) [
|
||||
"hppfcl"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "An extension of the Flexible Collision Library";
|
||||
homepage = "https://github.com/humanoid-path-planner/hpp-fcl";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ nim65s ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
})
|
|
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
configureFlags = lib.optional stdenv.hostPlatform.isSunOS "--disable-thread-safe"
|
||||
++ lib.optional stdenv.hostPlatform.is64bit "--with-pic"
|
||||
++ lib.optional stdenv.hostPlatform.isPower64 [
|
||||
++ lib.optionals stdenv.hostPlatform.isPower64 [
|
||||
# Without this, the `tget_set_d128` test experiences a link
|
||||
# error due to missing `__dpd_trunctdkf`.
|
||||
"--disable-decimal-float"
|
||||
|
|
|
@ -19,14 +19,14 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "boxx";
|
||||
version = "0.10.8";
|
||||
version = "0.10.9";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-uk4DYmbV/4zSyL2QzlAJLvgC6ieBjP/xkuyDktUEmIo=";
|
||||
hash = "sha256-fWOGKDk7eJVlE9LMau3DZF8nFLUrmHpunAXdqLxHFHk=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -133,7 +133,7 @@ buildPythonPackage rec {
|
|||
"test_visual_zoom_all_rendering1"
|
||||
"test_visual_zoom_all_rendering2"
|
||||
"test_wgs84_inverse_forward"
|
||||
] ++ lib.optional stdenv.isDarwin [
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
"test_passing_pycairo_context_pdf"
|
||||
];
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
, graphql-core
|
||||
, gql
|
||||
, armips
|
||||
# tests
|
||||
# tests
|
||||
, pytestCheckHook
|
||||
, parameterized
|
||||
, xmldiff
|
||||
|
@ -70,7 +70,7 @@ buildPythonPackage rec {
|
|||
};
|
||||
|
||||
checkInputs = [ pytestCheckHook parameterized xmldiff ] ++ passthru.optional-dependencies.spritecollab;
|
||||
pytestFlagsArray = "test/";
|
||||
pytestFlagsArray = [ "test/" ];
|
||||
disabledTestPaths = [
|
||||
"test/skytemple_files_test/common/spritecollab/sc_online_test.py"
|
||||
"test/skytemple_files_test/compression_container/atupx/atupx_test.py" # Particularly long test
|
||||
|
|
|
@ -17,7 +17,7 @@ buildDartApplication rec {
|
|||
pubspecLockFile = ./pubspec.lock;
|
||||
vendorHash = "sha256-Atm7zfnDambN/BmmUf4BG0yUz/y6xWzf0reDw3Ad41s=";
|
||||
|
||||
dartCompileFlags = "--define=version=${version}";
|
||||
dartCompileFlags = [ "--define=version=${version}" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/sass/dart-sass";
|
||||
|
|
|
@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
|
|||
|
||||
buildInputs = [
|
||||
openssl
|
||||
] ++ lib.optional stdenv.isDarwin [
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
curl
|
||||
darwin.apple_sdk.frameworks.Security
|
||||
libgit2_1_3_0
|
||||
|
|
|
@ -60,7 +60,7 @@ let
|
|||
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ghostscript${lib.optionalString (x11Support) "-with-X"}";
|
||||
pname = "ghostscript${lib.optionalString x11Support "-with-X"}";
|
||||
version = "10.01.1";
|
||||
|
||||
src = fetchurl {
|
||||
|
@ -112,7 +112,7 @@ stdenv.mkDerivation rec {
|
|||
] ++ lib.optionals dynamicDrivers [
|
||||
"--enable-dynamic"
|
||||
"--disable-hidden-visibility"
|
||||
] ++ lib.optional x11Support [
|
||||
] ++ lib.optionals x11Support [
|
||||
"--with-x"
|
||||
] ++ lib.optionals cupsSupport [
|
||||
"--enable-cups"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ kernel, stdenv, kmod, lib, fetchzip, fetchpatch, dos2unix }:
|
||||
stdenv.mkDerivation
|
||||
{
|
||||
{ kernel, stdenv, kmod, lib, fetchzip, dos2unix }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "ax99100";
|
||||
version = "1.8.0";
|
||||
|
||||
|
@ -26,9 +26,9 @@ stdenv.mkDerivation
|
|||
patches = [
|
||||
./kernel-5.18-pci_free_consistent-pci_alloc_consistent.patch
|
||||
./kernel-6.1-set_termios-const-ktermios.patch
|
||||
] ++ (lib.optional (lib.versionAtLeast kernel.version "6.2") [
|
||||
] ++ lib.optionals (lib.versionAtLeast kernel.version "6.2") [
|
||||
./kernel-6.2-fix-pointer-type.patch
|
||||
]);
|
||||
];
|
||||
|
||||
patchFlags = [ "-p0" ];
|
||||
|
||||
|
|
|
@ -12,20 +12,20 @@ in
|
|||
with python3.pkgs;
|
||||
buildPythonApplication rec {
|
||||
pname = "matrix-synapse";
|
||||
version = "1.84.0";
|
||||
version = "1.84.1";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "matrix-org";
|
||||
repo = "synapse";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-CN/TCyQLlGRNDvsojGltP+GQ4UJiWQZkgQinD/w9Lfc=";
|
||||
hash = "sha256-6cUy3fAQoIFD7iL24vvlMj4S6s+68plemzH6GKkTGo0=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
inherit src;
|
||||
name = "${pname}-${version}";
|
||||
hash = "sha256-MikdIo1YghDAvpVX2vUHFmz8WgupUi/TbMPIvYgGFRA=";
|
||||
hash = "sha256-Rd2BJe4M3NVQJdkYDaiDhqKf4lXIKQyFwqMqVyMHog4=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -6,4 +6,5 @@ lib.recurseIntoAttrs {
|
|||
documentationTarball = callPackage ./documentationTarball { };
|
||||
setBuildTarget = callPackage ./setBuildTarget { };
|
||||
writers = callPackage ./writers { };
|
||||
incremental = callPackage ./incremental { };
|
||||
}
|
||||
|
|
35
pkgs/test/haskell/incremental/default.nix
Normal file
35
pkgs/test/haskell/incremental/default.nix
Normal file
|
@ -0,0 +1,35 @@
|
|||
# Demonstration of incremental builds for Haskell. Useful for speeding up CI.
|
||||
#
|
||||
# See: https://www.haskellforall.com/2022/12/nixpkgs-support-for-incremental-haskell.html
|
||||
# See: https://felixspringer.xyz/homepage/blog/incrementalHaskellBuildsWithNix
|
||||
|
||||
{ haskell, lib }:
|
||||
|
||||
let
|
||||
inherit (haskell.lib.compose) overrideCabal;
|
||||
|
||||
# Incremental builds work with GHC >=9.4.
|
||||
temporary = haskell.packages.ghc944.temporary;
|
||||
|
||||
# This will do a full build of `temporary`, while writing the intermediate build products
|
||||
# (compiled modules, etc.) to the `intermediates` output.
|
||||
temporary-full-build-with-incremental-output = overrideCabal (drv: {
|
||||
doInstallIntermediates = true;
|
||||
enableSeparateIntermediatesOutput = true;
|
||||
}) temporary;
|
||||
|
||||
# This will do an incremental build of `temporary` by copying the previously
|
||||
# compiled modules and intermediate build products into the source tree
|
||||
# before running the build.
|
||||
#
|
||||
# GHC will then naturally pick up and reuse these products, making this build
|
||||
# complete much more quickly than the previous one.
|
||||
temporary-incremental-build = overrideCabal (drv: {
|
||||
previousIntermediates = temporary-full-build-with-incremental-output.intermediates;
|
||||
}) temporary;
|
||||
in
|
||||
temporary-incremental-build.overrideAttrs (old: {
|
||||
meta = {
|
||||
maintainers = lib.teams.mercury.members;
|
||||
};
|
||||
})
|
|
@ -16,8 +16,6 @@
|
|||
, libsixel
|
||||
, microsoft-gsl
|
||||
, chafa
|
||||
, libuuid
|
||||
, libossp_uuid
|
||||
, enableOpencv ? stdenv.isLinux
|
||||
, opencv
|
||||
, enableSway ? stdenv.isLinux
|
||||
|
@ -72,7 +70,6 @@ stdenv.mkDerivation rec {
|
|||
microsoft-gsl
|
||||
chafa
|
||||
cli11
|
||||
(if stdenv.isLinux then libuuid else libossp_uuid)
|
||||
] ++ lib.optionals enableOpencv [
|
||||
opencv
|
||||
] ++ lib.optionals enableSway [
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ fetchurl
|
||||
, fetchpatch
|
||||
, stdenv
|
||||
, installShellFiles
|
||||
, lib
|
||||
|
@ -22,7 +21,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
nativeBuildInputs = [ pkg-config installShellFiles ];
|
||||
buildInputs = [ libftdi1 libusb1 ]
|
||||
++ lib.optional (!stdenv.isDarwin) [ pciutils ]
|
||||
++ lib.optionals (!stdenv.isDarwin) [ pciutils ]
|
||||
++ lib.optional jlinkSupport libjaylink;
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "crowdsec";
|
||||
version = "1.5.1";
|
||||
version = "1.5.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "crowdsecurity";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Z2msr8I5VqY4c5DBFlh9oMg68SSexiN9pgZuJdYnXVQ=";
|
||||
hash = "sha256-260+XsRn3Mm/zCSvfEcBQ6j715KV4t1Z0CvXdriDzCs=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-T0gJIJDZzzOuYGNL+b6TriQsKQnAQ6JczkiAvJo1tfc=";
|
||||
vendorHash = "sha256-Mto0X/LMwWU10cmC2bjzX4lzp9t+nEgsWRP3JGkl++A=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
|
|
@ -21126,6 +21126,8 @@ with pkgs;
|
|||
|
||||
hound = callPackage ../development/tools/misc/hound { };
|
||||
|
||||
hpp-fcl = callPackage ../development/libraries/hpp-fcl { };
|
||||
|
||||
hpx = callPackage ../development/libraries/hpx {
|
||||
boost = boost17x;
|
||||
asio = asio.override { boost = boost17x; };
|
||||
|
@ -30209,45 +30211,23 @@ with pkgs;
|
|||
|
||||
em = callPackage ../applications/editors/em { };
|
||||
|
||||
inherit (recurseIntoAttrs (callPackage ../applications/editors/emacs { }))
|
||||
emacs28
|
||||
emacs28-gtk2
|
||||
emacs28-gtk3
|
||||
emacs28-nox
|
||||
emacs29
|
||||
emacs29-gtk3
|
||||
emacs29-nox
|
||||
emacs29-pgtk
|
||||
emacs-macport
|
||||
;
|
||||
|
||||
emacsMacport = emacs-macport;
|
||||
emacs = emacs28;
|
||||
emacs-gtk = emacs28-gtk;
|
||||
emacs-gtk = emacs28-gtk3;
|
||||
emacs-nox = emacs28-nox;
|
||||
|
||||
emacs28 = callPackage ../applications/editors/emacs/28.nix {
|
||||
# use override to enable additional features
|
||||
libXaw = xorg.libXaw;
|
||||
gconf = null;
|
||||
alsa-lib = null;
|
||||
acl = null;
|
||||
gpm = null;
|
||||
inherit (darwin.apple_sdk.frameworks)
|
||||
AppKit Carbon Cocoa IOKit OSAKit Quartz QuartzCore WebKit
|
||||
ImageCaptureCore GSS ImageIO;
|
||||
inherit (darwin) sigtool;
|
||||
};
|
||||
|
||||
emacs28-gtk = emacs28.override {
|
||||
withGTK3 = true;
|
||||
};
|
||||
|
||||
emacs28-nox = lowPrio (emacs28.override {
|
||||
withX = false;
|
||||
withNS = false;
|
||||
withGTK2 = false;
|
||||
withGTK3 = false;
|
||||
});
|
||||
|
||||
emacsMacport = callPackage ../applications/editors/emacs/macport.nix {
|
||||
withMacport = true;
|
||||
|
||||
gconf = null;
|
||||
|
||||
inherit (darwin.apple_sdk.frameworks)
|
||||
AppKit Carbon Cocoa IOKit OSAKit Quartz QuartzCore WebKit
|
||||
ImageCaptureCore GSS ImageIO;
|
||||
inherit (darwin) sigtool;
|
||||
};
|
||||
|
||||
emacsPackagesFor = emacs: import ./emacs-packages.nix {
|
||||
inherit (lib) makeScope makeOverridable dontRecurseIntoAttrs;
|
||||
emacs' = emacs;
|
||||
|
|
|
@ -20,6 +20,7 @@ let
|
|||
"ghc925"
|
||||
"ghc926"
|
||||
"ghc927"
|
||||
"ghc928"
|
||||
"ghc92"
|
||||
"ghc942"
|
||||
"ghc943"
|
||||
|
@ -39,6 +40,7 @@ let
|
|||
"ghc925"
|
||||
"ghc926"
|
||||
"ghc927"
|
||||
"ghc928"
|
||||
"ghc94"
|
||||
"ghc942"
|
||||
"ghc943"
|
||||
|
@ -231,7 +233,24 @@ in {
|
|||
buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
|
||||
llvmPackages = pkgs.llvmPackages_12;
|
||||
};
|
||||
ghc92 = ghc927;
|
||||
ghc928 = callPackage ../development/compilers/ghc/9.2.8.nix {
|
||||
bootPkgs =
|
||||
# aarch64 ghc8107Binary exceeds max output size on hydra
|
||||
if stdenv.hostPlatform.isAarch then
|
||||
packages.ghc8107BinaryMinimal
|
||||
else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
|
||||
packages.ghc810
|
||||
else
|
||||
packages.ghc8107Binary;
|
||||
inherit (buildPackages.python3Packages) sphinx;
|
||||
# Need to use apple's patched xattr until
|
||||
# https://github.com/xattr/xattr/issues/44 and
|
||||
# https://github.com/xattr/xattr/issues/55 are solved.
|
||||
inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
|
||||
buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
|
||||
llvmPackages = pkgs.llvmPackages_12;
|
||||
};
|
||||
ghc92 = ghc928;
|
||||
ghc942 = callPackage ../development/compilers/ghc/9.4.2.nix {
|
||||
bootPkgs =
|
||||
# Building with 9.2 is broken due to
|
||||
|
@ -485,7 +504,12 @@ in {
|
|||
ghc = bh.compiler.ghc927;
|
||||
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { };
|
||||
};
|
||||
ghc92 = ghc927;
|
||||
ghc928 = callPackage ../development/haskell-modules {
|
||||
buildHaskellPackages = bh.packages.ghc928;
|
||||
ghc = bh.compiler.ghc928;
|
||||
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { };
|
||||
};
|
||||
ghc92 = ghc928;
|
||||
ghc942 = callPackage ../development/haskell-modules {
|
||||
buildHaskellPackages = bh.packages.ghc942;
|
||||
ghc = bh.compiler.ghc942;
|
||||
|
|
|
@ -4627,6 +4627,11 @@ self: super: with self; {
|
|||
|
||||
hpccm = callPackage ../development/python-modules/hpccm { };
|
||||
|
||||
hpp-fcl = toPythonModule (pkgs.hpp-fcl.override {
|
||||
pythonSupport = true;
|
||||
python3Packages = self;
|
||||
});
|
||||
|
||||
hs-dbus-signature = callPackage ../development/python-modules/hs-dbus-signature { };
|
||||
|
||||
hsaudiotag3k = callPackage ../development/python-modules/hsaudiotag3k { };
|
||||
|
|
|
@ -67,6 +67,7 @@ let
|
|||
ghc925
|
||||
ghc926
|
||||
ghc927
|
||||
ghc928
|
||||
ghc945
|
||||
ghc961
|
||||
];
|
||||
|
@ -330,7 +331,6 @@ let
|
|||
nvfetcher
|
||||
ormolu
|
||||
pandoc
|
||||
pakcs
|
||||
petrinizer
|
||||
place-cursor-at
|
||||
pinboard-notes-backup
|
||||
|
@ -437,8 +437,8 @@ let
|
|||
;
|
||||
};
|
||||
|
||||
haskell.packages.native-bignum.ghc927 = {
|
||||
inherit (packagePlatforms pkgs.pkgsStatic.haskell.packages.native-bignum.ghc927)
|
||||
haskell.packages.native-bignum.ghc928 = {
|
||||
inherit (packagePlatforms pkgs.pkgsStatic.haskell.packages.native-bignum.ghc928)
|
||||
hello
|
||||
lens
|
||||
random
|
||||
|
@ -533,6 +533,7 @@ let
|
|||
compilerNames.ghc925
|
||||
compilerNames.ghc926
|
||||
compilerNames.ghc927
|
||||
compilerNames.ghc928
|
||||
compilerNames.ghc945
|
||||
];
|
||||
weeder = [
|
||||
|
@ -542,6 +543,7 @@ let
|
|||
compilerNames.ghc925
|
||||
compilerNames.ghc926
|
||||
compilerNames.ghc927
|
||||
compilerNames.ghc928
|
||||
compilerNames.ghc945
|
||||
];
|
||||
})
|
||||
|
@ -623,6 +625,7 @@ let
|
|||
jobs.pkgsMusl.haskell.compiler.ghc925
|
||||
jobs.pkgsMusl.haskell.compiler.ghc926
|
||||
jobs.pkgsMusl.haskell.compiler.ghc927
|
||||
jobs.pkgsMusl.haskell.compiler.ghc928
|
||||
jobs.pkgsMusl.haskell.compiler.ghcHEAD
|
||||
jobs.pkgsMusl.haskell.compiler.integer-simple.ghc8107
|
||||
jobs.pkgsMusl.haskell.compiler.native-bignum.ghc902
|
||||
|
@ -630,6 +633,7 @@ let
|
|||
jobs.pkgsMusl.haskell.compiler.native-bignum.ghc925
|
||||
jobs.pkgsMusl.haskell.compiler.native-bignum.ghc926
|
||||
jobs.pkgsMusl.haskell.compiler.native-bignum.ghc927
|
||||
jobs.pkgsMusl.haskell.compiler.native-bignum.ghc928
|
||||
jobs.pkgsMusl.haskell.compiler.native-bignum.ghcHEAD
|
||||
];
|
||||
};
|
||||
|
@ -645,7 +649,7 @@ let
|
|||
};
|
||||
constituents = accumulateDerivations [
|
||||
jobs.pkgsStatic.haskellPackages
|
||||
jobs.pkgsStatic.haskell.packages.native-bignum.ghc927
|
||||
jobs.pkgsStatic.haskell.packages.native-bignum.ghc928
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue