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