Author: viric
Date: Wed Sep  1 08:34:34 2010
New Revision: 23575
URL: https://svn.nixos.org/websvn/nix/?rev=23575&sc=1

Log:
Making alsa build on mips with a patch

Added:
   
nixpkgs/branches/stdenv-updates/pkgs/os-specific/linux/alsa-lib/mips-atomic.patch
Modified:
   nixpkgs/branches/stdenv-updates/pkgs/os-specific/linux/alsa-lib/default.nix

Modified: 
nixpkgs/branches/stdenv-updates/pkgs/os-specific/linux/alsa-lib/default.nix
==============================================================================
--- nixpkgs/branches/stdenv-updates/pkgs/os-specific/linux/alsa-lib/default.nix 
Wed Sep  1 08:34:19 2010        (r23574)
+++ nixpkgs/branches/stdenv-updates/pkgs/os-specific/linux/alsa-lib/default.nix 
Wed Sep  1 08:34:34 2010        (r23575)
@@ -39,5 +39,10 @@
        See http://thread.gmane.org/gmane.linux.distributions.nixos/3435
     */
     ./alsa-plugin-dirs.patch
+
+    /* patch provided by larsc on irc.
+       it may be a compiler problem on mips; without this, alsa does not build
+       on mips, because lacks some symbols atomic_add/atomic_sub  */
+    ./mips-atomic.patch
   ];
 }

Added: 
nixpkgs/branches/stdenv-updates/pkgs/os-specific/linux/alsa-lib/mips-atomic.patch
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ 
nixpkgs/branches/stdenv-updates/pkgs/os-specific/linux/alsa-lib/mips-atomic.patch
   Wed Sep  1 08:34:34 2010        (r23575)
@@ -0,0 +1,39 @@
+diff --git a/include/iatomic.h b/include/iatomic.h
+index e92dbfd..364bc5c 100644
+--- a/include/iatomic.h
++++ b/include/iatomic.h
+@@ -720,7 +720,7 @@ typedef struct { volatile int counter; } atomic_t;
+  * Atomically adds @i to @v.  Note that the guaranteed useful range
+  * of an atomic_t is only 24 bits.
+  */
+-extern __inline__ void atomic_add(int i, atomic_t * v)
++static __inline__ void atomic_add(int i, atomic_t * v)
+ {
+       unsigned long temp;
+ 
+@@ -744,7 +744,7 @@ extern __inline__ void atomic_add(int i, atomic_t * v)
+  * Atomically subtracts @i from @v.  Note that the guaranteed
+  * useful range of an atomic_t is only 24 bits.
+  */
+-extern __inline__ void atomic_sub(int i, atomic_t * v)
++static __inline__ void atomic_sub(int i, atomic_t * v)
+ {
+       unsigned long temp;
+ 
+@@ -763,7 +763,7 @@ extern __inline__ void atomic_sub(int i, atomic_t * v)
+ /*
+  * Same as above, but return the result value
+  */
+-extern __inline__ int atomic_add_return(int i, atomic_t * v)
++static __inline__ int atomic_add_return(int i, atomic_t * v)
+ {
+       unsigned long temp, result;
+ 
+@@ -784,7 +784,7 @@ extern __inline__ int atomic_add_return(int i, atomic_t * 
v)
+       return result;
+ }
+ 
+-extern __inline__ int atomic_sub_return(int i, atomic_t * v)
++static __inline__ int atomic_sub_return(int i, atomic_t * v)
+ {
+       unsigned long temp, result;
_______________________________________________
nix-commits mailing list
[email protected]
http://mail.cs.uu.nl/mailman/listinfo/nix-commits

Reply via email to