···11+{ stdenv, fetchFromGitHub }:
22+33+stdenv.mkDerivation rec {
44+55+ pname = "inriafonts";
66+ version = "1.200";
77+ name = "${pname}-${version}";
88+99+src = fetchFromGitHub {
1010+ owner = "BlackFoundry";
1111+ repo = "InriaFonts";
1212+ rev = "v${version}";
1313+ sha256 = "06775y99lyh6hj5hzvrx56iybdck8a8xfqkipqd5c4cldg0a9hh8";
1414+};
1515+1616+installPhase = ''
1717+ mkdir -p $out/share/fonts/truetype
1818+ cp fonts/*/TTF/*.ttf $out/share/fonts/truetype
1919+ mkdir -p $out/share/fonts/opentype
2020+ cp fonts/*/OTF/*.otf $out/share/fonts/opentype
2121+'';
2222+2323+ meta = with stdenv.lib; {
2424+ homepage = https://black-foundry.com/work/inria;
2525+ description = "Inria Sans and Inria Serif";
2626+ longDescription = ''
2727+ Inria Sans and Inria Serif are the two members of a type family
2828+ design for the communication of Inria, the French national institute
2929+ dedicated to numeric research. The Institut needed a font
3030+ showing its values at the crossroad of humanity, technology,
3131+ excellence and creativity. Black[Foudry] created a humanist
3232+ typeface with a unapologetically contemporary design as the
3333+ Sans-serif part and a more rational axis and drawing for the
3434+ serif. Both members comes in 3 weights with matching italics.
3535+ '';
3636+ license = licenses.ofl;
3737+ maintainers = with maintainers; [ leenaars ];
3838+ platforms = platforms.all;
3939+ };
4040+}
···28282929 # They use 'install -s', that calls the native strip instead of the cross
3030 postConfigure = ''
3131- sed -i "s/-c -s/-c -s --strip-program=''${STRIP@Q}" ports.mk
3131+ sed -i "s/-c -s/-c -s --strip-program=''${STRIP@Q}/" ports.mk
3232 '';
33333434 meta = with stdenv.lib; {
···11+{ stdenv }:
22+33+# This tests that libraries listed in LD_LIBRARY_PATH take precedence over those listed in RPATH.
44+55+let
66+ # A simple test library: libgreeting.so which exports a single function getGreeting() returning the good old hello greeting.
77+ libgreeting = stdenv.mkDerivation {
88+ name = "libgreeting";
99+1010+ code = ''
1111+ const char* getGreeting() { return "Hello, world!"; }
1212+ '';
1313+1414+ unpackPhase = ''
1515+ echo "$code" > libgreeting.c
1616+ '';
1717+1818+ installPhase = ''
1919+ mkdir -p $out/lib
2020+ $CC -c -fpic libgreeting.c
2121+ $CC -shared libgreeting.o -o $out/lib/libgreeting.so
2222+ '';
2323+ };
2424+2525+ # A variant of libgreeting.so that returns a different message.
2626+ libgoodbye = libgreeting.overrideAttrs (_: {
2727+ name = "libgoodbye";
2828+ code = ''
2929+ const char* getGreeting() { return "Goodbye, world!"; }
3030+ '';
3131+ });
3232+3333+ # A simple consumer of libgreeting.so that just prints the greeting to stdout.
3434+ testProgram = stdenv.mkDerivation {
3535+ name = "greeting-test";
3636+3737+ buildInputs = [ libgreeting ];
3838+3939+ code = ''
4040+ #include <stdio.h>
4141+4242+ extern const char* getGreeting(void);
4343+4444+ int main() {
4545+ puts(getGreeting());
4646+ }
4747+ '';
4848+4949+ unpackPhase = ''
5050+ echo "$code" > greeting-test.c
5151+ '';
5252+5353+ installPhase = ''
5454+ mkdir -p $out/bin
5555+ $CC -c greeting-test.c
5656+ $CC greeting-test.o -lgreeting -o $out/bin/greeting-test
5757+5858+ # Now test the installed binaries right after compiling them. In particular,
5959+ # don't do this in installCheckPhase because fixupPhase has been run by then!
6060+ (
6161+ export PATH=$out/bin
6262+ set -x
6363+6464+ # Verify that our unmodified binary works as expected.
6565+ [ "$(greeting-test)" = "Hello, world!" ]
6666+6767+ # And finally, test that a library in LD_LIBRARY_PATH takes precedence over the linked-in library.
6868+ [ "$(LD_LIBRARY_PATH=${libgoodbye}/lib greeting-test)" = "Goodbye, world!" ]
6969+ )
7070+ '';
7171+7272+ };
7373+in stdenv.mkDerivation {
7474+ name = "test-LD_LIBRARY_PATH";
7575+ nativeBuildInputs = [ testProgram ];
7676+7777+ buildCommand = ''
7878+ # And for good measure, repeat the tests again from a separate derivation,
7979+ # as fixupPhase done by the stdenv can (and has!) affect the result.
8080+8181+ [ "$(greeting-test)" = "Hello, world!" ]
8282+ [ "$(LD_LIBRARY_PATH=${libgoodbye}/lib greeting-test)" = "Goodbye, world!" ]
8383+8484+ touch $out
8585+ '';
8686+8787+ meta.platforms = stdenv.lib.platforms.linux;
8888+}
+2-2
pkgs/tools/filesystems/glusterfs/default.nix
···1515 # The command
1616 # find /nix/store/...-glusterfs-.../ -name '*.py' -executable
1717 # can help with finding new Python scripts.
1818- version = "3.12.4";
1818+ version = "3.12.12";
1919 name="${baseName}-${version}";
2020 url="https://github.com/gluster/glusterfs/archive/v${version}.tar.gz";
2121- sha256 = "01gsc3dw491ipl47q733iznddxbg42aa749vkyaq6i6w4d7m157f";
2121+ sha256 = "1q6rcf9y98w3kvgwdlbhl65phkdl0mfil6y7i3gnpf3d21gfb6nw";
2222 };
2323 buildInputs = [
2424 fuse bison flex_2_5_35 openssl ncurses readline
+2-2
pkgs/tools/graphics/argyllcms/default.nix
···22, libXrender, libXext, libtiff, libjpeg, libpng, libXScrnSaver, writeText
33, libXdmcp, libXau, lib, openssl }:
44let
55- version = "2.0.0";
55+ version = "2.0.1";
66 in
77stdenv.mkDerivation rec {
88 name = "argyllcms-${version}";
···1111 # Kind of flacky URL, it was reaturning 406 and inconsistent binaries for a
1212 # while on me. It might be good to find a mirror
1313 url = "https://www.argyllcms.com/Argyll_V${version}_src.zip";
1414- sha256 = "1583hspas7rw5xwrs1rb4yn1yl34wh6lfik6xyszpfv39a2axdxx";
1414+ sha256 = "0a7m5mwvy74db34hvqsgy296469x3139qj5gfj4zqpnz0iyxhkny";
15151616 # The argyllcms web server doesn't like curl ...
1717 curlOpts = "--user-agent 'Mozilla/5.0'";