···253 or also with <varname>crossSystem</varname>, in which case packages run on the latter, but all building happens on the former.
254 Both parameters take the same schema as the 3 (build, host, and target) platforms defined in the previous section.
255 As mentioned above, <literal>lib.systems.examples</literal> has some platforms which are used as arguments for these parameters in practice.
256- You can use them programmatically, or on the command line like <command>nix-build <nixpkgs> --arg crossSystem '(import <nixpkgs/lib>).systems.examples.fooBarBaz'</command>.
0257 </para>
0000000000258 <para>
259 While one is free to pass both parameters in full, there's a lot of logic to fill in missing fields.
260 As discussed in the previous section, only one of <varname>system</varname>, <varname>config</varname>, and <varname>parsed</varname> is needed to infer the other two.
···253 or also with <varname>crossSystem</varname>, in which case packages run on the latter, but all building happens on the former.
254 Both parameters take the same schema as the 3 (build, host, and target) platforms defined in the previous section.
255 As mentioned above, <literal>lib.systems.examples</literal> has some platforms which are used as arguments for these parameters in practice.
256+ You can use them programmatically, or on the command line: <programlisting>
257+nix-build <nixpkgs> --arg crossSystem '(import <nixpkgs/lib>).systems.examples.fooBarBaz' -A whatever</programlisting>
258 </para>
259+ <note>
260+ <para>
261+ Eventually we would like to make these platform examples an unnecessary convenience so that <programlisting>
262+nix-build <nixpkgs> --arg crossSystem.config '<arch>-<os>-<vendor>-<abi>' -A whatever</programlisting>
263+ works in the vast majority of cases.
264+ The problem today is dependencies on other sorts of configuration which aren't given proper defaults.
265+ We rely on the examples to crudely to set those configuration parameters in some vaguely sane manner on the users behalf.
266+ Issue <link xlink:href="https://github.com/NixOS/nixpkgs/issues/34274">#34274</link> tracks this inconvenience along with its root cause in crufty configuration options.
267+ </para>
268+ </note>
269 <para>
270 While one is free to pass both parameters in full, there's a lot of logic to fill in missing fields.
271 As discussed in the previous section, only one of <varname>system</varname>, <varname>config</varname>, and <varname>parsed</varname> is needed to infer the other two.
+3-2
lib/customisation.nix
···157158 /* Add attributes to each output of a derivation without changing
159 the derivation itself. */
160- addPassthru = lib.warn "`addPassthru` is deprecated, replace with `extendDerivation true`"
161- (extendDerivation true);
0162163 /* Strip a derivation of all non-essential attributes, returning
164 only those needed by hydra-eval-jobs. Also strictly evaluate the
···157158 /* Add attributes to each output of a derivation without changing
159 the derivation itself. */
160+ addPassthru =
161+ lib.warn "`addPassthru drv passthru` is deprecated, replace with `extendDerivation true passthru drv`"
162+ (drv: passthru: extendDerivation true passthru drv);
163164 /* Strip a derivation of all non-essential attributes, returning
165 only those needed by hydra-eval-jobs. Also strictly evaluate the
···133 </listitem>
134 <listitem>
135 <para>
136- <literal>lib.addPassthru</literal> is removed. Use <literal>lib.extendDerivation true</literal> instead. <emphasis role="strong">TODO: actually remove it before branching 18.03 off.</emphasis>
137 </para>
138 </listitem>
139 <listitem>
···147 <listitem>
148 <para>
149 The <varname>hardware.amdHybridGraphics.disable</varname> option was removed for lack of a maintainer. If you still need this module, you may wish to include a copy of it from an older version of nixos in your imports.
00000000000150 </para>
151 </listitem>
152</itemizedlist>
···133 </listitem>
134 <listitem>
135 <para>
136+ <literal>lib.addPassthru drv passthru</literal> is removed. Use <literal>lib.extendDerivation true passthru drv</literal> instead. <emphasis role="strong">TODO: actually remove it before branching 18.03 off.</emphasis>
137 </para>
138 </listitem>
139 <listitem>
···147 <listitem>
148 <para>
149 The <varname>hardware.amdHybridGraphics.disable</varname> option was removed for lack of a maintainer. If you still need this module, you may wish to include a copy of it from an older version of nixos in your imports.
150+ </para>
151+ </listitem>
152+ <listitem>
153+ <para>
154+ The merging of config options for <varname>services.postfix.config</varname>
155+ was buggy. Previously, if other options in the Postfix module like
156+ <varname>services.postfix.useSrs</varname> were set and the user set config
157+ options that were also set by such options, the resulting config wouldn't
158+ include all options that were needed. They are now merged correctly. If
159+ config options need to be overridden, <literal>lib.mkForce</literal> or
160+ <literal>lib.mkOverride</literal> can be used.
161 </para>
162 </listitem>
163</itemizedlist>
···27 boot.loader.grub.enable = false;
28 boot.loader.generic-extlinux-compatible.enable = true;
29030 boot.kernelPackages = pkgs.linuxPackages_latest;
3132 # The serial ports listed here are:
···42 populateBootCommands = let
43 configTxt = pkgs.writeText "config.txt" ''
44 kernel=u-boot-rpi3.bin
0045 arm_control=0x200
00046 enable_uart=1
000047 '';
48 in ''
49 (cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/boot/)
···27 boot.loader.grub.enable = false;
28 boot.loader.generic-extlinux-compatible.enable = true;
2930+ boot.consoleLogLevel = lib.mkDefault 7;
31 boot.kernelPackages = pkgs.linuxPackages_latest;
3233 # The serial ports listed here are:
···43 populateBootCommands = let
44 configTxt = pkgs.writeText "config.txt" ''
45 kernel=u-boot-rpi3.bin
46+47+ # Boot in 64-bit mode.
48 arm_control=0x200
49+50+ # U-Boot used to need this to work, regardless of whether UART is actually used or not.
51+ # TODO: check when/if this can be removed.
52 enable_uart=1
53+54+ # Prevent the firmware from smashing the framebuffer setup done by the mainline kernel
55+ # when attempting to show low-voltage or overtemperature warnings.
56+ avoid_warnings=1
57 '';
58 in ''
59 (cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/boot/)
···1+{ stdenv, fetchFromGitHub, cmake, hdf5, zlib }:
2+3+stdenv.mkDerivation rec {
4+ name = "kallisto-${version}";
5+ version = "0.43.1";
6+7+ src = fetchFromGitHub {
8+ repo = "kallisto";
9+ owner = "pachterlab";
10+ rev = "v${version}";
11+ sha256 = "04697pf7jvy7vw126s1rn09q4iab9223jvb1nb0jn7ilwkq7pgwz";
12+ };
13+14+ nativeBuildInputs = [ cmake ];
15+16+ buildInputs = [ hdf5 zlib ];
17+18+ meta = with stdenv.lib; {
19+ description = "kallisto is a program for quantifying abundances of transcripts from RNA-Seq data";
20+ homepage = https://pachterlab.github.io/kallisto;
21+ license = licenses.bsd2;
22+ platforms = platforms.linux;
23+ maintainers = [ maintainers.arcadio ];
24+ };
25+}
+28-6
pkgs/applications/science/math/sage/default.nix
···18# - https://git.archlinux.org/svntogit/community.git/tree/trunk?h=packages/sagemath
1920{ stdenv
021, fetchurl
22, perl
23, gfortran
···26, gettext
27, which
28, texlive
029, hevea
30}:
3132stdenv.mkDerivation rec {
33- version = "8.0";
34 name = "sage-${version}";
3500036 src = fetchurl {
37 # Note that the source is *not* fetched from github, since that doesn't
38 # the upstream folder with all the source tarballs of the spkgs.
···70 "http://www-ftp.lip6.fr/pub/math/sagemath/src/sage-${version}.tar.gz"
71 "http://ftp.ntua.gr/pub/sagemath/src/sage-${version}.tar.gz"
72 ];
73- sha256 = "1a9rhb8jby6fdqa2s7n2fl9jwqqlsl7qz7dbpbwvg6jwlrvni7fg";
74 };
7576 postPatch = ''
77 substituteAllInPlace src/bin/sage-env
078 '';
7980 installPhase = ''
···84 outputs = [ "out" "doc" ];
8586 buildInputs = [
087 perl # needed for the build
88 python # needed for the build
89- gfortran # needed to build giac
90 autoreconfHook # needed to configure sage with prefix
91 gettext # needed to build the singular spkg
92 hevea # needed to build the docs of the giac spkg
93 which # needed in configure of mpir
94 # needed to build the docs of the giac spkg
095 (texlive.combine { inherit (texlive)
96 scheme-basic
97 collection-pstricks # needed by giac
···102 })
103 ];
10400105 patches = [
106 # fix usages of /bin/rm
107 ./spkg-singular.patch
108 # help python find the crypt library
109- ./spkg-python2.patch
110- ./spkg-python3.patch
111 # fix usages of /usr/bin/perl
112 ./spkg-git.patch
113 # fix usages of /bin/cp and add necessary argument to function call
114 ./spkg-giac.patch
115 # environment
116 ./env.patch
00117 ];
118119 enableParallelBuilding = true;
···144 preBuild = ''
145 # TODO do this conditionally
146 export SAGE_SPKG_INSTALL_DOCS='no'
147- patchShebangs build
0000000148 '';
149150 postBuild = ''
···153 rm -rf "$out/sage-root/src/.git"
154 rm -r "$out/sage-root/logs"
155 # Fix dependency cycle between out and doc
0156 rm -f "$out/sage-root/config.status"
157 rm -f "$out/sage-root/build/make/Makefile-auto"
158 rm -f "$out/sage-home/.sage/gap/libgap-workspace-"*
00159 '';
160161 # TODO there are some doctest failures, which seem harmless.
···18# - https://git.archlinux.org/svntogit/community.git/tree/trunk?h=packages/sagemath
1920{ stdenv
21+, bash
22, fetchurl
23, perl
24, gfortran
···27, gettext
28, which
29, texlive
30+, texinfo
31, hevea
32}:
3334stdenv.mkDerivation rec {
35+ version = "8.1";
36 name = "sage-${version}";
3738+ # Modified version of patchShebangs that patches to the sage-internal version if possible
39+ # and falls back to the system version if not.
40+ patchSageShebangs = ./patchSageShebangs.sh;
41 src = fetchurl {
42 # Note that the source is *not* fetched from github, since that doesn't
43 # the upstream folder with all the source tarballs of the spkgs.
···75 "http://www-ftp.lip6.fr/pub/math/sagemath/src/sage-${version}.tar.gz"
76 "http://ftp.ntua.gr/pub/sagemath/src/sage-${version}.tar.gz"
77 ];
78+ sha256 = "1cpcs1mr0yii64s152xmxyd450bfzjb22jjj0zh9y3n6g9alzpyq";
79 };
8081 postPatch = ''
82 substituteAllInPlace src/bin/sage-env
83+ bash=${bash} substituteAllInPlace build/bin/sage-spkg
84 '';
8586 installPhase = ''
···90 outputs = [ "out" "doc" ];
9192 buildInputs = [
93+ bash # needed for the build
94 perl # needed for the build
95 python # needed for the build
96+ gfortran # needed to build giac, openblas
97 autoreconfHook # needed to configure sage with prefix
98 gettext # needed to build the singular spkg
99 hevea # needed to build the docs of the giac spkg
100 which # needed in configure of mpir
101 # needed to build the docs of the giac spkg
102+ texinfo # needed to build maxima
103 (texlive.combine { inherit (texlive)
104 scheme-basic
105 collection-pstricks # needed by giac
···110 })
111 ];
112113+ nativeBuildInputs = [ gfortran perl which ];
114+115 patches = [
116 # fix usages of /bin/rm
117 ./spkg-singular.patch
118 # help python find the crypt library
119+ # patches python3 and indirectly python2, since those installation files are symlinked
120+ ./spkg-python.patch
121 # fix usages of /usr/bin/perl
122 ./spkg-git.patch
123 # fix usages of /bin/cp and add necessary argument to function call
124 ./spkg-giac.patch
125 # environment
126 ./env.patch
127+ # adjust wrapper shebang and patch shebangs after each spkg build
128+ ./shebangs.patch
129 ];
130131 enableParallelBuilding = true;
···156 preBuild = ''
157 # TODO do this conditionally
158 export SAGE_SPKG_INSTALL_DOCS='no'
159+ # symlink python to make sure the shebangs are patched to the sage path
160+ # while still being able to use python before building it
161+ # (this is important because otherwise sage will try to install python
162+ # packages globally later on)
163+ ln -s "${python}/bin/python2" $out/bin/python2
164+ ln -s "$out/bin/python2" $out/bin/python
165+ touch $out/bin/python3
166+ bash $patchSageShebangs .
167 '';
168169 postBuild = ''
···172 rm -rf "$out/sage-root/src/.git"
173 rm -r "$out/sage-root/logs"
174 # Fix dependency cycle between out and doc
175+ rm -f "$out/sage-root/config.log"
176 rm -f "$out/sage-root/config.status"
177 rm -f "$out/sage-root/build/make/Makefile-auto"
178 rm -f "$out/sage-home/.sage/gap/libgap-workspace-"*
179+ # Make sure all shebangs are properly patched
180+ bash $patchSageShebangs $out
181 '';
182183 # TODO there are some doctest failures, which seem harmless.
···1+# This is a slightly modified version of nix's default patchShebangs
2+3+dir="$1"
4+5+echo "patching sage internal script interpreter paths in $( readlink -f "$dir")"
6+7+find "$dir" -type f -perm -0100 | while read f; do
8+ if [ "$(head -1 "$f" | head -c+2)" != '#!' ]; then
9+ # missing shebang => not a script
10+ continue
11+ fi
12+13+ oldInterpreterLine=$(head -1 "$f" | tail -c+3)
14+ read -r oldPath arg0 args <<< "$oldInterpreterLine"
15+16+ if $(echo "$oldPath" | grep -q "/bin/env$"); then
17+ # Check for unsupported 'env' functionality:
18+ # - options: something starting with a '-'
19+ # - environment variables: foo=bar
20+ if $(echo "$arg0" | grep -q -- "^-.*\|.*=.*"); then
21+ echo "unsupported interpreter directive \"$oldInterpreterLine\" (set dontPatchShebangs=1 and handle shebang patching yourself)"
22+ exit 1
23+ fi
24+ executable="$arg0"
25+ else
26+ if [ "$oldPath" = "" ]; then
27+ # If no interpreter is specified linux will use /bin/sh. Set
28+ # oldpath="/bin/sh" so that we get /nix/store/.../sh.
29+ oldPath="/bin/sh"
30+ fi
31+ executable="$(basename "$oldPath")"
32+ args="$arg0 $args"
33+ fi
34+35+ newPath="$(echo "$out/bin/$executable $args" | sed 's/[[:space:]]*$//')"
36+ if [[ ! -x "$newPath" ]] ; then
37+ newPath="$(command -v "$executable" || true)"
38+ fi
39+40+ # Strip trailing whitespace introduced when no arguments are present
41+ newInterpreterLine="$(echo "$newPath $args" | sed 's/[[:space:]]*$//')"
42+43+ if [ -n "$oldPath" -a "${oldPath:0:${#NIX_STORE}}" != "$NIX_STORE" ]; then
44+ if [ -n "$newPath" -a "$newPath" != "$oldPath" ]; then
45+ echo "$f: sage interpreter directive changed from \"$oldInterpreterLine\" to \"$newInterpreterLine\""
46+ # escape the escape chars so that sed doesn't interpret them
47+ escapedInterpreterLine=$(echo "$newInterpreterLine" | sed 's|\\|\\\\|g')
48+ sed -i -e "1 s|.*|#\!$escapedInterpreterLine|" "$f"
49+ fi
50+ fi
51+done
···1+{ stdenv, fetchFromGitHub, inkscape, imagemagick, potrace, svgo, scfbuild }:
2+3+stdenv.mkDerivation rec {
4+ name = "twemoji-color-font-${meta.version}";
5+ src = fetchFromGitHub {
6+ owner = "eosrei";
7+ repo = "twemoji-color-font";
8+ rev = "v${meta.version}";
9+ sha256 = "0i7krmg99nrrj7mbjjd2cw6dx24aja63571mcyp6d7q1z09asz9k";
10+ };
11+12+ nativeBuildInputs = [ inkscape imagemagick potrace svgo scfbuild ];
13+ # silence inkscape errors about non-writable home
14+ preBuild = "export HOME=\"$NIX_BUILD_ROOT\"";
15+ makeFlags = [ "SCFBUILD=${scfbuild}/bin/scfbuild" ];
16+ enableParallelBuilding = true;
17+ installPhase = "install -Dm755 build/TwitterColorEmoji-SVGinOT.ttf $out/share/fonts/truetype/TwitterColorEmoji-SVGinOT.ttf";
18+19+ meta = with stdenv.lib; {
20+ version = "1.3";
21+ description = "Color emoji SVGinOT font using Twitter Unicode 10 emoji with diversity and country flags";
22+ longDescription = ''
23+ A color and B&W emoji SVGinOT font built from the Twitter Emoji for
24+ Everyone artwork with support for ZWJ, skin tone diversity and country
25+ flags.
26+27+ The font works in all operating systems, but will currently only show
28+ color emoji in Firefox, Thunderbird, Photoshop CC 2017, and Windows Edge
29+ V38.14393+. This is not a limitation of the font, but of the operating
30+ systems and applications. Regular B&W outline emoji are included for
31+ backwards/fallback compatibility.
32+ '';
33+ homepage = "https://github.com/eosrei/twemoji-color-font";
34+ downloadPage = "https://github.com/eosrei/twemoji-color-font/releases";
35+ license = with licenses; [ cc-by-40 mit ];
36+ maintainers = [ maintainers.fgaz ];
37+ platforms = platforms.all;
38+ };
39+}
···2526stdenv.mkDerivation rec {
27 name = "go-${version}";
28- version = "1.9.2";
2930 src = fetchFromGitHub {
31 owner = "golang";
32 repo = "go";
33 rev = "go${version}";
34- sha256 = "07p4ld07r2nml2bsbfb8h51hqilbqyhhdlia99y1gk7ibvhybv8i";
35 };
3637 # perl is used for testing go vet
···139 GO386 = 387; # from Arch: don't assume sse2 on i686
140 CGO_ENABLED = 1;
141 GOROOT_BOOTSTRAP = "${goBootstrap}/share/go";
00142143 # The go build actually checks for CC=*/clang and does something different, so we don't
144 # just want the generic `cc` here.
···2526stdenv.mkDerivation rec {
27 name = "go-${version}";
28+ version = "1.9.3";
2930 src = fetchFromGitHub {
31 owner = "golang";
32 repo = "go";
33 rev = "go${version}";
34+ sha256 = "0ivb6z30d6qrrkwjm9fdz9jfs567q4b6dljwwxc9shmdr2l9chah";
35 };
3637 # perl is used for testing go vet
···139 GO386 = 387; # from Arch: don't assume sse2 on i686
140 CGO_ENABLED = 1;
141 GOROOT_BOOTSTRAP = "${goBootstrap}/share/go";
142+ # Hopefully avoids test timeouts on Hydra
143+ GO_TEST_TIMEOUT_SCALE = 3;
144145 # The go build actually checks for CC=*/clang and does something different, so we don't
146 # just want the generic `cc` here.
···1-# Note: The Haskell package set used for building UHC is
2-# determined in the file top-level/haskell-packages.nix.
3-{ stdenv, coreutils, m4, libtool, clang, ghcWithPackages, fetchFromGitHub }:
4-5-let wrappedGhc = ghcWithPackages (hpkgs: with hpkgs; [fgl vector syb uulib network binary hashable uhc-util mtl transformers directory containers array process filepath shuffle uuagc] );
6-in stdenv.mkDerivation rec {
7- version = "1.1.9.4";
8- name = "uhc-${version}";
9-10- src = fetchFromGitHub {
11- owner = "UU-ComputerScience";
12- repo = "uhc";
13- rev = "v${version}";
14- sha256 = "1s84csk6zgzj09igxgdza7gb52jdn3jsr8lygl5xplshv8yzl34n";
15- };
16-17- postUnpack = "sourceRoot=\${sourceRoot}/EHC";
18-19- buildInputs = [ m4 wrappedGhc clang libtool ];
20-21- configureFlags = [ "--with-gcc=${clang}/bin/clang" ];
22-23- # UHC builds packages during compilation; these are by default
24- # installed in the user-specific package config file. We do not
25- # want that, and hack the build process to use a temporary package
26- # configuration file instead.
27- preConfigure = ''
28- p=`pwd`/uhc-local-packages/
29- ghc-pkg init $p
30- sed -i "s|--user|--package-db=$p|g" mk/shared.mk.in
31- sed -i "s|-fglasgow-exts|-fglasgow-exts -package-conf=$p|g" mk/shared.mk.in
32- sed -i "s|/bin/date|${coreutils}/bin/date|g" mk/dist.mk
33- sed -i "s|/bin/date|${coreutils}/bin/date|g" mk/config.mk.in
34- sed -i "s|--make|--make -package-db=$p|g" src/ehc/files2.mk
35- sed -i "s|--make|--make -package-db=$p|g" src/gen/files.mk
36- '';
37-38- inherit clang;
39-40- meta = with stdenv.lib; {
41- homepage = http://www.cs.uu.nl/wiki/UHC;
42- description = "Utrecht Haskell Compiler";
43- maintainers = [ maintainers.phile314 ];
44-45- # UHC i686 support is broken, see
46- # https://github.com/UU-ComputerScience/uhc/issues/52
47- #
48- # Darwin build is broken as well at the moment.
49- # On Darwin, the GNU libtool is used, which does not
50- # support the -static flag and thus breaks the build.
51- platforms = ["x86_64-linux"];
52- broken = true;
53- };
54-}
···605 haskell-src-exts = self.haskell-src-exts_1_20_1;
606 };
607608- # Needs newer version of its dependencies than we have in LTS-10.x.
0609 hlint = super.hlint.overrideScope (self: super: { haskell-src-exts = self.haskell-src-exts_1_20_1; });
610611 # https://github.com/bos/configurator/issues/22
···637 # We get lots of strange compiler errors during the test suite run.
638 jsaddle = dontCheck super.jsaddle;
639640- # tinc is a new build driver a la Stack that's not yet available from Hackage.
641- tinc = self.callPackage ../tools/haskell/tinc { inherit (pkgs) cabal-install cabal2nix; };
642-643 # Tools that use gtk2hs-buildtools now depend on them in a custom-setup stanza
644 cairo = addBuildTool super.cairo self.gtk2hs-buildtools;
645 pango = disableHardening (addBuildTool super.pango self.gtk2hs-buildtools) ["fortify"];
···647 if pkgs.stdenv.isDarwin
648 then appendConfigureFlag super.gtk "-fhave-quartz-gtk"
649 else super.gtk;
650-651- # It makes no sense to have intero-nix-shim in Hackage, so we publish it here only.
652- intero-nix-shim = self.callPackage ../tools/haskell/intero-nix-shim {};
653654 # vaultenv is not available from Hackage.
655 vaultenv = self.callPackage ../tools/haskell/vaultenv { };
···958959 # https://github.com/yesodweb/Shelly.hs/issues/162
960 shelly = dontCheck super.shelly;
000000000000000000000000000000000000000000000961962}
···605 haskell-src-exts = self.haskell-src-exts_1_20_1;
606 };
607608+ # Need newer versions of their dependencies than the ones we have in LTS-10.x.
609+ cabal2nix = super.cabal2nix.override { hpack = self.hpack_0_22_0; };
610 hlint = super.hlint.overrideScope (self: super: { haskell-src-exts = self.haskell-src-exts_1_20_1; });
611612 # https://github.com/bos/configurator/issues/22
···638 # We get lots of strange compiler errors during the test suite run.
639 jsaddle = dontCheck super.jsaddle;
640000641 # Tools that use gtk2hs-buildtools now depend on them in a custom-setup stanza
642 cairo = addBuildTool super.cairo self.gtk2hs-buildtools;
643 pango = disableHardening (addBuildTool super.pango self.gtk2hs-buildtools) ["fortify"];
···645 if pkgs.stdenv.isDarwin
646 then appendConfigureFlag super.gtk "-fhave-quartz-gtk"
647 else super.gtk;
000648649 # vaultenv is not available from Hackage.
650 vaultenv = self.callPackage ../tools/haskell/vaultenv { };
···953954 # https://github.com/yesodweb/Shelly.hs/issues/162
955 shelly = dontCheck super.shelly;
956+957+ # Support ansi-terminal 0.7.x.
958+ cabal-plan = appendPatch super.cabal-plan (pkgs.fetchpatch {
959+ url = "https://github.com/haskell-hvr/cabal-plan/pull/16.patch";
960+ sha256 = "0i889zs46wn09d7iqdy99201zaqxb175cfs8jz2zi3mv4ywx3a0l";
961+ });
962+963+ # Copy hledger man pages from data directory into the proper place. This code
964+ # should be moved into the cabal2nix generator.
965+ hledger = overrideCabal super.hledger (drv: {
966+ postInstall = ''
967+ for i in $(seq 1 9); do
968+ for j in $data/share/${self.ghc.name}/${pkgs.stdenv.system}-${self.ghc.name}/*/*.$i $data/share/${self.ghc.name}/${pkgs.stdenv.system}-${self.ghc.name}/*/.otherdocs/*.$i; do
969+ mkdir -p $out/share/man/man$i
970+ cp $j $out/share/man/man$i/
971+ done
972+ done
973+ mkdir $out/share/info
974+ cp $data/share/${self.ghc.name}/${pkgs.stdenv.system}-${self.ghc.name}/*/*.info $out/share/info/
975+ '';
976+ });
977+ hledger-ui = overrideCabal super.hledger-ui (drv: {
978+ postInstall = ''
979+ for i in $(seq 1 9); do
980+ for j in $data/share/${self.ghc.name}/${pkgs.stdenv.system}-${self.ghc.name}/*/*.$i $data/share/${self.ghc.name}/${pkgs.stdenv.system}-${self.ghc.name}/*/.otherdocs/*.$i; do
981+ mkdir -p $out/share/man/man$i
982+ cp $j $out/share/man/man$i/
983+ done
984+ done
985+ mkdir $out/share/info
986+ cp $data/share/${self.ghc.name}/${pkgs.stdenv.system}-${self.ghc.name}/*/*.info $out/share/info/
987+ '';
988+ });
989+ hledger-web = overrideCabal super.hledger-web (drv: {
990+ postInstall = ''
991+ for i in $(seq 1 9); do
992+ for j in $data/share/${self.ghc.name}/${pkgs.stdenv.system}-${self.ghc.name}/*/*.$i $data/share/${self.ghc.name}/${pkgs.stdenv.system}-${self.ghc.name}/*/.otherdocs/*.$i; do
993+ mkdir -p $out/share/man/man$i
994+ cp $j $out/share/man/man$i/
995+ done
996+ done
997+ mkdir $out/share/info
998+ cp $data/share/${self.ghc.name}/${pkgs.stdenv.system}-${self.ghc.name}/*/*.info $out/share/info/
999+ '';
1000+ });
10011002}
···23stdenv.mkDerivation rec {
4 name = "abcMIDI-${version}";
5- version = "2018.01.02";
67- # You can find new releases on http://ifdo.ca/~seymour/runabc/top.html
8 src = fetchzip {
9 url = "http://ifdo.ca/~seymour/runabc/${name}.zip";
10- sha256 = "0s8wm637dgzgpgdxba3a6fh06i0c4iwvv9cdghh8msnx428k68iw";
11 };
1213 # There is also a file called "makefile" which seems to be preferred by the standard build phase
···1516 meta = with stdenv.lib; {
17 homepage = http://abc.sourceforge.net/abcMIDI/;
018 license = licenses.gpl2Plus;
19 description = "Utilities for converting between abc and MIDI";
020 maintainers = [ maintainers.dotlambda ];
21 };
22}
···23stdenv.mkDerivation rec {
4 name = "abcMIDI-${version}";
5+ version = "2018.01.25";
607 src = fetchzip {
8 url = "http://ifdo.ca/~seymour/runabc/${name}.zip";
9+ sha256 = "18h6gqhh75qdi8krpp0m2pxbxi0n08wrh8xay477jm3vaggyr8s9";
10 };
1112 # There is also a file called "makefile" which seems to be preferred by the standard build phase
···1415 meta = with stdenv.lib; {
16 homepage = http://abc.sourceforge.net/abcMIDI/;
17+ downloadPage = https://ifdo.ca/~seymour/runabc/top.html;
18 license = licenses.gpl2Plus;
19 description = "Utilities for converting between abc and MIDI";
20+ platforms = platforms.unix;
21 maintainers = [ maintainers.dotlambda ];
22 };
23}
+12
pkgs/tools/compression/brotli/default.nix
···1718 outputs = [ "out" "dev" "lib" ];
19000020 # This breaks on Darwin because our cmake hook tries to make a build folder
21 # and the wonderful bazel BUILD file is already there (yay case-insensitivity?)
22 prePatch = "rm BUILD";
000000002324 meta = with stdenv.lib; {
25 inherit (src.meta) homepage;
···1718 outputs = [ "out" "dev" "lib" ];
1920+ doCheck = true;
21+22+ checkTarget = "test";
23+24 # This breaks on Darwin because our cmake hook tries to make a build folder
25 # and the wonderful bazel BUILD file is already there (yay case-insensitivity?)
26 prePatch = "rm BUILD";
27+28+ # Don't bother with "man" output for now,
29+ # it currently only makes the manpages hard to use.
30+ postInstall = ''
31+ mkdir -p $out/share/man/man{1,3}
32+ cp ../docs/*.1 $out/share/man/man1/
33+ cp ../docs/*.3 $out/share/man/man3/
34+ '';
3536 meta = with stdenv.lib; {
37 inherit (src.meta) homepage;