nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchfossil,
5 fetchpatch2,
6 docutils,
7 pkg-config,
8 freetype,
9 pango,
10 testers,
11}:
12
13stdenv.mkDerivation (finalAttrs: {
14 pname = "abcm2ps";
15 version = "8.14.17";
16
17 src = fetchfossil {
18 url = "https://chiselapp.com/user/moinejf/repository/abcm2ps";
19 rev = "v${finalAttrs.version}";
20 hash = "sha256-YA36wfj7owKu/KyWgCj6U8EJEh831cFtQj4/JtH6kVg=";
21 };
22
23 patches = [
24 # fix build with C23
25 # 'bool' is a keyword with '-std=c23' onwards
26 # error: 'bool' cannot be used here
27 (fetchpatch2 {
28 url = "https://salsa.debian.org/debian/abcm2ps/-/raw/f741931567bb8cac8c9ed8e73b7ba838e4c17eb3/debian/patches/c23.diff";
29 hash = "sha256-+2LuHqY5+nWykCYGEOazDeJAf9sggPNp2yiqMQRepfM=";
30 })
31 ];
32
33 configureFlags = [
34 "--INSTALL=install"
35 ];
36
37 nativeBuildInputs = [
38 docutils
39 pkg-config
40 ];
41
42 buildInputs = [
43 freetype
44 pango
45 ];
46
47 passthru.tests = {
48 version = testers.testVersion {
49 package = finalAttrs.finalPackage;
50 command = "abcm2ps -V";
51 };
52 };
53
54 meta = {
55 homepage = "http://moinejf.free.fr/";
56 license = lib.licenses.lgpl3Plus;
57 description = "Command line program which converts ABC to music sheet in PostScript or SVG format";
58 platforms = lib.platforms.unix;
59 maintainers = with lib.maintainers; [ dotlambda ];
60 mainProgram = "abcm2ps";
61 };
62})