From 62806df678933ec105fd699076db93b9557b43e4 Mon Sep 17 00:00:00 2001 From: midchildan Date: Sun, 18 Apr 2021 02:17:13 +0900 Subject: mikutter: 4.0.0 -> 4.1.4 (#119454) --- .../networking/instant-messengers/mikutter/Gemfile | 39 -- .../instant-messengers/mikutter/Gemfile.lock | 103 ----- .../instant-messengers/mikutter/default.nix | 194 +++++++--- .../instant-messengers/mikutter/deps/Gemfile | 39 ++ .../instant-messengers/mikutter/deps/Gemfile.lock | 101 +++++ .../instant-messengers/mikutter/deps/gemset.nix | 410 ++++++++++++++++++++ .../mikutter/deps/plugin/gtk/Gemfile | 4 + .../mikutter/deps/plugin/image_file_cache/Gemfile | 1 + .../mikutter/deps/plugin/photo_support/Gemfile | 4 + .../mikutter/deps/plugin/uitranslator/Gemfile | 5 + .../instant-messengers/mikutter/gemset.nix | 422 --------------------- .../instant-messengers/mikutter/mikutter.desktop | 9 - .../instant-messengers/mikutter/plugin/gtk/Gemfile | 4 - .../mikutter/plugin/image_file_cache/Gemfile | 1 - .../mikutter/plugin/photo_support/Gemfile | 4 - .../mikutter/plugin/uitranslator/Gemfile | 6 - .../instant-messengers/mikutter/test_plugin.rb | 10 + .../instant-messengers/mikutter/update.sh | 51 +++ .../ruby-modules/gem-config/default.nix | 43 ++- pkgs/top-level/all-packages.nix | 5 +- 20 files changed, 791 insertions(+), 664 deletions(-) delete mode 100644 pkgs/applications/networking/instant-messengers/mikutter/Gemfile delete mode 100644 pkgs/applications/networking/instant-messengers/mikutter/Gemfile.lock create mode 100644 pkgs/applications/networking/instant-messengers/mikutter/deps/Gemfile create mode 100644 pkgs/applications/networking/instant-messengers/mikutter/deps/Gemfile.lock create mode 100644 pkgs/applications/networking/instant-messengers/mikutter/deps/gemset.nix create mode 100644 pkgs/applications/networking/instant-messengers/mikutter/deps/plugin/gtk/Gemfile create mode 100644 pkgs/applications/networking/instant-messengers/mikutter/deps/plugin/image_file_cache/Gemfile create mode 100644 pkgs/applications/networking/instant-messengers/mikutter/deps/plugin/photo_support/Gemfile create mode 100644 pkgs/applications/networking/instant-messengers/mikutter/deps/plugin/uitranslator/Gemfile delete mode 100644 pkgs/applications/networking/instant-messengers/mikutter/gemset.nix delete mode 100644 pkgs/applications/networking/instant-messengers/mikutter/mikutter.desktop delete mode 100644 pkgs/applications/networking/instant-messengers/mikutter/plugin/gtk/Gemfile delete mode 100644 pkgs/applications/networking/instant-messengers/mikutter/plugin/image_file_cache/Gemfile delete mode 100644 pkgs/applications/networking/instant-messengers/mikutter/plugin/photo_support/Gemfile delete mode 100644 pkgs/applications/networking/instant-messengers/mikutter/plugin/uitranslator/Gemfile create mode 100644 pkgs/applications/networking/instant-messengers/mikutter/test_plugin.rb create mode 100755 pkgs/applications/networking/instant-messengers/mikutter/update.sh diff --git a/pkgs/applications/networking/instant-messengers/mikutter/Gemfile b/pkgs/applications/networking/instant-messengers/mikutter/Gemfile deleted file mode 100644 index 216af305b4ad1..0000000000000 --- a/pkgs/applications/networking/instant-messengers/mikutter/Gemfile +++ /dev/null @@ -1,39 +0,0 @@ -alias __source_distinct__ source -def source(url) - @loaded ||= {} - unless @loaded[url] - @loaded[url] = true - __source_distinct__(url) end end - -source 'https://rubygems.org' - -ruby '>= 2.5.0' - -group :default do - gem 'addressable','>= 2.7.0', '< 2.8' - gem 'delayer','>= 1.0.1', '< 1.1' - gem 'delayer-deferred','>= 2.1.1', '< 2.2' - gem 'diva','>= 1.0.1', '< 1.1' - gem 'memoist','>= 0.16.2', '< 0.17' - gem 'oauth','>= 0.5.4' - gem 'pluggaloid','>= 1.2.0', '< 1.3' - gem 'typed-array','>= 0.1.2', '< 0.2' -end - -group :test do - gem 'test-unit','>= 3.3.4', '< 4.0' - gem 'rake','>= 13.0.1' - gem 'mocha','>= 1.11.1' - gem 'webmock','>= 3.7.6' - gem 'ruby-prof','>= 1.1.0' -end - - -group :plugin do - Dir.glob(File.expand_path(File.join(__dir__, 'plugin/*/Gemfile'))){ |path| - eval File.open(path).read - } - Dir.glob(File.join(File.expand_path(ENV['MIKUTTER_CONFROOT'] || '~/.mikutter'), '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 deleted file mode 100644 index 63f9a63849b13..0000000000000 --- a/pkgs/applications/networking/instant-messengers/mikutter/Gemfile.lock +++ /dev/null @@ -1,103 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - addressable (2.7.0) - public_suffix (>= 2.0.2, < 5.0) - atk (3.4.1) - glib2 (= 3.4.1) - cairo (1.16.4) - native-package-installer (>= 1.0.3) - pkg-config (>= 1.2.2) - cairo-gobject (3.4.1) - cairo (>= 1.16.2) - glib2 (= 3.4.1) - crack (0.4.3) - safe_yaml (~> 1.0.0) - delayer (1.0.1) - delayer-deferred (2.1.1) - delayer (>= 1.0, < 2.0) - diva (1.0.1) - addressable (>= 2.5.2, < 2.8) - gdk_pixbuf2 (3.4.1) - gio2 (= 3.4.1) - gettext (3.2.9) - locale (>= 2.0.5) - text (>= 1.3.0) - gio2 (3.4.1) - gobject-introspection (= 3.4.1) - glib2 (3.4.1) - native-package-installer (>= 1.0.3) - pkg-config (>= 1.3.5) - gobject-introspection (3.4.1) - glib2 (= 3.4.1) - gtk2 (3.4.1) - atk (= 3.4.1) - gdk_pixbuf2 (= 3.4.1) - pango (= 3.4.1) - hashdiff (1.0.0) - httpclient (2.8.3) - instance_storage (1.0.0) - io-console (0.5.3) - irb (1.2.1) - reline (>= 0.0.1) - locale (2.1.2) - memoist (0.16.2) - mini_portile2 (2.4.0) - mocha (1.11.1) - moneta (1.2.1) - native-package-installer (1.0.9) - nokogiri (1.10.7) - mini_portile2 (~> 2.4.0) - oauth (0.5.4) - pango (3.4.1) - cairo-gobject (= 3.4.1) - gobject-introspection (= 3.4.1) - pkg-config (1.4.0) - pluggaloid (1.2.0) - delayer (>= 1.0.0, < 2.0) - instance_storage (>= 1.0.0, < 2.0.0) - power_assert (1.1.5) - public_suffix (4.0.1) - rake (13.0.1) - reline (0.1.2) - io-console (~> 0.5) - ruby-prof (1.1.0) - safe_yaml (1.0.5) - test-unit (3.3.4) - power_assert - text (1.3.1) - typed-array (0.1.2) - webmock (3.7.6) - addressable (>= 2.3.6) - crack (>= 0.3.2) - hashdiff (>= 0.4.0, < 2.0.0) - -PLATFORMS - ruby - -DEPENDENCIES - addressable (>= 2.7.0, < 2.8) - delayer (>= 1.0.1, < 1.1) - delayer-deferred (>= 2.1.1, < 2.2) - diva (>= 1.0.1, < 1.1) - gettext (>= 3.2.9, < 3.3) - gtk2 (= 3.4.1) - httpclient - irb (>= 1.2.0, < 1.3) - memoist (>= 0.16.2, < 0.17) - mocha (>= 1.11.1) - moneta - nokogiri - oauth (>= 0.5.4) - pluggaloid (>= 1.2.0, < 1.3) - rake (>= 13.0.1) - ruby-prof (>= 1.1.0) - test-unit (>= 3.3.4, < 4.0) - typed-array (>= 0.1.2, < 0.2) - webmock (>= 3.7.6) - -RUBY VERSION - ruby 2.7.0p0 - -BUNDLED WITH - 2.1.2 diff --git a/pkgs/applications/networking/instant-messengers/mikutter/default.nix b/pkgs/applications/networking/instant-messengers/mikutter/default.nix index be84342787d23..111a3ed091e1f 100644 --- a/pkgs/applications/networking/instant-messengers/mikutter/default.nix +++ b/pkgs/applications/networking/instant-messengers/mikutter/default.nix @@ -1,82 +1,160 @@ -{ lib, stdenv, fetchurl -, bundlerEnv, ruby -, alsaUtils, libnotify, which, wrapGAppsHook, gtk2, atk, gobject-introspection +{ lib +, stdenv +, fetchurl +, bundlerEnv +, alsaUtils +, atk +, copyDesktopItems +, gobject-introspection +, gtk2 +, ruby +, libicns +, libnotify +, makeDesktopItem +, which +, wrapGAppsHook +, writeText }: -# how to update: -# find latest version at: http://mikutter.hachune.net/download#download -# run these commands: -# -# wget http://mikutter.hachune.net/bin/mikutter.4.0.0.tar.gz -# mkdir mikutter -# cd mikutter -# tar xvf ../mikutter.4.0.0.tar.gz -# find . -not -name Gemfile -exec rm {} \; -# find . -type d -exec rmdir -p --ignore-fail-on-non-empty {} \; -# cd .. -# mv mikutter/* . -# rm mikutter.4.0.0.tar.gz -# rm gemset.nix Gemfile.lock; nix-shell -p bundler bundix --run 'bundle lock && bundix' - -stdenv.mkDerivation rec { +let + # NOTE: $out may have different values depending on context + mikutterPaths = rec { + optPrefixDir = "$out/opt/mikutter"; + appPrefixDir = "$out/Applications/mikutter.app/Contents"; + appBinDir = "${appPrefixDir}/MacOS"; + appResourceDir = "${appPrefixDir}/Resources"; + iconPath = "${optPrefixDir}/core/skin/data/icon.png"; + }; + + gems = bundlerEnv { + name = "mikutter-gems"; # leave the version out to enable package reuse + gemdir = ./deps; + groups = [ "default" "plugin" ]; + inherit ruby; + + # Avoid the following error: + # > `': uninitialized constant Moneta::Builder (NameError) + # + # Related: + # https://github.com/NixOS/nixpkgs/pull/76510 + # https://github.com/NixOS/nixpkgs/pull/76765 + # https://github.com/NixOS/nixpkgs/issues/83442 + # https://github.com/NixOS/nixpkgs/issues/106545 + copyGemFiles = true; + }; + + mkDesktopItem = { description }: + makeDesktopItem { + name = "mikutter"; + desktopName = "mikutter"; + exec = "mikutter"; + icon = "mikutter"; + categories = "Network;"; + comment = description; + extraDesktopEntries.Keywords = "Mastodon;"; + }; + + mkInfoPlist = { version }: + writeText "Info.plist" (lib.generators.toPlist { } { + CFBundleName = "mikutter"; + CFBundleDisplayName = "mikutter"; + CFBundleExecutable = "mikutter"; + CFBundleIconFile = "mikutter"; + CFBundleIdentifier = "net.hachune.mikutter"; + CFBundleInfoDictionaryVersion = "6.0"; + CFBundlePackageType = "APPL"; + CFBundleVersion = version; + CFBundleShortVersionString = version; + }); + + inherit (gems) wrappedRuby; +in +with mikutterPaths; stdenv.mkDerivation rec { pname = "mikutter"; - version = "4.0.0"; + version = "4.1.4"; src = fetchurl { - url = "https://mikutter.hachune.net/bin/mikutter.${version}.tar.gz"; - sha256 = "0nx14vlp7p69m2vw0s6kbiyymsfq0r2jd4nm0v5c4xb9avkpgc8g"; + url = "https://mikutter.hachune.net/bin/mikutter-${version}.tar.gz"; + sha256 = "05253nz4i1lmnq6czj48qdab2ny4vx2mznj6nsn2l1m2z6zqkwk3"; }; - buildInputs = [ alsaUtils libnotify which gtk2 ruby atk gobject-introspection ]; - nativeBuildInputs = [ wrapGAppsHook ]; + nativeBuildInputs = [ copyDesktopItems wrapGAppsHook ] + ++ lib.optionals stdenv.isDarwin [ libicns ]; + buildInputs = [ + atk + gtk2 + gobject-introspection + libnotify + which # some plugins use it at runtime + wrappedRuby + ] ++ lib.optionals stdenv.isLinux [ alsaUtils ]; + + scriptPath = lib.makeBinPath ( + [ wrappedRuby libnotify which ] + ++ lib.optionals stdenv.isLinux [ alsaUtils ] + ); - unpackPhase = '' - mkdir source - cd source - unpackFile $src + postUnpack = '' rm -rf vendor ''; - installPhase = let - env = bundlerEnv { - name = "mikutter-${version}-gems"; - gemdir = ./.; + installPhase = '' + runHook preInstall - inherit ruby; - }; - in '' - 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}" + mkdir -p $out/bin ${optPrefixDir} + + install -Dm644 README $out/share/doc/mikutter/README + install -Dm644 LICENSE $out/share/doc/mikutter/LICENSE + rm -r README LICENSE deployment + + cp -r . ${optPrefixDir} + + gappsWrapperArgsHook # FIXME: currently runs at preFixup + wrapGApp ${optPrefixDir}/mikutter.rb \ + --prefix PATH : "${scriptPath}" \ --set DISABLE_BUNDLER_SETUP 1 - ) - # --prefix GIO_EXTRA_MODULES : "$prefix/lib/gio/modules" + mv ${optPrefixDir}/mikutter.rb $out/bin/mikutter + + install -Dm644 ${iconPath} $out/share/icons/hicolor/256x256/apps/mikutter.png - 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 + runHook postInstall ''; - postFixup = '' - mv $out/bin/.mikutter-wrapped $out/mikutter.rb - substituteInPlace $out/bin/mikutter \ - --replace "$out/bin/.mikutter-wrapped" "$out/mikutter.rb" + postInstall = + let + infoPlist = mkInfoPlist { inherit version; }; + in + lib.optionalString stdenv.isDarwin '' + mkdir -p ${appBinDir} ${appResourceDir} + install -Dm644 ${infoPlist} ${appPrefixDir}/Info.plist + ln -s $out/bin/mikutter ${appBinDir}/mikutter + png2icns ${appResourceDir}/mikutter.icns ${iconPath} + ''; + + installCheckPhase = '' + runHook preInstallCheck + + testDir="$(mktemp -d)" + install -Dm644 ${./test_plugin.rb} "$testDir/plugin/test_plugin/test_plugin.rb" + + $out/bin/mikutter --confroot="$testDir" --plugin=test_plugin --debug + + runHook postInstallCheck ''; + desktopItems = [ + (mkDesktopItem { inherit (meta) description; }) + ]; + + doInstallCheck = true; + dontWrapGApps = true; # the target is placed outside of bin/ + + passthru.updateScript = [ ./update.sh version (toString ./.) ]; + meta = with lib; { - description = "An extensible Twitter client"; + description = "An extensible Mastodon client"; homepage = "https://mikutter.hachune.net"; platforms = ruby.meta.platforms; license = licenses.mit; - broken = true; }; } diff --git a/pkgs/applications/networking/instant-messengers/mikutter/deps/Gemfile b/pkgs/applications/networking/instant-messengers/mikutter/deps/Gemfile new file mode 100644 index 0000000000000..fbe6a2f29c5da --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/mikutter/deps/Gemfile @@ -0,0 +1,39 @@ +alias __source_distinct__ source +def source(url) + @loaded ||= {} + unless @loaded[url] + @loaded[url] = true + __source_distinct__(url) end end + +source 'https://rubygems.org' + +ruby '>= 2.5.0' + +group :default do + gem 'addressable','>= 2.7.0', '< 2.8' + gem 'delayer','>= 1.1.2', '< 2.0' + gem 'delayer-deferred','>= 2.2.0', '< 3.0' + gem 'diva','>= 1.0.2', '< 2.0' + gem 'memoist','>= 0.16.2', '< 0.17' + gem 'oauth','>= 0.5.4' + gem 'pluggaloid','>= 1.5.0', '< 2.0' + gem 'typed-array','>= 0.1.2', '< 0.2' +end + +group :test do + gem 'test-unit','>= 3.3.4', '< 4.0' + gem 'rake','>= 13.0.1' + gem 'mocha','>= 1.11.1' + gem 'webmock','>= 3.7.6' + gem 'ruby-prof','>= 1.1.0' +end + + +group :plugin do + Dir.glob(File.expand_path(File.join(__dir__, 'plugin/*/Gemfile'))){ |path| + eval File.open(path).read + } + Dir.glob(File.join(File.expand_path(ENV['MIKUTTER_CONFROOT'] || '~/.mikutter'), 'plugin/*/Gemfile')){ |path| + eval File.open(path).read + } +end diff --git a/pkgs/applications/networking/instant-messengers/mikutter/deps/Gemfile.lock b/pkgs/applications/networking/instant-messengers/mikutter/deps/Gemfile.lock new file mode 100644 index 0000000000000..92568056d52a4 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/mikutter/deps/Gemfile.lock @@ -0,0 +1,101 @@ +GEM + remote: https://rubygems.org/ + specs: + addressable (2.7.0) + public_suffix (>= 2.0.2, < 5.0) + atk (3.4.1) + glib2 (= 3.4.1) + cairo (1.17.5) + native-package-installer (>= 1.0.3) + pkg-config (>= 1.2.2) + red-colors + cairo-gobject (3.4.1) + cairo (>= 1.16.2) + glib2 (= 3.4.1) + crack (0.4.5) + rexml + delayer (1.2.0) + delayer-deferred (2.2.0) + delayer (>= 1.1.2, < 2.0) + diva (1.0.2) + addressable (>= 2.5.2, < 2.8) + gdk_pixbuf2 (3.4.1) + gio2 (= 3.4.1) + gettext (3.3.7) + locale (>= 2.0.5) + text (>= 1.3.0) + gio2 (3.4.1) + gobject-introspection (= 3.4.1) + glib2 (3.4.1) + native-package-installer (>= 1.0.3) + pkg-config (>= 1.3.5) + gobject-introspection (3.4.1) + glib2 (= 3.4.1) + gtk2 (3.4.1) + atk (= 3.4.1) + gdk_pixbuf2 (= 3.4.1) + pango (= 3.4.1) + hashdiff (1.0.1) + httpclient (2.8.3) + instance_storage (1.0.0) + locale (2.1.3) + memoist (0.16.2) + mini_portile2 (2.5.0) + mocha (1.12.0) + moneta (1.4.1) + native-package-installer (1.1.1) + nokogiri (1.11.3) + mini_portile2 (~> 2.5.0) + racc (~> 1.4) + oauth (0.5.6) + pango (3.4.1) + cairo-gobject (= 3.4.1) + gobject-introspection (= 3.4.1) + pkg-config (1.4.6) + pluggaloid (1.5.0) + delayer (>= 1.1.0, < 2.0) + instance_storage (>= 1.0.0, < 2.0.0) + power_assert (2.0.0) + public_suffix (4.0.6) + racc (1.5.2) + rake (13.0.3) + red-colors (0.1.1) + rexml (3.2.5) + ruby-prof (1.4.3) + test-unit (3.4.0) + power_assert + text (1.3.1) + typed-array (0.1.2) + webmock (3.12.2) + addressable (>= 2.3.6) + crack (>= 0.3.2) + hashdiff (>= 0.4.0, < 2.0.0) + +PLATFORMS + ruby + +DEPENDENCIES + addressable (>= 2.7.0, < 2.8) + delayer (>= 1.1.2, < 2.0) + delayer-deferred (>= 2.2.0, < 3.0) + diva (>= 1.0.2, < 2.0) + gettext (>= 3.3.5, < 3.4) + gtk2 (= 3.4.1) + httpclient + memoist (>= 0.16.2, < 0.17) + mocha (>= 1.11.1) + moneta + nokogiri + oauth (>= 0.5.4) + pluggaloid (>= 1.5.0, < 2.0) + rake (>= 13.0.1) + ruby-prof (>= 1.1.0) + test-unit (>= 3.3.4, < 4.0) + typed-array (>= 0.1.2, < 0.2) + webmock (>= 3.7.6) + +RUBY VERSION + ruby 2.6.6p146 + +BUNDLED WITH + 2.1.4 diff --git a/pkgs/applications/networking/instant-messengers/mikutter/deps/gemset.nix b/pkgs/applications/networking/instant-messengers/mikutter/deps/gemset.nix new file mode 100644 index 0000000000000..b45a36c6fec09 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/mikutter/deps/gemset.nix @@ -0,0 +1,410 @@ +{ + addressable = { + dependencies = ["public_suffix"]; + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy"; + type = "gem"; + }; + version = "2.7.0"; + }; + atk = { + dependencies = ["glib2"]; + groups = ["default" "plugin"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0a8q9a1f6x4gy55p8cf52a22bnpjgn18ad9n959x0f4gybbhs948"; + type = "gem"; + }; + version = "3.4.1"; + }; + cairo = { + dependencies = ["native-package-installer" "pkg-config" "red-colors"]; + groups = ["default" "plugin"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0vbj9szp2xbnxqan8hppip8vm9fxpcmpx745y5fvg2scdh9f0p7s"; + type = "gem"; + }; + version = "1.17.5"; + }; + cairo-gobject = { + dependencies = ["cairo" "glib2"]; + groups = ["default" "plugin"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0gkxdfslcvrwrs48giilji3bgxd5bwijwq33p9h00r10jzfg2028"; + type = "gem"; + }; + version = "3.4.1"; + }; + crack = { + dependencies = ["rexml"]; + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1cr1kfpw3vkhysvkk3wg7c54m75kd68mbm9rs5azdjdq57xid13r"; + type = "gem"; + }; + version = "0.4.5"; + }; + delayer = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0iqf4i18i8rk3x7qgvkhbiqskf0xzdf733fjimrq6xkag2mq60bl"; + type = "gem"; + }; + version = "1.2.0"; + }; + delayer-deferred = { + dependencies = ["delayer"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0i2das3ncssacpqdgaf4as77vrxm7jfiizaja884fqv4rzv6s2sv"; + type = "gem"; + }; + version = "2.2.0"; + }; + diva = { + dependencies = ["addressable"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "05wl4wg57vvng4nrp4lzjq148v908xzq092kq93phwvyxs7jnw2g"; + type = "gem"; + }; + version = "1.0.2"; + }; + gdk_pixbuf2 = { + dependencies = ["gio2"]; + groups = ["default" "plugin"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0194gzn0kialfh0j7crllvp808r64sg6dh297x69b0av21ar5pam"; + type = "gem"; + }; + version = "3.4.1"; + }; + gettext = { + dependencies = ["locale" "text"]; + groups = ["default" "plugin"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1fqlwq7i8ck1fjyhn19q3skvgrbz44q7gq51mlr0qym5rkj5f6rn"; + type = "gem"; + }; + version = "3.3.7"; + }; + gio2 = { + dependencies = ["gobject-introspection"]; + groups = ["default" "plugin"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1l3jpgbdvb55xhcmpkcqgwx5068dfyi8kijfvzhbqh96ng0p1m7g"; + type = "gem"; + }; + version = "3.4.1"; + }; + glib2 = { + dependencies = ["native-package-installer" "pkg-config"]; + groups = ["default" "plugin"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "18clyn0fp0h5alnkf9i2bqd6wvl78h468pdbzs1csqnba8vw4q1c"; + type = "gem"; + }; + version = "3.4.1"; + }; + gobject-introspection = { + dependencies = ["glib2"]; + groups = ["default" "plugin"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1a3x8qiisbax3x0izj8l5w66r53ba5ma53ax2jhdbhbvaxx3d02n"; + type = "gem"; + }; + version = "3.4.1"; + }; + gtk2 = { + dependencies = ["atk" "gdk_pixbuf2" "pango"]; + groups = ["plugin"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "17az8g0n1yzz90kdbjg2hpabi04qccda7v6lin76bs637ivfg2md"; + type = "gem"; + }; + version = "3.4.1"; + }; + hashdiff = { + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1nynpl0xbj0nphqx1qlmyggq58ms1phf5i03hk64wcc0a17x1m1c"; + type = "gem"; + }; + version = "1.0.1"; + }; + httpclient = { + groups = ["plugin"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99"; + type = "gem"; + }; + version = "2.8.3"; + }; + instance_storage = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "08nf5fhq9dckq9lmaklxydq0hrlfi7phk66gr3bggxg45zd687pl"; + type = "gem"; + }; + version = "1.0.0"; + }; + locale = { + groups = ["default" "plugin"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0997465kxvpxm92fiwc2b16l49mngk7b68g5k35ify0m3q0yxpdn"; + type = "gem"; + }; + version = "2.1.3"; + }; + memoist = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0i9wpzix3sjhf6d9zw60dm4371iq8kyz7ckh2qapan2vyaim6b55"; + type = "gem"; + }; + version = "0.16.2"; + }; + mini_portile2 = { + groups = ["default" "plugin"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1hdbpmamx8js53yk3h8cqy12kgv6ca06k0c9n3pxh6b6cjfs19x7"; + type = "gem"; + }; + version = "2.5.0"; + }; + mocha = { + groups = ["test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "05yw6rwgjppq116jgqfg4pv4bql3ci4r2fmmg0m2c3sqib1bq41a"; + type = "gem"; + }; + version = "1.12.0"; + }; + moneta = { + groups = ["plugin"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0z25b4yysvnf2hi9jxnsiv3fvnicnzr2m70ci231av5093jfknc6"; + type = "gem"; + }; + version = "1.4.1"; + }; + native-package-installer = { + groups = ["default" "plugin"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ww1mq41q7rda975byjmq5dk8k13v8dawvm33370pbkrymd8syp8"; + type = "gem"; + }; + version = "1.1.1"; + }; + nokogiri = { + dependencies = ["mini_portile2" "racc"]; + groups = ["plugin"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "19d78mdg2lbz9jb4ph6nk783c9jbsdm8rnllwhga6pd53xffp6x0"; + type = "gem"; + }; + version = "1.11.3"; + }; + oauth = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zwd6v39yqfdrpg1p3d9jvzs9ljg55ana2p06m0l7qn5w0lgx1a0"; + type = "gem"; + }; + version = "0.5.6"; + }; + pango = { + dependencies = ["cairo-gobject" "gobject-introspection"]; + groups = ["default" "plugin"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1d0cn50qgpifrcv8qx72wi6l9xalw3ryngbfmm9xpg9vx5rl1qbp"; + type = "gem"; + }; + version = "3.4.1"; + }; + pkg-config = { + groups = ["default" "plugin"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1mjjy1grxr64znkffxsvprcckbrrnm40b6gbllnbm7jxslbr3gjl"; + type = "gem"; + }; + version = "1.4.6"; + }; + pluggaloid = { + dependencies = ["delayer" "instance_storage"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0m3f940lf1bg01jin22by7hg9hs43y995isgcyqb6vbvlv51zj11"; + type = "gem"; + }; + version = "1.5.0"; + }; + power_assert = { + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "172qfmzwxdf82bmwgcb13hnz9i3p6i2s2nijxnx6r63kn3drjppr"; + type = "gem"; + }; + version = "2.0.0"; + }; + public_suffix = { + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1xqcgkl7bwws1qrlnmxgh8g4g9m10vg60bhlw40fplninb3ng6d9"; + type = "gem"; + }; + version = "4.0.6"; + }; + racc = { + groups = ["default" "plugin"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "178k7r0xn689spviqzhvazzvxfq6fyjldxb3ywjbgipbfi4s8j1g"; + type = "gem"; + }; + version = "1.5.2"; + }; + rake = { + groups = ["test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1iik52mf9ky4cgs38fp2m8r6skdkq1yz23vh18lk95fhbcxb6a67"; + type = "gem"; + }; + version = "13.0.3"; + }; + red-colors = { + groups = ["default" "plugin"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ar2k7zvhr1215jx5di29hkg5h1798f1gypmq6v0sy9v35w6ijca"; + type = "gem"; + }; + version = "0.1.1"; + }; + rexml = { + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53"; + type = "gem"; + }; + version = "3.2.5"; + }; + ruby-prof = { + groups = ["test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1r3xalp91l07m0cwllcxjzg6nkviiqnxkcbgg5qnzsdji6rgy65m"; + type = "gem"; + }; + version = "1.4.3"; + }; + test-unit = { + dependencies = ["power_assert"]; + groups = ["test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1h0c323zfn4hdida4g58h8wnlh4kax438gyxlw20dd78kcp01i8m"; + type = "gem"; + }; + version = "3.4.0"; + }; + text = { + groups = ["default" "plugin"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1x6kkmsr49y3rnrin91rv8mpc3dhrf3ql08kbccw8yffq61brfrg"; + type = "gem"; + }; + version = "1.3.1"; + }; + typed-array = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0qlv2rnkin9rwkgjx3k5qvc17m0m7jf5cdirw3wxbjnw5kga27w9"; + type = "gem"; + }; + version = "0.1.2"; + }; + webmock = { + dependencies = ["addressable" "crack" "hashdiff"]; + groups = ["test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "038igpmkpmn0nw0k7s4db8x88af1nwcy7wzh9m9c9q4p74h7rii0"; + type = "gem"; + }; + version = "3.12.2"; + }; +} diff --git a/pkgs/applications/networking/instant-messengers/mikutter/deps/plugin/gtk/Gemfile b/pkgs/applications/networking/instant-messengers/mikutter/deps/plugin/gtk/Gemfile new file mode 100644 index 0000000000000..3306c29e3cbff --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/mikutter/deps/plugin/gtk/Gemfile @@ -0,0 +1,4 @@ +source 'https://rubygems.org' + +gem 'gtk2', '3.4.1' + diff --git a/pkgs/applications/networking/instant-messengers/mikutter/deps/plugin/image_file_cache/Gemfile b/pkgs/applications/networking/instant-messengers/mikutter/deps/plugin/image_file_cache/Gemfile new file mode 100644 index 0000000000000..f86005fef078e --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/mikutter/deps/plugin/image_file_cache/Gemfile @@ -0,0 +1 @@ +gem 'moneta' diff --git a/pkgs/applications/networking/instant-messengers/mikutter/deps/plugin/photo_support/Gemfile b/pkgs/applications/networking/instant-messengers/mikutter/deps/plugin/photo_support/Gemfile new file mode 100644 index 0000000000000..66016eee9c466 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/mikutter/deps/plugin/photo_support/Gemfile @@ -0,0 +1,4 @@ +source 'https://rubygems.org' + +gem 'nokogiri' +gem 'httpclient' diff --git a/pkgs/applications/networking/instant-messengers/mikutter/deps/plugin/uitranslator/Gemfile b/pkgs/applications/networking/instant-messengers/mikutter/deps/plugin/uitranslator/Gemfile new file mode 100644 index 0000000000000..08b4831dfc66c --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/mikutter/deps/plugin/uitranslator/Gemfile @@ -0,0 +1,5 @@ +source 'https://rubygems.org' + +group :default do + gem 'gettext', '>= 3.3.5', '< 3.4' +end diff --git a/pkgs/applications/networking/instant-messengers/mikutter/gemset.nix b/pkgs/applications/networking/instant-messengers/mikutter/gemset.nix deleted file mode 100644 index 2bc4db978ddad..0000000000000 --- a/pkgs/applications/networking/instant-messengers/mikutter/gemset.nix +++ /dev/null @@ -1,422 +0,0 @@ -{ - addressable = { - dependencies = ["public_suffix"]; - groups = ["default" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy"; - type = "gem"; - }; - version = "2.7.0"; - }; - atk = { - dependencies = ["glib2"]; - groups = ["default" "plugin"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0a8q9a1f6x4gy55p8cf52a22bnpjgn18ad9n959x0f4gybbhs948"; - type = "gem"; - }; - version = "3.4.1"; - }; - cairo = { - dependencies = ["native-package-installer" "pkg-config"]; - groups = ["default" "plugin"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0yvv2lcbsybzbw1nrmfivmln23da4rndrs3av6ymjh0x3ww5h7p8"; - type = "gem"; - }; - version = "1.16.4"; - }; - cairo-gobject = { - dependencies = ["cairo" "glib2"]; - groups = ["default" "plugin"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0gkxdfslcvrwrs48giilji3bgxd5bwijwq33p9h00r10jzfg2028"; - type = "gem"; - }; - version = "3.4.1"; - }; - crack = { - dependencies = ["safe_yaml"]; - groups = ["default" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0abb0fvgw00akyik1zxnq7yv391va148151qxdghnzngv66bl62k"; - type = "gem"; - }; - version = "0.4.3"; - }; - delayer = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "09p4rkh3dpdm1mhq721m4d6zvxqqp44kg7069s8l7kmaf7nv2nb3"; - type = "gem"; - }; - version = "1.0.1"; - }; - delayer-deferred = { - dependencies = ["delayer"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1mbdxn1hskjqf3zlj4waxl71ccvbj6lk81c99769paxw4fajwrgx"; - type = "gem"; - }; - version = "2.1.1"; - }; - diva = { - dependencies = ["addressable"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "182gws1zihhpl7r3m8jsf29maqg9xdhj46s9lidbldar8clpl23h"; - type = "gem"; - }; - version = "1.0.1"; - }; - gdk_pixbuf2 = { - dependencies = ["gio2"]; - groups = ["default" "plugin"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0194gzn0kialfh0j7crllvp808r64sg6dh297x69b0av21ar5pam"; - type = "gem"; - }; - version = "3.4.1"; - }; - gettext = { - dependencies = ["locale" "text"]; - groups = ["default" "plugin"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0764vj7gacn0aypm2bf6m46dzjzwzrjlmbyx6qwwwzbmi94r40wr"; - type = "gem"; - }; - version = "3.2.9"; - }; - gio2 = { - dependencies = ["gobject-introspection"]; - groups = ["default" "plugin"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1l3jpgbdvb55xhcmpkcqgwx5068dfyi8kijfvzhbqh96ng0p1m7g"; - type = "gem"; - }; - version = "3.4.1"; - }; - glib2 = { - dependencies = ["native-package-installer" "pkg-config"]; - groups = ["default" "plugin"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "18clyn0fp0h5alnkf9i2bqd6wvl78h468pdbzs1csqnba8vw4q1c"; - type = "gem"; - }; - version = "3.4.1"; - }; - gobject-introspection = { - dependencies = ["glib2"]; - groups = ["default" "plugin"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1a3x8qiisbax3x0izj8l5w66r53ba5ma53ax2jhdbhbvaxx3d02n"; - type = "gem"; - }; - version = "3.4.1"; - }; - gtk2 = { - dependencies = ["atk" "gdk_pixbuf2" "pango"]; - groups = ["plugin"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "17az8g0n1yzz90kdbjg2hpabi04qccda7v6lin76bs637ivfg2md"; - type = "gem"; - }; - version = "3.4.1"; - }; - hashdiff = { - groups = ["default" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "18jqpbvidrlnq3xf0hkdbs00607jgz35lry6gjw4bcxgh52am2mk"; - type = "gem"; - }; - version = "1.0.0"; - }; - httpclient = { - groups = ["plugin"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99"; - type = "gem"; - }; - version = "2.8.3"; - }; - instance_storage = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "08nf5fhq9dckq9lmaklxydq0hrlfi7phk66gr3bggxg45zd687pl"; - type = "gem"; - }; - version = "1.0.0"; - }; - io-console = { - groups = ["default" "plugin"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0srn91ly4cc5qvyj3r87sc7v8dnm52qj1hczzxmysib6ffparngd"; - type = "gem"; - }; - version = "0.5.3"; - }; - irb = { - dependencies = ["reline"]; - groups = ["default" "plugin"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1r1y8i46qd5izdszzzn5jxvwvq00m89rk0hm8cs8f21p7nlwmh5w"; - type = "gem"; - }; - version = "1.2.1"; - }; - locale = { - groups = ["default" "plugin"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1sls9bq4krx0fmnzmlbn64dw23c4d6pz46ynjzrn9k8zyassdd0x"; - type = "gem"; - }; - version = "2.1.2"; - }; - memoist = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0i9wpzix3sjhf6d9zw60dm4371iq8kyz7ckh2qapan2vyaim6b55"; - type = "gem"; - }; - version = "0.16.2"; - }; - mini_portile2 = { - groups = ["default" "plugin"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy"; - type = "gem"; - }; - version = "2.4.0"; - }; - mocha = { - groups = ["test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "06i2q5qjr9mvjgjc8w41pdf3qalw340y33wjvzc0rp4a1cbbb7pp"; - type = "gem"; - }; - version = "1.11.1"; - }; - moneta = { - groups = ["plugin"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0q7fskfdc0h5dhl8aamg3ypybd6cyl4x0prh4803gj7hxr17jfm1"; - type = "gem"; - }; - version = "1.2.1"; - }; - native-package-installer = { - groups = ["default" "plugin"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0piclgf6pw7hr10x57x0hn675djyna4sb3xc97yb9vh66wkx1fl0"; - type = "gem"; - }; - version = "1.0.9"; - }; - nokogiri = { - dependencies = ["mini_portile2"]; - groups = ["plugin"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0r0qpgf80h764k176yr63gqbs2z0xbsp8vlvs2a79d5r9vs83kln"; - type = "gem"; - }; - version = "1.10.7"; - }; - oauth = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1zszdg8q1b135z7l7crjj234k4j0m347hywp5kj6zsq7q78pw09y"; - type = "gem"; - }; - version = "0.5.4"; - }; - pango = { - dependencies = ["cairo-gobject" "gobject-introspection"]; - groups = ["default" "plugin"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1d0cn50qgpifrcv8qx72wi6l9xalw3ryngbfmm9xpg9vx5rl1qbp"; - type = "gem"; - }; - version = "3.4.1"; - }; - pkg-config = { - groups = ["default" "plugin"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1cxdpr2wlz9b587avlq04a1da5fz1vdw8jvr6lx23mcq7mqh2xcx"; - type = "gem"; - }; - version = "1.4.0"; - }; - pluggaloid = { - dependencies = ["delayer" "instance_storage"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1gv0rjjdic8c41gfr3kyyphvf0fmv5rzcf6qd57zjdfcn6fvi3hh"; - type = "gem"; - }; - version = "1.2.0"; - }; - power_assert = { - groups = ["default" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1dii0wkfa0jm8sk9b20zl1z4980dmrjh0zqnii058485pp3ws10s"; - type = "gem"; - }; - version = "1.1.5"; - }; - public_suffix = { - groups = ["default" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0xnfv2j2bqgdpg2yq9i2rxby0w2sc9h5iyjkpaas2xknwrgmhdb0"; - type = "gem"; - }; - version = "4.0.1"; - }; - rake = { - groups = ["test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0w6qza25bq1s825faaglkx1k6d59aiyjjk3yw3ip5sb463mhhai9"; - type = "gem"; - }; - version = "13.0.1"; - }; - reline = { - dependencies = ["io-console"]; - groups = ["default" "plugin"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0908ijrngc3wkn5iny7d0kxkp74w6ixk2nwzzngplplfla1vkp8x"; - type = "gem"; - }; - version = "0.1.2"; - }; - ruby-prof = { - groups = ["test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "18ga5f4h1fnwn0xh910kpnw4cg3lq3jqljd3h16bdw9pgc5ff7dn"; - type = "gem"; - }; - version = "1.1.0"; - }; - safe_yaml = { - groups = ["default" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0j7qv63p0vqcd838i2iy2f76c3dgwzkiz1d1xkg7n0pbnxj2vb56"; - type = "gem"; - }; - version = "1.0.5"; - }; - test-unit = { - dependencies = ["power_assert"]; - groups = ["test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0mrkpb6wz0cs1740kaca240k4ymmkbvb2v5xaxsy6vynqw8n0g6z"; - type = "gem"; - }; - version = "3.3.4"; - }; - text = { - groups = ["default" "plugin"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1x6kkmsr49y3rnrin91rv8mpc3dhrf3ql08kbccw8yffq61brfrg"; - type = "gem"; - }; - version = "1.3.1"; - }; - typed-array = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0qlv2rnkin9rwkgjx3k5qvc17m0m7jf5cdirw3wxbjnw5kga27w9"; - type = "gem"; - }; - version = "0.1.2"; - }; - webmock = { - dependencies = ["addressable" "crack" "hashdiff"]; - groups = ["test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "19xvs7gdf8r75bmyb17w9g367qxzqnlrmbdda1y36cn1vrlnf2l8"; - type = "gem"; - }; - version = "3.7.6"; - }; -} diff --git a/pkgs/applications/networking/instant-messengers/mikutter/mikutter.desktop b/pkgs/applications/networking/instant-messengers/mikutter/mikutter.desktop deleted file mode 100644 index 092f5f35cbf82..0000000000000 --- a/pkgs/applications/networking/instant-messengers/mikutter/mikutter.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[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/plugin/gtk/Gemfile b/pkgs/applications/networking/instant-messengers/mikutter/plugin/gtk/Gemfile deleted file mode 100644 index 3306c29e3cbff..0000000000000 --- a/pkgs/applications/networking/instant-messengers/mikutter/plugin/gtk/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source 'https://rubygems.org' - -gem 'gtk2', '3.4.1' - diff --git a/pkgs/applications/networking/instant-messengers/mikutter/plugin/image_file_cache/Gemfile b/pkgs/applications/networking/instant-messengers/mikutter/plugin/image_file_cache/Gemfile deleted file mode 100644 index f86005fef078e..0000000000000 --- a/pkgs/applications/networking/instant-messengers/mikutter/plugin/image_file_cache/Gemfile +++ /dev/null @@ -1 +0,0 @@ -gem 'moneta' diff --git a/pkgs/applications/networking/instant-messengers/mikutter/plugin/photo_support/Gemfile b/pkgs/applications/networking/instant-messengers/mikutter/plugin/photo_support/Gemfile deleted file mode 100644 index 66016eee9c466..0000000000000 --- a/pkgs/applications/networking/instant-messengers/mikutter/plugin/photo_support/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source 'https://rubygems.org' - -gem 'nokogiri' -gem 'httpclient' diff --git a/pkgs/applications/networking/instant-messengers/mikutter/plugin/uitranslator/Gemfile b/pkgs/applications/networking/instant-messengers/mikutter/plugin/uitranslator/Gemfile deleted file mode 100644 index 14ebffd4e0ad1..0000000000000 --- a/pkgs/applications/networking/instant-messengers/mikutter/plugin/uitranslator/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -source 'https://rubygems.org' - -group :default do - gem 'gettext', '>= 3.2.9', '< 3.3' - gem 'irb', '>= 1.2.0', '< 1.3' -end diff --git a/pkgs/applications/networking/instant-messengers/mikutter/test_plugin.rb b/pkgs/applications/networking/instant-messengers/mikutter/test_plugin.rb new file mode 100644 index 0000000000000..b19c15cd304fb --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/mikutter/test_plugin.rb @@ -0,0 +1,10 @@ +# Tests mikutter's event system. + +Plugin.create(:test_plugin) do + require 'logger' + Delayer.new do + log = Logger.new(STDOUT) + log.info("loaded test_plugin") + exit + end +end diff --git a/pkgs/applications/networking/instant-messengers/mikutter/update.sh b/pkgs/applications/networking/instant-messengers/mikutter/update.sh new file mode 100755 index 0000000000000..142fd8ca9424d --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/mikutter/update.sh @@ -0,0 +1,51 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p bundler bundix curl jq common-updater-scripts +# shellcheck shell=bash + +set -euo pipefail + +main() { + local currentVer="$1" + local scriptDir="$2" + local latestVer + local srcDir + + if [[ -z "$UPDATE_NIX_ATTR_PATH" ]]; then + echo "[ERROR] Please run the following instead:" >&2 + echo >&2 + echo " % nix-shell maintainers/scripts/update.nix --argstr path mikutter" >&2 + exit 1 + fi + + latestVer="$(queryLatestVersion)" + if [[ "$currentVer" == "$latestVer" ]]; then + echo "[INFO] mikutter is already up to date" >&2 + exit + fi + + update-source-version "$UPDATE_NIX_ATTR_PATH" "$latestVer" + + cd "$scriptDir" + + rm -rf deps + mkdir deps + cd deps + + srcDir="$(nix-build ../../../../../.. --no-out-link -A mikutter.src)" + tar xvf "$srcDir" --strip-components=1 + find . -not -name Gemfile -exec rm {} \; + find . -type d -exec rmdir -p --ignore-fail-on-non-empty {} \; || true + + bundle lock + bundix +} + +queryLatestVersion() { + curl -sS 'https://mikutter.hachune.net/download.json?count=1' \ + | jq -r '.[].version_string' \ + | head -n1 +} + +main "$@" + +# vim:set ft=bash: diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix index 99c535fa3385a..d0d67bff21d1c 100644 --- a/pkgs/development/ruby-modules/gem-config/default.nix +++ b/pkgs/development/ruby-modules/gem-config/default.nix @@ -20,12 +20,13 @@ { lib, fetchurl, writeScript, ruby, libkrb5, libxml2, libxslt, python, stdenv, which , libiconv, postgresql, v8, clang, sqlite, zlib, imagemagick, lasem , pkg-config , ncurses, xapian, gpgme, util-linux, tzdata, icu, libffi -, cmake, libssh2, openssl, libmysqlclient, darwin, git, perl, pcre, gecode_3, curl +, cmake, libssh2, openssl, libmysqlclient, git, perl, pcre, gecode_3, curl , msgpack, libsodium, snappy, libossp_uuid, lxc, libpcap, xorg, gtk2, buildRubyGem , cairo, 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, libselinux ? null, libsepol ? null, shared-mime-info +, bundler, libsass, libselinux, libsepol, shared-mime-info, libthai, libdatrie +, CoreServices, DarwinTools, cctools }@args: let @@ -41,7 +42,8 @@ in { atk = attrs: { dependencies = attrs.dependencies ++ [ "gobject-introspection" ]; - nativeBuildInputs = [ rake bundler pkg-config ]; + nativeBuildInputs = [ rake bundler pkg-config ] + ++ lib.optionals stdenv.isDarwin [ DarwinTools ]; propagatedBuildInputs = [ gobject-introspection wrapGAppsHook atk ]; }; @@ -61,12 +63,14 @@ in }; cairo = attrs: { - nativeBuildInputs = [ pkg-config ]; + nativeBuildInputs = [ pkg-config ] + ++ lib.optionals stdenv.isDarwin [ DarwinTools ]; buildInputs = [ gtk2 pcre xorg.libpthreadstubs xorg.libXdmcp]; }; cairo-gobject = attrs: { - nativeBuildInputs = [ pkg-config ]; + nativeBuildInputs = [ pkg-config ] + ++ lib.optionals stdenv.isDarwin [ DarwinTools ]; buildInputs = [ cairo pcre xorg.libpthreadstubs xorg.libXdmcp ]; }; @@ -189,7 +193,8 @@ in }; gdk_pixbuf2 = attrs: { - nativeBuildInputs = [ pkg-config bundler rake ]; + nativeBuildInputs = [ pkg-config bundler rake ] + ++ lib.optionals stdenv.isDarwin [ DarwinTools ]; propagatedBuildInputs = [ gobject-introspection wrapGAppsHook gdk-pixbuf ]; }; @@ -199,7 +204,8 @@ in }; gio2 = attrs: { - nativeBuildInputs = [ pkg-config ]; + nativeBuildInputs = [ pkg-config ] + ++ lib.optionals stdenv.isDarwin [ DarwinTools ]; buildInputs = [ gtk2 pcre gobject-introspection ] ++ lib.optionals stdenv.isLinux [ util-linux libselinux libsepol ]; }; @@ -235,7 +241,8 @@ in }; glib2 = attrs: { - nativeBuildInputs = [ pkg-config ]; + nativeBuildInputs = [ pkg-config ] + ++ lib.optionals stdenv.isDarwin [ DarwinTools ]; buildInputs = [ gtk2 pcre ]; }; @@ -244,7 +251,7 @@ in binutils pkg-config ] ++ lib.optionals stdenv.isLinux [ util-linux libselinux libsepol - ]; + ] ++ lib.optionals stdenv.isDarwin [ DarwinTools ]; propagatedBuildInputs = [ atk gdk-pixbuf @@ -252,16 +259,18 @@ in gobject-introspection gtk2 harfbuzz + libdatrie + libthai pcre xorg.libpthreadstubs xorg.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"; + dontStrip = stdenv.isDarwin; }; gobject-introspection = attrs: { - nativeBuildInputs = [ pkg-config pcre ]; + nativeBuildInputs = [ pkg-config pcre ] + ++ lib.optionals stdenv.isDarwin [ DarwinTools ]; propagatedBuildInputs = [ gobject-introspection wrapGAppsHook glib ]; }; @@ -287,9 +296,7 @@ in }; hitimes = attrs: { - buildInputs = - lib.optionals stdenv.isDarwin - [ darwin.apple_sdk.frameworks.CoreServices ]; + buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ]; }; iconv = attrs: { @@ -453,7 +460,9 @@ in pcre xorg.libpthreadstubs xorg.libXdmcp - ]; + ] ++ lib.optionals stdenv.isDarwin [ DarwinTools ]; + buildInputs = [ libdatrie libthai ] + ++ lib.optionals stdenv.isLinux [ libselinux libsepol util-linux ]; propagatedBuildInputs = [ gobject-introspection wrapGAppsHook gtk2 ]; }; @@ -661,7 +670,7 @@ in }; zookeeper = attrs: { - buildInputs = lib.optionals stdenv.isDarwin [ darwin.cctools ]; + buildInputs = lib.optionals stdenv.isDarwin [ cctools ]; dontBuild = false; postPatch = '' sed -i ext/extconf.rb -e "4a \ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ad05948227ed4..277271f106659 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11986,7 +11986,10 @@ in dust = callPackage ../development/interpreters/pixie/dust.nix { }; buildRubyGem = callPackage ../development/ruby-modules/gem { }; - defaultGemConfig = callPackage ../development/ruby-modules/gem-config { }; + defaultGemConfig = callPackage ../development/ruby-modules/gem-config { + inherit (darwin) DarwinTools cctools; + inherit (darwin.apple_sdk.frameworks) CoreServices; + }; bundix = callPackage ../development/ruby-modules/bundix { }; bundler = callPackage ../development/ruby-modules/bundler { }; bundlerEnv = callPackage ../development/ruby-modules/bundler-env { }; -- cgit 1.4.1