diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-11-21 16:12:21 +0100 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-11-21 16:12:48 +0100 |
commit | 048a4cd441a59cbf89defb18bb45c9f0b4429b35 (patch) | |
tree | f8f5850ff05521ab82d65745894714a8796cbfb6 /pkgs/development/ruby-modules | |
parent | 030c5028b07afcedce7c5956015c629486cc79d9 (diff) | |
parent | 4c2d05dd6435d449a3651a6dd314d9411b5f8146 (diff) | |
download | nixpkgs-rootfs.tar nixpkgs-rootfs.tar.gz nixpkgs-rootfs.tar.bz2 nixpkgs-rootfs.tar.lz nixpkgs-rootfs.tar.xz nixpkgs-rootfs.tar.zst nixpkgs-rootfs.zip |
Signed-off-by: Alyssa Ross <hi@alyssa.is>
Diffstat (limited to 'pkgs/development/ruby-modules')
4 files changed, 72 insertions, 4 deletions
diff --git a/pkgs/development/ruby-modules/bundled-common/functions.nix b/pkgs/development/ruby-modules/bundled-common/functions.nix index 746eb2bb112..57a10dadc40 100644 --- a/pkgs/development/ruby-modules/bundled-common/functions.nix +++ b/pkgs/development/ruby-modules/bundled-common/functions.nix @@ -80,6 +80,8 @@ in rec { outputs = [ "out" ]; out = res; outputName = "out"; + suffix = version; + gemType = "path"; }; in res; diff --git a/pkgs/development/ruby-modules/bundler/default.nix b/pkgs/development/ruby-modules/bundler/default.nix index 54842ff6413..c4c3cd8b8d2 100644 --- a/pkgs/development/ruby-modules/bundler/default.nix +++ b/pkgs/development/ruby-modules/bundler/default.nix @@ -4,8 +4,8 @@ buildRubyGem rec { inherit ruby; name = "${gemName}-${version}"; gemName = "bundler"; - version = "2.4.19"; - source.sha256 = "sha256-M03HlkODhHMv3xm/ovYjdTt+2FFg0Izh8gAJmEzvs2I="; + version = "2.4.22"; + source.sha256 = "sha256-dHulCw5n3yXL07SPlYMad6TVOlgdVfBjly/LFG0ULF8="; dontPatchShebangs = true; postFixup = '' diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix index 029329723fc..a380f9734bf 100644 --- a/pkgs/development/ruby-modules/gem-config/default.nix +++ b/pkgs/development/ruby-modules/gem-config/default.nix @@ -22,7 +22,7 @@ , pkg-config , ncurses, xapian, gpgme, util-linux, tzdata, icu, libffi , cmake, libssh2, openssl, openssl_1_1, libmysqlclient, git, perl, pcre, pcre2, gecode_3, curl , msgpack, libsodium, snappy, libossp_uuid, lxc, libpcap, xorg, gtk2, buildRubyGem -, cairo, re2, rake, gobject-introspection, gdk-pixbuf, zeromq, czmq, graphicsmagick, libcxx +, cairo, expat, re2, rake, gobject-introspection, gdk-pixbuf, zeromq, czmq, graphicsmagick, libcxx , file, libvirt, glib, vips, taglib, libopus, linux-pam, libidn, protobuf, fribidi, harfbuzz , bison, flex, pango, python3, patchelf, binutils, freetds, wrapGAppsHook, atk , bundler, libsass, dart-sass, libexif, libselinux, libsepol, shared-mime-info, libthai, libdatrie @@ -76,7 +76,7 @@ in cairo-gobject = attrs: { nativeBuildInputs = [ pkg-config ] ++ lib.optionals stdenv.isDarwin [ DarwinTools ]; - buildInputs = [ cairo pcre2 xorg.libpthreadstubs xorg.libXdmcp ]; + buildInputs = [ cairo expat pcre2 xorg.libpthreadstubs xorg.libXdmcp ]; }; charlock_holmes = attrs: { @@ -334,6 +334,13 @@ in ''; }; + google-protobuf = attrs: + lib.optionalAttrs (lib.versionAtLeast attrs.version "3.25.0") { + # Fails on 3.25.0 with: + # convert.c:312:32: error: format string is not a string literal (potentially insecure) [-Werror,-Wformat-security] + hardeningDisable = [ "format" ]; + }; + grpc = attrs: { nativeBuildInputs = [ pkg-config ] ++ lib.optional stdenv.isDarwin cctools @@ -369,7 +376,12 @@ in }; iconv = attrs: { + dontBuild = false; buildFlags = lib.optional stdenv.isDarwin "--with-iconv-dir=${libiconv}"; + patches = [ + # Fix incompatible function pointer conversion errors with clang 16 + ./iconv-fix-incompatible-function-pointer-conversions.patch + ]; }; idn-ruby = attrs: { @@ -630,6 +642,9 @@ in re2 = attrs: { buildInputs = [ re2 ]; + buildFlags = [ + "--enable-system-libraries" + ]; }; rest-client = attrs: { diff --git a/pkgs/development/ruby-modules/gem-config/iconv-fix-incompatible-function-pointer-conversions.patch b/pkgs/development/ruby-modules/gem-config/iconv-fix-incompatible-function-pointer-conversions.patch new file mode 100644 index 00000000000..1cc38cbae13 --- /dev/null +++ b/pkgs/development/ruby-modules/gem-config/iconv-fix-incompatible-function-pointer-conversions.patch @@ -0,0 +1,51 @@ +diff --git a/ext/iconv/iconv.c b/ext/iconv/iconv.c +index 2801049..77fae7e 100644 +--- a/ext/iconv/iconv.c ++++ b/ext/iconv/iconv.c +@@ -188,7 +188,7 @@ static VALUE iconv_convert _((iconv_t cd, VALUE str, long start, long length, in + static VALUE iconv_s_allocate _((VALUE klass)); + static VALUE iconv_initialize _((int argc, VALUE *argv, VALUE self)); + static VALUE iconv_s_open _((int argc, VALUE *argv, VALUE self)); +-static VALUE iconv_s_convert _((struct iconv_env_t* env)); ++static VALUE iconv_s_convert _((VALUE env)); + static VALUE iconv_s_iconv _((int argc, VALUE *argv, VALUE self)); + static VALUE iconv_init_state _((VALUE cd)); + static VALUE iconv_finish _((VALUE self)); +@@ -204,7 +204,7 @@ static VALUE charset_map; + * Returns the map from canonical name to system dependent name. + */ + static VALUE +-charset_map_get(void) ++charset_map_get(VALUE klass) + { + return charset_map; + } +@@ -642,7 +642,7 @@ iconv_s_allocate(VALUE klass) + } + + static VALUE +-get_iconv_opt_i(VALUE i, VALUE arg) ++get_iconv_opt_i(RB_BLOCK_CALL_FUNC_ARGLIST(i, arg)) + { + VALUE name; + #if defined ICONV_SET_TRANSLITERATE || defined ICONV_SET_DISCARD_ILSEQ +@@ -784,8 +784,9 @@ iconv_s_open(int argc, VALUE *argv, VALUE self) + } + + static VALUE +-iconv_s_convert(struct iconv_env_t* env) ++iconv_s_convert(VALUE env_value) + { ++ struct iconv_env_t* env = (struct iconv_env_t*)env_value; + VALUE last = 0; + + for (; env->argc > 0; --env->argc, ++env->argv) { +@@ -906,7 +907,7 @@ list_iconv(unsigned int namescount, const char *const *names, void *data) + + #if defined(HAVE_ICONVLIST) || defined(HAVE___ICONV_FREE_LIST) + static VALUE +-iconv_s_list(void) ++iconv_s_list(VALUE klass) + { + #ifdef HAVE_ICONVLIST + int state; |