diff --git a/pkgs/development/libraries/libsbsms/common.nix b/pkgs/development/libraries/libsbsms/common.nix new file mode 100644 index 000000000000..f206f68de42a --- /dev/null +++ b/pkgs/development/libraries/libsbsms/common.nix @@ -0,0 +1,36 @@ +{ lib +, stdenv +, fetchurl +, substituteAll +, pname +, version +, url +, sha256 +, homepage +}: + +stdenv.mkDerivation rec { + inherit pname version; + + src = fetchurl { + inherit url sha256; + }; + + patches = [ + # Fix buidling on platforms other than x86 + (substituteAll { + src = ./configure.patch; + msse = lib.optionalString stdenv.isx86_64 "-msse"; + }) + ]; + + doCheck = true; + + meta = { + inherit homepage; + description = "Subband sinusoidal modeling library for time stretching and pitch scaling audio"; + maintainers = with lib.maintainers; [ yuu ]; + license = lib.licenses.gpl2; + platforms = lib.platforms.all; + }; +} diff --git a/pkgs/development/libraries/libsbsms/configure.patch b/pkgs/development/libraries/libsbsms/configure.patch new file mode 100644 index 000000000000..cfb9d2d08e6b --- /dev/null +++ b/pkgs/development/libraries/libsbsms/configure.patch @@ -0,0 +1,22 @@ +diff --git a/configure b/configure +index 3d40335..faa3ac6 100755 +--- a/configure ++++ b/configure +@@ -14722,7 +14722,7 @@ if ${ax_cv_cxx_flags__msse+:} false; then : + else + + ax_save_FLAGS=$CXXFLAGS +- CXXFLAGS="-msse" ++ CXXFLAGS="@msse@" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +@@ -14747,7 +14747,7 @@ eval ax_check_compiler_flags=$ax_cv_cxx_flags__msse + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_check_compiler_flags" >&5 + $as_echo "$ax_check_compiler_flags" >&6; } + if test "x$ax_check_compiler_flags" = xyes; then +- SBSMS_CFLAGS="$SBSMS_CFLAGS -msse" ++ SBSMS_CFLAGS="$SBSMS_CFLAGS @msse@" + else + as_fn_error $? "Need a version of gcc with -msse" "$LINENO" 5 + fi diff --git a/pkgs/development/libraries/libsbsms/default.nix b/pkgs/development/libraries/libsbsms/default.nix new file mode 100644 index 000000000000..6c014ea6223c --- /dev/null +++ b/pkgs/development/libraries/libsbsms/default.nix @@ -0,0 +1,22 @@ +let + pname = "libsbsms"; +in +pkgs: rec { + libsbsms_2_0_2 = pkgs.callPackage ./common.nix rec { + inherit pname; + version = "2.0.2"; + url = "mirror://sourceforge/sbsms/${pname}-${version}.tar.gz"; + sha256 = "sha256-zqs9lwZkszcFe0a89VKD1Q0ynaY2v4PQ7nw24iNBru4="; + homepage = "https://sourceforge.net/projects/sbsms/files/sbsms"; + }; + + libsbsms_2_3_0 = pkgs.callPackage ./common.nix rec { + inherit pname; + version = "2.3.0"; + url = "https://github.com/claytonotey/${pname}/archive/refs/tags/${version}.tar.gz"; + sha256 = "sha256-T4jRUrwG/tvanV1lUX1AJUpzEMkFBgGpMSIwnUWv0sk="; + homepage = "https://github.com/claytonotey/libsbsms"; + }; + + libsbsms = libsbsms_2_0_2; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 35d58301dd8c..7b31c54184d0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4074,6 +4074,12 @@ with pkgs; libpinyin = callPackage ../development/libraries/libpinyin { }; + inherit (import ../development/libraries/libsbsms pkgs) + libsbsms + libsbsms_2_0_2 + libsbsms_2_3_0 + ; + libskk = callPackage ../development/libraries/libskk { inherit (gnome) gnome-common; };