Merge pull request #7002 from spwhitt/libmad

libmad: build on Darwin

+83 -1
+6 -1
pkgs/development/libraries/libmad/default.nix
··· 8 8 sha256 = "bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690"; 9 9 }; 10 10 11 - patches = [ ./001-mips_removal_h_constraint.patch ./pkgconfig.patch ]; 11 + patches = [ ./001-mips_removal_h_constraint.patch ./pkgconfig.patch ] 12 + # optimize.diff is taken from https://projects.archlinux.org/svntogit/packages.git/tree/trunk/optimize.diff?h=packages/libmad 13 + # It is included here in order to fix a build failure in Clang 14 + # But it may be useful to fix other, currently unknown problems as well 15 + ++ stdenv.lib.optional (stdenv.cc.cc.isClang or false) [ ./optimize.diff ]; 12 16 13 17 nativeBuildInputs = [ autoconf ]; 14 18 ··· 22 26 meta = with stdenv.lib; { 23 27 homepage = http://sourceforge.net/projects/mad/; 24 28 description = "A high-quality, fixed-point MPEG audio decoder supporting MPEG-1 and MPEG-2"; 29 + license = licenses.gpl2; 25 30 maintainers = with maintainers; [ lovek323 ]; 26 31 platforms = platforms.unix; 27 32 };
+77
pkgs/development/libraries/libmad/optimize.diff
··· 1 + Index: libmad-0.15.1b/configure.ac 2 + =================================================================== 3 + --- libmad-0.15.1b.orig/configure.ac 2008-03-07 20:31:23.000000000 +0000 4 + +++ libmad-0.15.1b/configure.ac 2008-03-07 20:34:26.000000000 +0000 5 + @@ -124,71 +124,7 @@ 6 + 7 + if test "$GCC" = yes 8 + then 9 + - if test -z "$arch" 10 + - then 11 + - case "$host" in 12 + - i386-*) ;; 13 + - i?86-*) arch="-march=i486" ;; 14 + - arm*-empeg-*) arch="-march=armv4 -mtune=strongarm1100" ;; 15 + - armv4*-*) arch="-march=armv4 -mtune=strongarm" ;; 16 + - powerpc-*) ;; 17 + - mips*-agenda-*) arch="-mcpu=vr4100" ;; 18 + - mips*-luxsonor-*) arch="-mips1 -mcpu=r3000 -Wa,-m4010" ;; 19 + - esac 20 + - fi 21 + - 22 + - case "$optimize" in 23 + - -O|"-O "*) 24 + - optimize="-O" 25 + - optimize="$optimize -fforce-mem" 26 + - optimize="$optimize -fforce-addr" 27 + - : #x optimize="$optimize -finline-functions" 28 + - : #- optimize="$optimize -fstrength-reduce" 29 + - optimize="$optimize -fthread-jumps" 30 + - optimize="$optimize -fcse-follow-jumps" 31 + - optimize="$optimize -fcse-skip-blocks" 32 + - : #x optimize="$optimize -frerun-cse-after-loop" 33 + - : #x optimize="$optimize -frerun-loop-opt" 34 + - : #x optimize="$optimize -fgcse" 35 + - optimize="$optimize -fexpensive-optimizations" 36 + - optimize="$optimize -fregmove" 37 + - : #* optimize="$optimize -fdelayed-branch" 38 + - : #x optimize="$optimize -fschedule-insns" 39 + - optimize="$optimize -fschedule-insns2" 40 + - : #? optimize="$optimize -ffunction-sections" 41 + - : #? optimize="$optimize -fcaller-saves" 42 + - : #> optimize="$optimize -funroll-loops" 43 + - : #> optimize="$optimize -funroll-all-loops" 44 + - : #x optimize="$optimize -fmove-all-movables" 45 + - : #x optimize="$optimize -freduce-all-givs" 46 + - : #? optimize="$optimize -fstrict-aliasing" 47 + - : #* optimize="$optimize -fstructure-noalias" 48 + - 49 + - case "$host" in 50 + - arm*-*) 51 + - optimize="$optimize -fstrength-reduce" 52 + - ;; 53 + - mips*-*) 54 + - optimize="$optimize -fstrength-reduce" 55 + - optimize="$optimize -finline-functions" 56 + - ;; 57 + - i?86-*) 58 + - optimize="$optimize -fstrength-reduce" 59 + - ;; 60 + - powerpc-apple-*) 61 + - # this triggers an internal compiler error with gcc2 62 + - : #optimize="$optimize -fstrength-reduce" 63 + - 64 + - # this is really only beneficial with gcc3 65 + - : #optimize="$optimize -finline-functions" 66 + - ;; 67 + - *) 68 + - # this sometimes provokes bugs in gcc 2.95.2 69 + - : #optimize="$optimize -fstrength-reduce" 70 + - ;; 71 + - esac 72 + - ;; 73 + - esac 74 + + optimize="-O2" 75 + fi 76 + 77 + case "$host" in