Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)

rtfm: 0.2.4 -> 0.4.1

sund3RRR a73b134d 63ac7bec

+63 -58
+12 -14
pkgs/applications/misc/rtfm/default.nix
··· 7 7 , desktopToDarwinBundle 8 8 , webkitgtk_6_0 9 9 , sqlite 10 - , gi-crystal 11 10 , libadwaita 12 11 , gtk4 13 12 , pango 13 + , substituteAll 14 14 }: 15 15 let 16 16 gtk4' = gtk4.override { x11Support = true; }; ··· 18 18 in 19 19 crystal.buildCrystalPackage rec { 20 20 pname = "rtfm"; 21 - version = "0.2.4"; 21 + version = "0.4.1"; 22 22 23 23 src = fetchFromGitHub { 24 24 owner = "hugopl"; 25 25 repo = "rtfm"; 26 26 rev = "v${version}"; 27 27 name = "rtfm"; 28 - hash = "sha256-IfI7jYM1bsrCq2NiANv/SWkCjPyT/HYUofJMUYy0Sbk="; 28 + hash = "sha256-cloaGlHjtwrjuPGzAG55B58w307R+TO+MixAWTw2ags="; 29 29 }; 30 30 31 31 patches = [ 32 32 # 1) fixed gi-crystal binding generator command 33 - # 2) removed `-v` arg to `cp` command to prevent build failure due to stdout buffer overflow 33 + # 2) fixed docset generator command 34 34 # 3) added commands to build gschemas and update icon-cache 35 - ./patches/make.patch 36 - 37 - # fixed docset path and gi libs directory names 38 - ./patches/friendly-docs-path.patch 39 - 35 + (substituteAll { 36 + src = ./make.patch; 37 + inherit crystal; 38 + }) 40 39 # added chmod +w for copied docs to prevent error: 41 40 # `Error opening file with mode 'wb': '.../style.css': Permission denied` 42 - ./patches/enable-write-permissions.patch 41 + ./enable-write-permissions.patch 43 42 ]; 44 43 45 44 postPatch = '' 46 - substituteInPlace Makefile \ 47 - --replace "crystal run src/create_crystal_docset.cr" "crystal src/create_crystal_docset.cr ${crystal}/share/doc/crystal/api/" \ 48 - --replace "crystal run src/create_gtk_docset.cr" "crystal src/create_gtk_docset.cr gtk-doc/" 45 + substituteInPlace src/doc2dash/create_gtk_docset.cr \ 46 + --replace-fail 'basedir = Path.new("/usr/share/doc")' 'basedir = Path.new(ARGV[0]? || "gtk-docs")' 49 47 ''; 50 48 51 49 shardsFile = ./shards.nix; 50 + copyShardDeps = true; 52 51 53 52 nativeBuildInputs = [ 54 53 wrapGAppsHook4 55 54 gobject-introspection 56 - gi-crystal 57 55 ] ++ lib.optionals stdenv.isDarwin [ desktopToDarwinBundle ]; 58 56 59 57 buildInputs = [
+39
pkgs/applications/misc/rtfm/make.patch
··· 1 + --- a/Makefile 2024-04-20 10:28:36.697545022 +0300 2 + +++ b/Makefile 2024-04-20 10:37:55.591657540 +0300 3 + @@ -7,8 +7,10 @@ 4 + shards build --debug -Dpreview_mt 5 + 6 + configure: 7 + - shards install 8 + - ./bin/gi-crystal 9 + + mkdir bin/ 10 + + cd lib/gi-crystal && shards build -Dpreview_mt --release --no-debug 11 + + cd ../.. 12 + + cp lib/gi-crystal/bin/gi-crystal bin/ && ./bin/gi-crystal 13 + 14 + rtfm: 15 + shards build --release -Dpreview_mt rtfm 16 + @@ -16,10 +18,10 @@ 17 + docsets: crystal-docset gtk-docset 18 + 19 + crystal-docset: 20 + - crystal run src/doc2dash/create_crystal_docset.cr 21 + + crystal src/doc2dash/create_crystal_docset.cr "@crystal@/share/doc/crystal/api" 22 + 23 + gtk-docset: 24 + - crystal run src/doc2dash/create_gtk_docset.cr 25 + + crystal src/doc2dash/create_gtk_docset.cr "gtk-doc/" 26 + 27 + test: crystal-docset gtk-docset 28 + crystal spec 29 + @@ -28,8 +30,10 @@ 30 + install -D -m 0755 bin/rtfm $(DESTDIR)$(PREFIX)/bin/rtfm 31 + install -D -m 0644 data/io.github.hugopl.rtfm.desktop $(DESTDIR)$(PREFIX)/share/applications/io.github.hugopl.rtfm.desktop 32 + install -D -m 0644 data/icons/hicolor/scalable/apps/io.github.hugopl.rtfm.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/io.github.hugopl.rtfm.svg 33 + + gtk4-update-icon-cache --ignore-theme-index $(PREFIX)/share/icons/hicolor 34 + # Settings schema 35 + install -D -m644 data/io.github.hugopl.rtfm.gschema.xml $(DESTDIR)$(PREFIX)/share/glib-2.0/schemas/io.github.hugopl.rtfm.gschema.xml 36 + + glib-compile-schemas $(DESTDIR)$(PREFIX)/share/glib-2.0/schemas 37 + # docsets 38 + mkdir -p $(DESTDIR)$(PREFIX)/share/rtfm/docsets/ 39 + cp -r data/Crystal.docset $(DESTDIR)$(PREFIX)/share/rtfm/docsets/
+2 -2
pkgs/applications/misc/rtfm/patches/enable-write-permissions.patch pkgs/applications/misc/rtfm/enable-write-permissions.patch
··· 1 - --- a/src/doc2dash/doc_set_builder.cr 2023-07-19 14:00:06.864770147 +0300 2 - +++ b/src/doc2dash/doc_set_builder.cr 2023-07-19 13:59:35.440707740 +0300 1 + --- a/src/doc2dash/docset_builder.cr 2024-04-20 10:45:32.000673168 +0300 2 + +++ b/src/doc2dash/docset_builder.cr 2024-04-20 10:45:56.072895349 +0300 3 3 @@ -44,6 +44,7 @@ 4 4 real_dest = @html_dest.join(dest || source) 5 5 Dir.mkdir_p(Path.new(real_dest).dirname)
-11
pkgs/applications/misc/rtfm/patches/friendly-docs-path.patch
··· 1 - --- a/src/create_gtk_docset.cr 2023-07-17 14:28:04.882620660 +0300 2 - +++ b/src/create_gtk_docset.cr 2023-07-17 14:27:09.660643747 +0300 3 - @@ -136,7 +136,7 @@ 4 - end 5 - 6 - def find_modules : Array(Path) 7 - - basedir = Path.new("/usr/share/doc") 8 - + basedir = Path.new(ARGV[0]? || "gtk-docs") 9 - MODULES.compact_map do |mod| 10 - print "#{mod.ljust(20, '.')}" 11 - mod_dir = basedir.join(mod)
-21
pkgs/applications/misc/rtfm/patches/make.patch
··· 1 - --- a/Makefile 2023-12-07 23:37:38.984501858 +0300 2 - +++ b/Makefile 2023-12-07 23:47:52.884456064 +0300 3 - @@ -4,8 +4,7 @@ 4 - all: configure .WAIT rtfm docsets 5 - 6 - configure: 7 - - shards install 8 - - ./bin/gi-crystal 9 - + gi-crystal 10 - 11 - rtfm: 12 - shards build --release -s rtfm 13 - @@ -36,6 +35,8 @@ 14 - # Changelog 15 - install -D -m0644 CHANGELOG.md $(DESTDIR)$(PREFIX)/share/doc/rtfm/CHANGELOG.md 16 - gzip -9fn $(DESTDIR)$(PREFIX)/share/doc/rtfm/CHANGELOG.md 17 - + gtk4-update-icon-cache --ignore-theme-index $(PREFIX)/share/icons/hicolor 18 - + glib-compile-schemas $(DESTDIR)$(PREFIX)/share/glib-2.0/schemas 19 - 20 - uninstall: 21 - rm -f $(DESTDIR)$(PREFIX)/bin/rtfm
+10 -10
pkgs/applications/misc/rtfm/shards.nix
··· 6 6 }; 7 7 fzy = { 8 8 url = "https://github.com/hugopl/fzy.git"; 9 - rev = "v0.5.5"; 10 - sha256 = "1zk95m43ymx9ilwr6iw9l44nkmp4sas28ib0dkr07hkhgrkw68sv"; 9 + rev = "6c2395bcdea1889969d0d08c16163c276fe4e473"; 10 + sha256 = "0vpradafkwckfsq7wqrgkpsli7bfmgc27d38q06l1jzq0z0j92rw"; 11 11 }; 12 - gio = { 13 - url = "https://github.com/hugopl/gio.cr.git"; 14 - rev = "v0.2.1"; 15 - sha256 = "0vl5lpvhhdi9pvyl12smag0i3dwj1jjz1zzilc8ai0wjrnbnwlxs"; 12 + gi-crystal = { 13 + url = "https://github.com/hugopl/gi-crystal.git"; 14 + rev = "v0.22.2"; 15 + sha256 = "0bpa1f8iaf97z2kbgjc7nc8km7nd7bppiwna319lm2hvm8m5pw15"; 16 16 }; 17 17 gtk4 = { 18 18 url = "https://github.com/hugopl/gtk4.cr.git"; 19 - rev = "v0.16.0"; 20 - sha256 = "1bnnfy07246vwbjfwhziv2yw1g52pzhhrr25660fp3qcnw8q513w"; 19 + rev = "v0.16.1"; 20 + sha256 = "1cqkbh072y70l8g0p040vf50k920p32ry1larnwn9mqabd74jwaj"; 21 21 }; 22 22 harfbuzz = { 23 23 url = "https://github.com/hugopl/harfbuzz.cr.git"; ··· 31 31 }; 32 32 pango = { 33 33 url = "https://github.com/hugopl/pango.cr.git"; 34 - rev = "v0.3.0"; 35 - sha256 = "1dg5bcbq11zww4xh68dq4ivnsz89yqsnxz81ggp4j9c9d6dhx0m4"; 34 + rev = "v0.3.1"; 35 + sha256 = "0xlf127flimnll875mcq92q7xsi975rrgdpcpmnrwllhdhfx9qmv"; 36 36 }; 37 37 sqlite3 = { 38 38 url = "https://github.com/crystal-lang/crystal-sqlite3.git";