Guest User

Untitled

a guest
Oct 24th, 2020
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.64 KB | None | 0 0
  1. { stdenv, lib, fetchFromGitHub, lispPackages, sbcl, pkgs }:
  2.  
  3. let
  4. cluffer = pkgs.lispPackages.buildLispPackage rec {
  5. baseName = "cluffer";
  6. version = lib.substring 0 8 src.rev;
  7.  
  8. buildSystems = [ "cluffer-base" "cluffer-simple-buffer" "cluffer-simple-line" "cluffer-standard-buffer" "cluffer-standard-line" "cluffer" ];
  9. parasites = [ "cluffer-test" ];
  10.  
  11. description = "General purpose text-editor buffer";
  12. deps = with pkgs.lispPackages; [
  13. acclimation clump
  14. ];
  15. src = fetchFromGitHub {
  16. owner = "robert-strandh";
  17. repo = "cluffer";
  18. rev = "4aad29c276a58a593064e79972ee4d77cae0af4a";
  19. sha256 = "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj";
  20. # date = 2018-09-24T04:45:36+02:00;
  21. };
  22.  
  23. packageName = "cluffer";
  24.  
  25. asdFilesToKeep = [ "cluffer.asd" "cluffer-base.asd" "cluffer-simple-buffer.asd" "cluffer-simple-line.asd" "cluffer-standard-buffer.asd" "cluffer-standard-line.asd" ];
  26. };
  27. nyxt = pkgs.lispPackages.buildLispPackage rec {
  28. baseName = "nyxt";
  29. version = lib.substring 0 8 src.rev;
  30.  
  31. buildSystems = [ "nyxt" "nyxt-ext" ];
  32.  
  33. description = "Browser";
  34. deps = with pkgs.lispPackages; [
  35. alexandria
  36. bordeaux-threads
  37. chanl
  38. cl-annot
  39. cl-ansi-text
  40. cl-containers
  41. cl-css
  42. cl-json
  43. cl-markup
  44. cl-ppcre
  45. cl-ppcre-unicode
  46. cl-prevalence
  47. cl-webkit2
  48. closer-mop
  49. cluffer
  50. dbus
  51. dexador
  52. enchant
  53. fset
  54. ironclad
  55. local-time
  56. log4cl
  57. lparallel
  58. mk-string-metrics
  59. osicat
  60. parenscript
  61. plump
  62. prove-asdf
  63. quri
  64. serapeum
  65. sqlite
  66. str
  67. swank
  68. trivia
  69. trivial-clipboard
  70. trivial-features
  71. trivial-package-local-nicknames
  72. trivial-types
  73. unix-opts
  74. ];
  75. src = fetchFromGitHub {
  76. owner = "atlas-engineer";
  77. repo = "nyxt";
  78. rev = "f744af5233b3636460ce71650de2b0c7dcb9fa8e";
  79. sha256 = "1m4jic7nbm2jmxlm8k0zqg62z91g2f2s86by086brgfw056idjmz";
  80. # date = 2020-10-23T19:06:04+02:00;
  81. };
  82.  
  83. packageName = "nyxt";
  84.  
  85. asdFilesToKeep = [ "nyxt.asd" ];
  86.  
  87. propagatedBuildInputs = [
  88. pkgs.libressl.out
  89. pkgs.webkitgtk
  90. pkgs.sbcl
  91. ];
  92. };
  93. nyxt-gtk = stdenv.mkDerivation {
  94. name = "nyxt";
  95. version = "2.0.0-nixos";
  96.  
  97. src = fetchFromGitHub {
  98. owner = "atlas-engineer";
  99. repo = "nyxt";
  100. rev = "f744af5233b3636460ce71650de2b0c7dcb9fa8e";
  101. sha256 = "1m4jic7nbm2jmxlm8k0zqg62z91g2f2s86by086brgfw056idjmz";
  102. # date = 2020-10-23T19:06:04+02:00;
  103. };
  104.  
  105. nativeBuildInputs = [
  106. pkgs.libressl.out
  107. pkgs.webkitgtk
  108. pkgs.sbcl
  109. pkgs.asdf
  110. ] ++ (with pkgs.lispPackages; [
  111. alexandria
  112. bordeaux-threads
  113. chanl
  114. cl-annot
  115. cl-ansi-text
  116. cl-containers
  117. cl-css
  118. cl-json
  119. cl-markup
  120. cl-ppcre
  121. cl-ppcre-unicode
  122. cl-prevalence
  123. cl-webkit2
  124. closer-mop
  125. cluffer
  126. dbus
  127. dexador
  128. enchant
  129. ironclad
  130. local-time
  131. log4cl
  132. lparallel
  133. mk-string-metrics
  134. osicat
  135. parenscript
  136. plump
  137. prove-asdf
  138. quri
  139. serapeum
  140. sqlite
  141. str
  142. swank
  143. trivia
  144. trivial-clipboard
  145. trivial-features
  146. trivial-package-local-nicknames
  147. trivial-types
  148. unix-opts
  149. ]);
  150.  
  151. buildInputs = [
  152. pkgs.enchant.out
  153. pkgs.gsettings-desktop-schemas.out
  154. pkgs.glib-networking.out
  155. pkgs.pango.out
  156. pkgs.cairo.out
  157. pkgs.gtkd.out
  158. pkgs.gdk-pixbuf.out
  159. pkgs.gtk3.out
  160. pkgs.glib.out
  161. pkgs.libfixposix.out
  162. pkgs.webkitgtk
  163. ] ++ (with pkgs.gst_all_1; [
  164. gst-plugins-base
  165. gst-plugins-good
  166. gst-plugins-bad
  167. gst-plugins-ugly
  168. gst-libav
  169. ]);
  170.  
  171. propogatedBuildInputs = [
  172. pkgs.enchant.out
  173. pkgs.gsettings-desktop-schemas.out
  174. pkgs.glib-networking.out
  175. pkgs.pango.out
  176. pkgs.cairo.out
  177. pkgs.gtkd.out
  178. pkgs.gdk-pixbuf.out
  179. pkgs.gtk3.out
  180. pkgs.glib.out
  181. pkgs.libfixposix.out
  182. pkgs.webkitgtk
  183. ];
  184.  
  185. LD_LIBRARY_PATH = with stdenv.lib; "${makeLibraryPath [
  186. pkgs.gsettings-desktop-schemas.out
  187. pkgs.enchant.out
  188. pkgs.glib-networking.out
  189. pkgs.webkitgtk
  190. pkgs.gtk3
  191. pkgs.pango.out
  192. pkgs.cairo.out
  193. pkgs.gdk-pixbuf.out
  194. pkgs.gtkd.out
  195. pkgs.glib.out
  196. pkgs.libfixposix.out
  197. pkgs.libressl.out
  198. ]};";
  199.  
  200. GIO_MODULE_DIR = "${pkgs.glib-networking.out}/lib/gio/modules/";
  201. GIO_EXTRA_MODULES = "${pkgs.glib-networking.out}/lib/gio/modules/";
  202.  
  203. buildPhase = ''
  204. common-lisp.sh --eval "(require :asdf)" \
  205. --eval "(asdf:load-asd (truename \"nyxt.asd\") :name \"nyxt\")" \
  206. --eval '(asdf:make :nyxt/gtk-application)' \
  207. --quit
  208. '';
  209.  
  210. installPhase = ''
  211. install -D -m0755 nyxt $out/bin/nyxt
  212. '';
  213.  
  214. # Stripping destroys the generated SBCL image
  215. dontStrip = true;
  216.  
  217. meta = with stdenv.lib; {
  218. description = "Infinitely extensible web-browser (with Lisp development files using WebKitGTK platform port)";
  219. homepage = "https://nyxt.atlas.engineer";
  220. license = licenses.bsd3;
  221. maintainers = [ maintainers.lewo ];
  222. platforms = [ "x86_64-linux" ];
  223. };
  224. };
  225. in nyxt
Add Comment
Please, Sign In to add comment