diff --git a/lib/maintainers.nix b/lib/maintainers.nix index ad205207abc9..a3e397f2173b 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -336,6 +336,7 @@ michaelpj = "Michael Peyton Jones "; michalrus = "Michal Rus "; michelk = "Michel Kuhlmann "; + midchildan = "midchildan "; mikefaille = "Michaƫl Faille "; miltador = "Vasiliy Solovey "; mimadrid = "Miguel Madrid "; diff --git a/pkgs/applications/networking/instant-messengers/mikutter/Gemfile b/pkgs/applications/networking/instant-messengers/mikutter/Gemfile new file mode 100644 index 000000000000..66b17ff87607 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/mikutter/Gemfile @@ -0,0 +1,37 @@ +alias __source_distinct__ source +def source(url) + @loaded ||= {} + unless @loaded[url] + @loaded[url] = true + __source_distinct__(url) end end + +source 'https://rubygems.org' + +group :default do + gem 'oauth', '>= 0.5.1' + gem 'json_pure', '~> 1.8' + gem 'addressable', '~> 2.3' + gem 'memoist', '~> 0.14' + gem 'ruby-hmac', '~> 0.4' + gem 'typed-array', '~> 0.1' + gem 'delayer', '~> 0.0' + gem 'pluggaloid', '>= 1.1.1', '< 2.0' + gem 'delayer-deferred', '>= 1.0.4', '< 2.0' + gem 'twitter-text', '1.14.2' +end + +group :test do + gem 'test-unit', '~> 3.0' + gem 'rake', '~> 10.1' + gem 'watch', '~> 0.1' + gem 'mocha', '~> 0.14' + gem 'webmock', '~> 1.17' + gem 'ruby-prof' +end + + +group :plugin do + Dir.glob(File.expand_path(File.join(File.dirname(__FILE__), "core/plugin/*/Gemfile"))){ |path| + eval File.open(path).read + } +end diff --git a/pkgs/applications/networking/instant-messengers/mikutter/Gemfile.lock b/pkgs/applications/networking/instant-messengers/mikutter/Gemfile.lock new file mode 100644 index 000000000000..58f41087919e --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/mikutter/Gemfile.lock @@ -0,0 +1,104 @@ +GEM + remote: https://rubygems.org/ + specs: + addressable (2.5.1) + public_suffix (~> 2.0, >= 2.0.2) + atk (3.1.1) + glib2 (= 3.1.1) + cairo (1.15.7) + native-package-installer + pkg-config (>= 1.1.5) + crack (0.4.3) + safe_yaml (~> 1.0.0) + delayer (0.0.2) + delayer-deferred (1.1.1) + delayer (>= 0.0.2, < 0.1) + gdk_pixbuf2 (3.1.1) + gio2 (= 3.1.1) + gettext (3.0.9) + locale (>= 2.0.5) + text + gio2 (3.1.1) + glib2 (= 3.1.1) + gobject-introspection (= 3.1.1) + glib2 (3.1.1) + pkg-config + gobject-introspection (3.1.1) + glib2 (= 3.1.1) + gtk2 (3.1.1) + atk (= 3.1.1) + gdk_pixbuf2 (= 3.1.1) + pango (= 3.1.1) + hashdiff (0.3.4) + httpclient (2.8.3) + instance_storage (1.0.0) + json_pure (1.8.6) + locale (2.1.2) + memoist (0.15.0) + metaclass (0.0.4) + mini_portile2 (2.1.0) + mocha (0.14.0) + metaclass (~> 0.0.1) + moneta (1.0.0) + native-package-installer (1.0.1) + nokogiri (1.7.2) + mini_portile2 (~> 2.1.0) + oauth (0.5.1) + pango (3.1.1) + cairo (>= 1.14.0) + glib2 (= 3.1.1) + pkg-config (1.2.0) + pluggaloid (1.1.1) + delayer + instance_storage (>= 1.0.0, < 2.0.0) + power_assert (1.0.2) + public_suffix (2.0.5) + rake (10.5.0) + ruby-hmac (0.4.0) + ruby-prof (0.16.2) + safe_yaml (1.0.4) + test-unit (3.2.3) + power_assert + text (1.3.1) + totoridipjp (0.1.0) + twitter-text (1.14.2) + unf (~> 0.1.0) + typed-array (0.1.2) + unf (0.1.4) + unf_ext + unf_ext (0.0.7.4) + watch (0.1.0) + webmock (1.24.6) + addressable (>= 2.3.6) + crack (>= 0.3.2) + hashdiff + +PLATFORMS + ruby + +DEPENDENCIES + addressable (~> 2.3) + delayer (~> 0.0) + delayer-deferred (>= 1.0.4, < 2.0) + gettext (~> 3.0.1) + gtk2 (= 3.1.1) + httpclient + json_pure (~> 1.8) + memoist (~> 0.14) + mocha (~> 0.14) + moneta + nokogiri + oauth (>= 0.5.1) + pluggaloid (>= 1.1.1, < 2.0) + rake (~> 10.1) + ruby-hmac (~> 0.4) + ruby-prof + test-unit (~> 3.0) + totoridipjp + twitter-text (= 1.14.2) + typed-array (~> 0.1) + watch (~> 0.1) + webmock (~> 1.17) + +BUNDLED WITH + 1.14.4 diff --git a/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/gtk/Gemfile b/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/gtk/Gemfile new file mode 100644 index 000000000000..4015fbec1bc9 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/gtk/Gemfile @@ -0,0 +1,3 @@ +source 'https://rubygems.org' + +gem 'gtk2', '3.1.1' diff --git a/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/image_file_cache/Gemfile b/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/image_file_cache/Gemfile new file mode 100644 index 000000000000..f86005fef078 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/image_file_cache/Gemfile @@ -0,0 +1 @@ +gem 'moneta' diff --git a/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/photo_support/Gemfile b/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/photo_support/Gemfile new file mode 100644 index 000000000000..ee2ecf52d42e --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/photo_support/Gemfile @@ -0,0 +1,5 @@ +source 'https://rubygems.org' + +gem 'nokogiri' +gem 'httpclient' +gem 'totoridipjp' diff --git a/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/uitranslator/Gemfile b/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/uitranslator/Gemfile new file mode 100644 index 000000000000..1625327f16dc --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/mikutter/core/plugin/uitranslator/Gemfile @@ -0,0 +1,5 @@ +source 'https://rubygems.org' + +group :default do + gem 'gettext', '~> 3.0.1' +end diff --git a/pkgs/applications/networking/instant-messengers/mikutter/default.nix b/pkgs/applications/networking/instant-messengers/mikutter/default.nix new file mode 100644 index 000000000000..4d69c5501e6b --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/mikutter/default.nix @@ -0,0 +1,63 @@ +{ stdenv, fetchurl +, bundlerEnv, ruby, pkgconfig +, alsaUtils, libnotify, which, wrapGAppsHook, gtk2 +}: + +stdenv.mkDerivation rec { + name = "mikutter-${version}"; + version = "3.5.7"; + + src = fetchurl { + url = "https://mikutter.hachune.net/bin/mikutter.${version}.tar.gz"; + sha256 = "1vh5ap92q869j69hmmbznailaflmdp0km4sqdv06cpq7v8pwm28w"; + }; + + env = bundlerEnv { + name = "mikutter-${version}-gems"; + gemdir = ./.; + + inherit ruby; + }; + + buildInputs = [ alsaUtils libnotify which gtk2 ruby ]; + nativeBuildInputs = [ wrapGAppsHook ]; + + postUnpack = '' + rm -rf $sourceRoot/vendor + ''; + + installPhase = '' + install -v -D -m644 README $out/share/doc/mikutter/README + install -v -D -m644 LICENSE $out/share/doc/mikutter/LICENSE + rm -v README LICENSE + + cp -rv . $out + mkdir $out/bin/ + # hack wrapGAppsHook wants a file not a symlink + mv $out/mikutter.rb $out/bin/mikutter + + gappsWrapperArgs+=( + --prefix PATH : "${ruby}/bin:${alsaUtils}/bin:${libnotify}/bin" + --prefix GEM_HOME : "${env}/${env.ruby.gemPath}" + --set DISABLE_BUNDLER_SETUP 1 + ) + + mkdir -p $out/share/mikutter $out/share/applications + ln -sv $out/core/skin $out/share/mikutter/skin + substituteAll ${./mikutter.desktop} $out/share/applications/mikutter.desktop + ''; + + postFixup = '' + mv $out/bin/.mikutter-wrapped $out/mikutter.rb + substituteInPlace $out/bin/mikutter \ + --replace "$out/bin/.mikutter-wrapped" "$out/mikutter.rb" + ''; + + meta = with stdenv.lib; { + description = "An extensible Twitter client"; + homepage = "https://mikutter.hachune.net"; + maintainers = with maintainers; [ midchildan ]; + platforms = ruby.meta.platforms; + license = licenses.mit; + }; +} diff --git a/pkgs/applications/networking/instant-messengers/mikutter/gemset.nix b/pkgs/applications/networking/instant-messengers/mikutter/gemset.nix new file mode 100644 index 000000000000..d6d99f3d55b7 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/mikutter/gemset.nix @@ -0,0 +1,365 @@ +{ + addressable = { + dependencies = ["public_suffix"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1i8q32a4gr0zghxylpyy7jfqwxvwrivsxflg9mks6kx92frh75mh"; + type = "gem"; + }; + version = "2.5.1"; + }; + atk = { + dependencies = ["glib2"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "17x88g596s3pqfxplm5ia7anpcmd9kxs4nzmpf2h74bqwkbq2jrz"; + type = "gem"; + }; + version = "3.1.1"; + }; + cairo = { + dependencies = ["native-package-installer" "pkg-config"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "115ksrswbs7pg7kdfi2w8bi9xxv9gzmfvcjj8qj4dxy8dkvp3k4d"; + type = "gem"; + }; + version = "1.15.7"; + }; + crack = { + dependencies = ["safe_yaml"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0abb0fvgw00akyik1zxnq7yv391va148151qxdghnzngv66bl62k"; + type = "gem"; + }; + version = "0.4.3"; + }; + delayer = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "156vy4x1d2jgafkjaafzfz7g8ghl4p5zgbl859b8slp4wdxy3v1r"; + type = "gem"; + }; + version = "0.0.2"; + }; + delayer-deferred = { + dependencies = ["delayer"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1bw48i6qbxmjf2al4a0mw23nlkcrjrwsrdrabbwz62v8sdmdynpc"; + type = "gem"; + }; + version = "1.1.1"; + }; + gdk_pixbuf2 = { + dependencies = ["gio2"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0x9fzsazfi6f3iq7zkqc0vjl6311876dvff0000vg41rajv3rhh1"; + type = "gem"; + }; + version = "3.1.1"; + }; + gettext = { + dependencies = ["locale" "text"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "14vw306p46w2kyad3kp9vq56zw3ch6px30wkhl5x0qkx8d3ya3ir"; + type = "gem"; + }; + version = "3.0.9"; + }; + gio2 = { + dependencies = ["glib2" "gobject-introspection"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ki9yxp860xk5cf04hrgvh386n93bkr0pf4c0kl3fx6pnwr4w3v0"; + type = "gem"; + }; + version = "3.1.1"; + }; + glib2 = { + dependencies = ["pkg-config"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "131jd26n2wwp2lrkyyfq5nb3qriasaym1zpygm991qzcaq79i444"; + type = "gem"; + }; + version = "3.1.1"; + }; + gobject-introspection = { + dependencies = ["glib2"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0fbi1pxyq73d674cwznya6kda38yjp4ahc2xgxi9shsdqmqcx3vs"; + type = "gem"; + }; + version = "3.1.1"; + }; + gtk2 = { + dependencies = ["atk" "gdk_pixbuf2" "pango"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00cbfl306xkglk0cc758vsvv1saaa24gvwh0m2jnzwgfwxk7mc5w"; + type = "gem"; + }; + version = "3.1.1"; + }; + hashdiff = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1n6hj7k7b9hazac0j48ypbak2nqi5wy4nh5cjra6xl3a92r8db0a"; + type = "gem"; + }; + version = "0.3.4"; + }; + httpclient = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99"; + type = "gem"; + }; + version = "2.8.3"; + }; + instance_storage = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "08nf5fhq9dckq9lmaklxydq0hrlfi7phk66gr3bggxg45zd687pl"; + type = "gem"; + }; + version = "1.0.0"; + }; + json_pure = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1vllrpm2hpsy5w1r7000mna2mhd7yfrmd8hi713lk0n9mv27bmam"; + type = "gem"; + }; + version = "1.8.6"; + }; + locale = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1sls9bq4krx0fmnzmlbn64dw23c4d6pz46ynjzrn9k8zyassdd0x"; + type = "gem"; + }; + version = "2.1.2"; + }; + memoist = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0yd3rd7bnbhn9n47qlhcii5z89liabdjhy3is3h6gq77gyfk4f5q"; + type = "gem"; + }; + version = "0.15.0"; + }; + metaclass = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0hp99y2b1nh0nr8pc398n3f8lakgci6pkrg4bf2b2211j1f6hsc5"; + type = "gem"; + }; + version = "0.0.4"; + }; + mini_portile2 = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1y25adxb1hgg1wb2rn20g3vl07qziq6fz364jc5694611zz863hb"; + type = "gem"; + }; + version = "2.1.0"; + }; + mocha = { + dependencies = ["metaclass"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0id1x7g46fzy8f4jna20ys329ydaj3sad75qs9db2a6nd7f0zc2b"; + type = "gem"; + }; + version = "0.14.0"; + }; + moneta = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0pgwn6xnlh7vviy511mfgkv2j3sfihn5ic2zabmyrs2nh6kfa912"; + type = "gem"; + }; + version = "1.0.0"; + }; + native-package-installer = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zh5x87y9dr16ic7vif2c3rnpr5k5wfs6kihpy4dnb9s0mqyqhsj"; + type = "gem"; + }; + version = "1.0.1"; + }; + nokogiri = { + dependencies = ["mini_portile2"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0jd8q3pr5rkrxx1vklvhcqcgl8kmfv5c8ny36ni3z5mirw6cm70c"; + type = "gem"; + }; + version = "1.7.2"; + }; + oauth = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1awhy8ddhixch44y68lail3h1d214rnl3y1yzk0msq5g4z2l62ky"; + type = "gem"; + }; + version = "0.5.1"; + }; + pango = { + dependencies = ["cairo" "glib2"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "18cc24lz4dmb7pavfspivbhbsypf40fhcbdzj8885zs0zr0dknby"; + type = "gem"; + }; + version = "3.1.1"; + }; + pkg-config = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0fklf2dnk354ahxma3iki5cx7b8yn9khby162pz17z6f1f3xk84g"; + type = "gem"; + }; + version = "1.2.0"; + }; + pluggaloid = { + dependencies = ["delayer" "instance_storage"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0p9s1bzw02jzjlpjpxsbfsy1cyfbqs10iqvhxqh4xgyh72nry9zr"; + type = "gem"; + }; + version = "1.1.1"; + }; + power_assert = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "168ac459nv45a2lhdf86zv35lv9nr569ny5nh3kfnglnxyzyx0kr"; + type = "gem"; + }; + version = "1.0.2"; + }; + public_suffix = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "040jf98jpp6w140ghkhw2hvc1qx41zvywx5gj7r2ylr1148qnj7q"; + type = "gem"; + }; + version = "2.0.5"; + }; + rake = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0jcabbgnjc788chx31sihc5pgbqnlc1c75wakmqlbjdm8jns2m9b"; + type = "gem"; + }; + version = "10.5.0"; + }; + ruby-hmac = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01zym41f8fqbmxfz8zv19627swi62ka3gp33bfbkc87v5k7mw954"; + type = "gem"; + }; + version = "0.4.0"; + }; + ruby-prof = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0y13gdcdajfgrkx5rc9pvb7bwkyximwl5yrhq05gkmhflzdr7kag"; + type = "gem"; + }; + version = "0.16.2"; + }; + safe_yaml = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094"; + type = "gem"; + }; + version = "1.0.4"; + }; + test-unit = { + dependencies = ["power_assert"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1kngxp21sqbm7kv7wnxfqk99ik3wv1bjab519vcbj8xj30a5y4py"; + type = "gem"; + }; + version = "3.2.3"; + }; + text = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1x6kkmsr49y3rnrin91rv8mpc3dhrf3ql08kbccw8yffq61brfrg"; + type = "gem"; + }; + version = "1.3.1"; + }; + totoridipjp = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "03ci9hbwc6xf4x0lkm6px4jgbmi37n8plsjhbf2ir5vka9f29lck"; + type = "gem"; + }; + version = "0.1.0"; + }; + twitter-text = { + dependencies = ["unf"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0lld6d8rzj1zrgs6b227mp675bn8ds56f1c9w9wvx321f6ibn6np"; + type = "gem"; + }; + version = "1.14.2"; + }; + typed-array = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0qlv2rnkin9rwkgjx3k5qvc17m0m7jf5cdirw3wxbjnw5kga27w9"; + type = "gem"; + }; + version = "0.1.2"; + }; + unf = { + dependencies = ["unf_ext"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9"; + type = "gem"; + }; + version = "0.1.4"; + }; + unf_ext = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "14hr2dzqh33kqc0xchs8l05pf3kjcayvad4z1ip5rdjxrkfk8glb"; + type = "gem"; + }; + version = "0.0.7.4"; + }; + watch = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "02g4g6ynnldyjjzrh19r584gj4z6ksff7h0ajz5jdwhpp5y7cghx"; + type = "gem"; + }; + version = "0.1.0"; + }; + webmock = { + dependencies = ["addressable" "crack" "hashdiff"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "03vlr6axajz6c7xmlk0w1kvkxc92f8y2zp27wq1z6yk916ry25n5"; + type = "gem"; + }; + version = "1.24.6"; + }; +} \ No newline at end of file diff --git a/pkgs/applications/networking/instant-messengers/mikutter/mikutter.desktop b/pkgs/applications/networking/instant-messengers/mikutter/mikutter.desktop new file mode 100644 index 000000000000..092f5f35cbf8 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/mikutter/mikutter.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=mikutter +Comment=Twitter Client +Type=Application +Exec=@out@/bin/mikutter +Icon=@out@/core/skin/data/icon.png +Terminal=false +Categories=Network; +Keywords=Twitter; diff --git a/pkgs/applications/networking/instant-messengers/mikutter/shell.nix b/pkgs/applications/networking/instant-messengers/mikutter/shell.nix new file mode 100644 index 000000000000..efa57175b237 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/mikutter/shell.nix @@ -0,0 +1,17 @@ +{ pkgs ? import {} }: + +pkgs.stdenv.mkDerivation { + name = "mikutter-shell"; + buildInputs = with pkgs; [ + bundix + bundler + ]; + + shellHook = '' + truncate --size 0 Gemfile.lock + bundle lock + bundle package --path=vendor/bundle --no-install + rm -rf vendor .bundle + bundix -d + ''; +} diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix index 987d61f2e336..204c74436008 100644 --- a/pkgs/development/ruby-modules/gem-config/default.nix +++ b/pkgs/development/ruby-modules/gem-config/default.nix @@ -20,8 +20,8 @@ { lib, fetchurl, writeScript, ruby, kerberos, libxml2, libxslt, python, stdenv, which , libiconv, postgresql, v8_3_16_14, clang, sqlite, zlib, imagemagick , pkgconfig , ncurses, xapian_1_2_22, gpgme, utillinux, fetchpatch, tzdata, icu, libffi -, cmake, libssh2, openssl, mysql, darwin, git, perl, gecode_3, curl -, libmsgpack, qt48, libsodium, snappy, libossp_uuid, lxc, libpcap, buildRubyGem +, cmake, libssh2, openssl, mysql, darwin, git, perl, pcre, gecode_3, curl +, libmsgpack, qt48, libsodium, snappy, libossp_uuid, lxc, libpcap, xlibs, gtk2, buildRubyGem }@args: let @@ -38,6 +38,8 @@ let in { + atk = attrs: { buildInputs = [ gtk2 pcre pkgconfig ]; }; + bundler = attrs: let templates = "${attrs.ruby.gemPath}/gems/${attrs.gemName}-${attrs.version}/lib/bundler/templates/"; @@ -53,6 +55,10 @@ in ''; }; + cairo = attrs: { + buildInputs = [ gtk2 pcre pkgconfig xlibs.libpthreadstubs xlibs.libXdmcp]; + }; + capybara-webkit = attrs: { buildInputs = [ qt48 ]; }; @@ -81,6 +87,18 @@ in buildInputs = [ gpgme ]; }; + gio2 = attrs: { buildInputs = [ gtk2 pcre pkgconfig ]; }; + + glib2 = attrs: { buildInputs = [ gtk2 pcre pkgconfig ]; }; + + gtk2 = attrs: { + buildInputs = [ gtk2 pcre pkgconfig xlibs.libpthreadstubs xlibs.libXdmcp]; + # CFLAGS must be set for this gem to detect gdkkeysyms.h correctly + CFLAGS = "-I${gtk2.dev}/include/gtk-2.0 -I/non-existent-path"; + }; + + gobject-introspection = attrs: { buildInputs = [ gtk2 pcre pkgconfig ]; }; + hitimes = attrs: { buildInputs = stdenv.lib.optionals stdenv.isDarwin @@ -140,6 +158,10 @@ in ] ++ lib.optional stdenv.isDarwin "--with-iconv-dir=${libiconv}"; }; + pango = attrs: { + buildInputs = [ gtk2 xlibs.libXdmcp pcre pkgconfig xlibs.libpthreadstubs ]; + }; + patron = attrs: { buildInputs = [ curl ]; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f88706b61352..239972e57fa0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3038,6 +3038,8 @@ with pkgs; mgba = libsForQt5.callPackage ../misc/emulators/mgba { }; + mikutter = callPackage ../applications/networking/instant-messengers/mikutter { }; + mimeo = callPackage ../tools/misc/mimeo { }; mimetic = callPackage ../development/libraries/mimetic { };