metznet-channel/metznet.scm

197 lines
7.2 KiB
Scheme

(define-module (metznet)
#:use-module ((guix licenses) #:prefix licenses:)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages autotools)
#:use-module (gnu packages java)
#:use-module (gnu packages xorg)
#:use-module (gnu packages gl)
#:use-module (gnu packages audio)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages tls)
#:use-module (gnu packages crypto)
#:use-module (gnu services)
#:use-module (guix utils)
#:use-module (guix git-download)
#:use-module (guix git)
#:use-module (guix gexp)
#:use-module (guix build-system cmake)
#:use-module (guix download)
#:use-module (guix records)
#:use-module (gnu packages vim)
#:use-module (guix build-system gnu)
#:use-module (guix build-system copy)
#:use-module (gnu packages compression)
#:use-module (guix packages)
#:use-module (ice-9 ftw)
#:use-module (ice-9 match))
(define-public metznet-system
(package
(name "metznet-system")
(version "0.3")
(source
(git-checkout
(url "git://git.metznet.ca/system.git")
(commit (string-append "v" version))))
(build-system copy-build-system)
(synopsis "metznet GUIX system definitions")
(description "metznet GUIX system definitions")
(home-page "http://home.metznet.ca")
(license licenses:gpl3+)))
(define-record-type* <metznet-system-configuration>
metznet-system-configuration make-metznet-system-configuration
metznet-system-configuration?
(repo metznet-system-configuration-repo
(default metznet-system))
(directory metznet-system-configuration-directory
(default "/etc/system")))
(define-public metznet-system-activation
(match-lambda
(($ <metznet-system-configuration> repo directory)
#~(begin
(use-modules (guix build utils))
(if (directory-exists? #$directory)
(rmdir #$directory))
(symlink #$repo #$directory)))))
(define-public metznet-system-service-type
(service-type
(name 'metznet-system)
(description "GUIX System service using metznet files")
(extensions (list
(service-extension activation-service-type metznet-system-activation)))
(default-value (metznet-system-configuration))))
(define-public nvim-vimtex
(package
(name "nvim-vimtex")
(version "2.10")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lervag/vimtex")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1d16rlnp3rszx451nqrax15z46swa7cg4krbn840dcsspigx3ybl"))))
(build-system copy-build-system)
(arguments
'(#:install-plan
'(("." "share/nvim/site/pack/lervag/start/vimtex"))))
(home-page "")
(synopsis "LaTeX plugin for neovim")
(description "Neovim plugin which provides highlighting for latex, along with bindings for auto-compilation")
(license licenses:gpl3+)))
(define-public vim-guile
(package
(name "vim-guile")
(version "1.0")
(source
(git-checkout
(url "https://gitlab.com/HiPhish/guile.vim.git")
(commit "f76959a9dbdc69cde018901de82ac5a3d443843c")))
(build-system copy-build-system)
(arguments
'(#:install-plan
'(("autoload" "share/vim/vimfiles/")
("ftdetect" "share/vim/vimfiles/")
("syntax" "share/vim/vimfiles/")
("test" "share/vim/vimfiles/"))))
(synopsis "Syntax highlighting and file type detect of GNU Guile code in Vim")
(description "Provides syntax highlighting and file type detection for GNU Guile files with the .scm extension.")
(home-page "https://gitlab.com/HiPhish/guile.vim")
(license licenses:gpl3+)))
(define-public vimwiki
(package
(name "vimwiki")
(version "2.5")
(source
(git-checkout
(url "https://github.com/vimwiki/vimwiki")
(commit (string-append "v" version))))
(build-system copy-build-system)
(arguments
'(#:install-plan
'(("autoload" "share/vim/vimfiles/")
("doc" "share/vim/vimfiles/")
("ftplugin" "share/vim/vimfiles/")
("plugin" "share/vim/vimfiles/")
("syntax" "share/vim/vimfiles/")
("test" "share/vim/vimfiles/"))))
(synopsis "A personal wiki plugin for vim")
(license licenses:gpl3+)
(home-page "https://github.com/vimwiki/vimwiki")
(description "VimWiki is a personal wiki for Vim -- a number of linked text files that have their own syntax highlighting. With VimWiki, you can:
- Organize notes and ideas
- Manage to-do lists
- Write documentation
- Maintain a diary
- Export everything to HTML")))
(define-public starsector
(package
(name "starsector")
(version "0.95.1a-RC6")
(source (origin
(method url-fetch)
(uri (string-append "https://s3.amazonaws.com/fractalsoftworks/starsector/starsector_linux-" version ".zip"))
(sha256
(base32 "14zxzs7xfrrq3apiyslk2cy29yp6qirikwbzanmka74a37aqpa1x"))))
(native-inputs (list unzip))
(inputs (list openjdk17 libxcursor libxrandr libxxf86vm mesa openal))
(propagated-inputs (list xrandr))
(build-system copy-build-system)
(arguments
'(#:install-plan
'(("." "share/starsector"))))
(synopsis "A space game.")
(description "A very good space game. You will spend hours playing.")
(home-page "https://fractalsoftworks.com")
(license licenses:gpl3+)))
(define-public libutp
(package
(name "libutp")
(version "2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/bittorrent/libutp")
(commit "2b364cbb0650bdab64a5de2abb4518f9f228ec44")))
(file-name (git-file-name name version))
(sha256
(base32
"0yaiqksimnhwh14kmsq4kcyq6662b4ask36ni6p5n14dbyq1h2s6"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(delete 'configure)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((lib (string-append (assoc-ref outputs "out") "/lib"))
(include (string-append (assoc-ref outputs "out") "/include")))
(install-file "libutp.so" lib)
(install-file "utp.h" include)
(install-file "utp_types.h" include)
#t))))
#:make-flags '("libutp.so")
#:tests? #f))
(home-page "https://github.com/bittorrent/libutp")
(synopsis "Shared library for libutp implementation of the LEDBAT protocol")
(description
"uTP is a TCP-like implementation of LEDBAT documented as a BitTorrent
extension in BEP-29. uTP provides reliable, ordered delivery while
maintaining minimum extra delay. It is implemented on top of UDP to be
cross-platform and functional today. As a result, uTP is the primary
transport for uTorrent peer-to-peer connections.
uTP is written in C++, but the external interface is strictly C (ANSI C89).")
(license licenses:expat)))