Compare commits

...

27 Commits

Author SHA1 Message Date
Adrien 'neox' Bourmault d92d40eb23
nett 2024-02-23 16:12:02 +01:00
Adrien 'neox' Bourmault 29713b05ab
Ajout de speed-dreams fonctionnel 2023-12-12 19:29:16 +01:00
Adrien 'neox' Bourmault 99b306378a
. 2023-12-12 19:29:15 +01:00
Adrien Bourmault 35597500b3
manifestes 2023-10-13 23:22:03 +02:00
Adrien 'neox' Bourmault 7c7e93bb86
Ajout d'une nouvelle version d'icecat-custom et nitrocli et nouvelle liste des paquets 2023-10-13 20:32:48 +02:00
Adrien 'neox' Bourmault a79f6dd335
Support de SSH par gnupg 2023-10-03 19:53:09 +02:00
Adrien 'neox' Bourmault 5fb8107771
Added latex 2023-09-14 13:22:20 +02:00
Adrien 'neox' Bourmault dfb07aced4
Refresh packages 2023-09-02 16:11:56 +02:00
Adrien 'neox' Bourmault f5b3979415
added GUIX_PACKAGE_PATH 2023-09-02 13:02:40 +02:00
Adrien Bourmault 48bfeb44f0
Nouvelle version de l'ancienne version d'icecat qui marche avec bitwarden 2023-06-19 10:20:10 +02:00
Adrien Bourmault a9bcb6e8f4
Modif bashrc 2023-06-19 10:18:28 +02:00
Adrien Bourmault bc51f0c845
Manifeste mis à jour 2023-04-17 13:45:32 +02:00
Adrien Bourmault f66b688a17
Commit 20 février 2023-02-20 18:00:28 +01:00
Adrien Bourmault 550a237c7f
Clean 2023-01-18 18:14:13 +01:00
Adrien Bourmault a542fcd51f
Configuration propre 2023-01-18 18:04:00 +01:00
Adrien Bourmault e475614747
Déplacement du manifeste 2023-01-18 16:30:01 +01:00
Adrien Bourmault e0edda615d
Ajout manifeste 2023-01-18 16:21:12 +01:00
Adrien Bourmault 25011ef7f5
Suppression secret 2023-01-18 16:17:55 +01:00
Adrien Bourmault a0e2e38f03
Passage en mode manifeste 2023-01-18 16:02:34 +01:00
Adrien Bourmault 688b7936fb
Rationalisation 2023-01-17 20:25:57 +01:00
Adrien Bourmault 5d815ea98e
Rationalisation 2023-01-17 20:15:36 +01:00
Adrien Bourmault 429b238b69
Rationalisation de la liste des paquets 2023-01-17 19:44:55 +01:00
Adrien Bourmault ba08e243c1
Ajout alias clear 2023-01-17 19:07:34 +01:00
Adrien Bourmault 015f6bbffc
Changement de LIBRARY_PATH 2023-01-17 19:03:19 +01:00
Adrien Bourmault 07adf94fcb
Clean 2023-01-17 15:31:47 +01:00
Adrien Bourmault 3bd245a453
Ajout des paquets nécessaires à compiler 2023-01-10 16:43:27 +01:00
Adrien Bourmault 44caf0b003
Ajout du home 2023-01-10 16:37:39 +01:00
19 changed files with 3395 additions and 0 deletions

22
.bash_profile Executable file
View File

@ -0,0 +1,22 @@
# Set up the system, user profile, and related variables.
# /etc/profile will be sourced by bash automatically
# Set up the home environment profile.
if [ -f ~/.profile ]; then source ~/.profile; fi
# Honor per-interactive-shell startup file
if [ -f ~/.bashrc ]; then source ~/.bashrc; fi
PS1='\u@\h \w${GUIX_ENVIRONMENT:+ [env]}\$ '
# Set up the system, user profile, and related variables.
# /etc/profile will be sourced by bash automatically
# Set up the home environment profile.
if [ -f ~/.profile ]; then source ~/.profile; fi
# Honor per-interactive-shell startup file
if [ -f ~/.bashrc ]; then source ~/.bashrc; fi
PS1='\u@\h \w${GUIX_ENVIRONMENT:+ [env]}\$ '
# Honor per-interactive-shell startup file
if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
export XDG_DATA_DIRS="$XDG_DATA_DIRS:$HOME/.local/share/flatpak/exports/share"
export XDG_DATA_DIRS="$XDG_DATA_DIRS:/var/lib/flatpak/exports/share"
export LV2_PATH="~/.guix-profile/lib/lv2"

42
.bashrc Executable file
View File

@ -0,0 +1,42 @@
# Bash initialization for interactive non-login shells and
# for remote shells (info "(bash) Bash Startup Files").
# Export 'SHELL' to child processes. Programs such as 'screen'
# honor it and otherwise use /bin/sh.
export SHELL
if [[ $- != *i* ]]
then
# We are being invoked from a non-interactive shell. If this
# is an SSH session (as in "ssh host command"), source
# /etc/profile so we get PATH and other essential variables.
[[ -n "$SSH_CLIENT" ]] && source /etc/profile
# Don't do anything else.
return
fi
# Source the system-wide file.
source /etc/bashrc
# Adjust the prompt depending on whether we're in 'guix environment'.
if [ -n "$GUIX_ENVIRONMENT" ]
then
PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\] [env] \$ '
else
PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
fi
export BSD_GAMES_DIR=~/.local/share/bsd-games
export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
export GITLAB_URL=https://git.a-lec.org
export GUIX_PACKAGE_PATH=~/.config/guix/packages/defs
#export LIBRARY_PATH=~/.guix-profile/include:$LIBRARY_PATH
#export LD_LIBRARY_PATH=~/.guix-profile/lib:$LIBRARY_PATH:$LD_LIBRARY_PATH
source ~/.bash_secrets
unset SSH_AGENT_PID
if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then
export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
fi

38
home-configuration.scm Normal file
View File

@ -0,0 +1,38 @@
;; Ce fichier « home-environment » peut être passé à « guix home reconfigure » pour reproduire
;; le contenu de votre profil. Son contenu est « symbolique » : il ne spécifie que les
;; noms des paquets. Pour reproduire exactement le même profil, vous devez aussi
;; retenir les canaux utilisés, ceux renvoyés par « guix describe ».
;; Voir la section « Répliquer Guix » dans le manuel.
(use-modules (gnu home)
(gnu services)
(gnu packages)
(gnu packages gnupg)
(guix gexp)
(gnu home services shells)
(gnu home services gnupg))
(home-environment
(services
(list (service home-bash-service-type
(home-bash-configuration
(aliases '(
("clear" . "printf '\\033c'")
("dir" . "dir --color=auto")
("egrep" . "egrep --color=auto")
("fgrep" . "fgrep --color=auto")
("grep" . "grep --color=auto")
("la" . "ls -A")
("ll" . "ls -l")
("l" . "ls -CF")
("ls" . "ls -p --color=auto")
("vdir" . "vdir --color=auto")))
(bashrc (list (local-file "/home/neox/.config/guix//.bashrc" "bashrc")))
(bash-profile (list (local-file
"/home/neox/.config/guix//.bash_profile"
"bash_profile")))))
(service home-gpg-agent-service-type
(home-gpg-agent-configuration
(pinentry-program
(file-append pinentry-gnome3 "/bin/pinentry-gnome3"))
(ssh-support? #t))))))

193
packages/defs/ada.scm Normal file
View File

@ -0,0 +1,193 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2016, 2018, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org>
;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (ada)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages bootstrap)
#:use-module (gnu packages compression)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages gcc)
#:use-module (gnu packages elf)
#:use-module (guix build-system copy)
#:use-module (guix build utils)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (ice-9 match)
#:use-module (ice-9 regex)
#:use-module (ice-9 popen))
(define-public libgnat-bootstrap
(package
(name "libgnat-bootstrap")
(version "10.3.0")
(source (origin
(method url-fetch)
(uri (string-append "http://us.archive.trisquel.info/trisquel/pool/main/g/"
"gcc-10/libgnat-10_"
version
"-15ubuntu1_amd64.deb"))
(sha256
(base32
"1grd7k4qjdclj12lqvrm5iamqixf0f5292zigrp4q9b3r509q13x"))))
(build-system copy-build-system)
(arguments
(list
#:validate-runpath? #f
#:phases
#~(modify-phases %standard-phases
(replace 'unpack
(lambda* (#:key source #:allow-other-keys)
(invoke "ar" "x" source)
(invoke "tar" "axvf" "data.tar.zst")
;(invoke "mv" "usr/bin" "bin")
(invoke "mv" "usr/lib" "lib")
(invoke "mv" "usr/share" "share")
;(invoke "mv" "usr/x86_64-linux-gnu" "x86_64-linux-gnu")
(invoke "rm" "control.tar.zst")
(invoke "rm" "debian-binary")
(invoke "rm" "data.tar.zst")
(invoke "rm" "-r" "usr")
#t))
(add-after 'install 'wrap
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(gnat (string-append out "/bin/gnat")))
(wrap-program gnat ))))
;(add-after 'install 'fix-rpath
; (lambda* (#:key outputs #:allow-other-keys)
; (let ((libdir (string-append (assoc-ref outputs "out") "/lib")))
; (for-each
; (lambda (file)
; (let* ((pipe (open-pipe* OPEN_READ "patchelf"
; "--print-rpath" file))
; (line (read-line pipe)))
; (and (zero? (close-pipe pipe))
; (invoke "patchelf" "--set-rpath"
; (string-append libdir ":" line)
; file))))
; (find-files libdir ".*\\.so$")))))
)))
(inputs
(list
libgccjit
gcc))
(native-inputs
(list
zstd
patchelf))
(home-page "https://gnu.org/software/gnat")
(synopsis "Ada language compiler")
(description (string-append "GNAT is a compiler for the Ada programming language."
"It produces optimized code on platforms supported by the GNU"
"Compiler Collection (GCC). The libgnat library provides runtime"
"components needed by most applications produced with GNAT."))
(license license:gpl3)))
(define-public gnat-bootstrap
(package
(name "gnat-bootstrap")
(version "10.3.0")
(source (origin
(method url-fetch)
(uri (string-append "http://us.archive.trisquel.info/trisquel/pool/main/g/"
"gcc-10/gnat-10_"
version
"-15ubuntu1_amd64.deb"))
(sha256
(base32
"0b8fmqwbgpg0fy2f27z2gz6lnha4nqil30bbzhrmasai98l4mcpp"))))
(build-system copy-build-system)
(arguments
(list
#:validate-runpath? #f
#:phases
#~(modify-phases %standard-phases
(replace 'unpack
(lambda* (#:key source #:allow-other-keys)
(invoke "ar" "x" source)
(invoke "tar" "axvf" "data.tar.zst")
(invoke "mv" "usr/bin" "bin")
(invoke "mv" "usr/lib" "lib")
(invoke "mv" "usr/share" "share")
;(invoke "mv" "usr/x86_64-linux-gnu" "x86_64-linux-gnu")
(invoke "rm" "control.tar.zst")
(invoke "rm" "debian-binary")
(invoke "rm" "data.tar.zst")
(invoke "rm" "-r" "usr")
#t))
(add-after 'install 'input-symlink
(lambda* (#:key inputs outputs #:allow-other-keys)
;(setenv "CONFIG_SHELL" (which "bash"))
;(setenv "LD_LIBRARY_PATH"
;(string-append (assoc-ref inputs "gmp") "/lib"))
;invoke "patchelf" "--set-interpreter"
; (search-input-file inputs #$(glibc-dynamic-linker))
; (string-append (assoc-ref inputs "libgnat-bootstrap")
; "/lib/x86_64-linux-gnu/libgnarl-10.so"))
;(invoke "patchelf" "--set-interpreter"
; (search-input-file inputs #$(glibc-dynamic-linker))
; (string-append (assoc-ref inputs "libgnat-bootstrap")
; "/lib/x86_64-linux-gnu/libgnat-10.so"))
(invoke "echo" (string-append (assoc-ref inputs "libgnat-bootstrap")
"/lib/x86_64-linux-gnu/libgnarl-10.so"))
(invoke "echo" (string-append (assoc-ref outputs "out")
"/lib/x86_64-linux-gnu/libgnarl-10.so"))
(symlink (string-append (assoc-ref inputs "libgnat-bootstrap")
"/lib/x86_64-linux-gnu/libgnarl-10.so")
(string-append (assoc-ref outputs "out")
"/lib/x86_64-linux-gnu/libgnarl-10.so"))
(symlink (string-append (assoc-ref inputs "libgnat-bootstrap")
"/lib/x86_64-linux-gnu/libgnat-10.so")
(string-append (assoc-ref outputs "out")
"/lib/x86_64-linux-gnu/libgnat-10.so"))
#t)))))
(inputs
(list
libgnat-bootstrap
elfutils
gmp
isl
mpc
mpfr
libgccjit
zstd
zlib))
(native-inputs
(list
zstd
patchelf))
(home-page "https://gnu.org/software/gnat")
(synopsis "Ada language compiler")
(description " GNAT is a compiler for the Ada programming language. It produces optimized code on platforms supported by the GNU Compiler Collection (GCC). The libgnat library provides runtime components needed by most applications produced with GNAT. ")
(license license:gpl3)))

View File

@ -0,0 +1,49 @@
(define-module (brainparty)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages gl)
#:use-module (gnu packages sdl)
#:use-module (gnu packages gcc)
#:use-module (gnu packages audio)
#:use-module (gnu packages networking)
#:use-module (gnu packages image)
#:use-module (gnu packages game-development)
#:use-module (gnu packages curl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages xorg)
#:use-module (guix build-system gnu)
#:use-module (guix build utils)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix utils))
(define-public brainparty
(package
(name "brainparty")
(version "0.61")
(source (origin
(method url-fetch)
(uri (string-append "https://launchpad.net/brainparty/trunk/"
version "/+download/brainparty" version ".tar.gz"))
(sha256
(base32 "09d6f43d7ij8xfimc9pqhml7d7k16dfyv8wgn98m94szniivac39"))))
(build-system gnu-build-system)
(inputs `(("sdl" ,sdl)
("sdl-image" ,sdl-image)
("sdl-mixer" ,sdl-mixer)
("sdl-ttf" ,sdl-ttf)
("sdl-gfx" ,sdl-gfx)
("mesa" ,mesa) ; For OpenGL support
("glu" ,glu)))
(arguments
`(#:phases (modify-phases %standard-phases
(delete 'configure))))
(home-page "https://launchpad.net/brainparty")
(synopsis "Brain Party - a fun, free puzzle game for all the family")
(description "Brain Party is a fun, free puzzle game for all the family
that's made up of 36 minigames designed to push your brain to its limits
by testing memory, logic, mathematics, reaction time and more!")
(license license:gpl3+)))

BIN
packages/defs/icecat-.zip Normal file

Binary file not shown.

View File

@ -0,0 +1,49 @@
Fixes needed when avoiding bundled libraries.
--- icecat-60.5.0/xpcom/build/moz.build.orig 2018-09-13 17:46:49.000000000 -0400
+++ icecat-60.5.0/xpcom/build/moz.build 2018-09-22 04:26:50.659564554 -0400
@@ -99,10 +99,5 @@
'/docshell/base',
]
-if CONFIG['MOZ_VPX']:
- LOCAL_INCLUDES += [
- '/media/libvpx',
- ]
-
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
CXXFLAGS += CONFIG['TK_CFLAGS']
--- icecat-60.5.0/storage/moz.build.orig 2018-09-13 17:51:11.000000000 -0400
+++ icecat-60.5.0/storage/moz.build 2018-09-22 04:26:50.659564554 -0400
@@ -117,7 +117,6 @@
DEFINES['MOZ_MEMORY_TEMP_STORE_PRAGMA'] = True
LOCAL_INCLUDES += [
- '/db/sqlite3/src',
'/dom/base',
]
--- icecat-60.5.0/dom/indexedDB/moz.build.orig 2018-09-13 17:49:42.000000000 -0400
+++ icecat-60.5.0/dom/indexedDB/moz.build 2018-09-22 04:26:50.663564574 -0400
@@ -102,7 +102,6 @@
CXXFLAGS += ['-Wno-error=shadow']
LOCAL_INCLUDES += [
- '/db/sqlite3/src',
'/dom/base',
'/dom/storage',
'/ipc/glue',
--- icecat-60.5.0/media/webrtc/trunk/webrtc/base/rtc_task_queue_gn/moz.build.orig 2018-09-13 17:40:54.000000000 -0400
+++ icecat-60.5.0/media/webrtc/trunk/webrtc/base/rtc_task_queue_gn/moz.build 2018-09-23 21:33:12.319975105 -0400
@@ -130,11 +130,6 @@
DEFINES["WEBRTC_POSIX"] = True
DEFINES["_FILE_OFFSET_BITS"] = "64"
- LOCAL_INCLUDES += [
- "/ipc/chromium/src/third_party/libevent/include/",
- "/ipc/chromium/src/third_party/libevent/linux/"
- ]
-
UNIFIED_SOURCES += [
"/media/webrtc/trunk/webrtc/base/task_queue_libevent.cc",
"/media/webrtc/trunk/webrtc/base/task_queue_posix.cc"

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,51 @@
Make some of the changes needed to the 'makeicecat' script, to allow it to run
in a snippet without network access. After this patch is applied, some
additional changes will be made using 'substitute*'.
diff --git a/makeicecat b/makeicecat
index bf2b7a6..bc3b19b 100755
--- a/makeicecat
+++ b/makeicecat
@@ -58,7 +58,7 @@ readonly SOURCEDIR=icecat-${FFVERSION}
# debug/shell options
readonly DEVEL=0
set -euo pipefail
-(( DEVEL )) && set -x
+set -x
###############################################################################
@@ -459,7 +459,7 @@ configure_search()
sed 's|ddg@|ddg-html@|' -i browser/components/search/extensions/ddg-html/manifest.json
# Process various JSON pre-configuration dumps.
- python3 ../../tools/process-json-files.py . browser/components/extensions/schemas/
+ python3 "${DATADIR}"/../tools/process-json-files.py . browser/components/extensions/schemas/
}
configure_mobile()
@@ -855,12 +855,12 @@ finalize_sourceball()
# entry point
###############################################################################
-validate_env || exit 1
-prepare_env
-fetch_source
-verify_sources
-extract_sources
-fetch_l10n
+# validate_env || exit 1
+# prepare_env
+# fetch_source
+# verify_sources
+# extract_sources
+# fetch_l10n
apply_patches
configure
configure_search
@@ -872,4 +872,4 @@ prepare_macos_packaging
configure_extensions
configure_onboarding
apply_bugfixes
-finalize_sourceball
+# finalize_sourceball

View File

@ -0,0 +1,226 @@
Allow building against system-wide graphite2/harfbuzz.
See <https://bugzilla.mozilla.org/show_bug.cgi?id=847568>
Based on:
https://svnweb.freebsd.org/ports/head/www/firefox-esr/files/patch-bug847568?revision=472833&view=co
Modified for use with patch -p1, and to apply cleanly to GNU IceCat.
--- icecat-60.5.0/config/system-headers.mozbuild
+++ icecat-60.5.0/config/system-headers.mozbuild
@@ -1311,6 +1311,19 @@
'pixman.h',
]
+if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
+ system_headers += [
+ 'graphite2/Font.h',
+ 'graphite2/Segment.h',
+ ]
+
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ system_headers += [
+ 'harfbuzz/hb-glib.h',
+ 'harfbuzz/hb-ot.h',
+ 'harfbuzz/hb.h',
+ ]
+
if CONFIG['MOZ_SYSTEM_LIBVPX']:
system_headers += [
'vpx_mem/vpx_mem.h',
--- icecat-60.5.0/dom/base/moz.build
+++ icecat-60.5.0/dom/base/moz.build
@@ -474,6 +474,9 @@
if CONFIG['MOZ_X11']:
CXXFLAGS += CONFIG['TK_CFLAGS']
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+
GENERATED_FILES += [
'PropertyUseCounterMap.inc',
'UseCounterList.h',
--- icecat-60.5.0/gfx/graphite2/moz-gr-update.sh
+++ icecat-60.5.0/gfx/graphite2/moz-gr-update.sh
@@ -1,6 +1,7 @@
#!/bin/bash
# Script used to update the Graphite2 library in the mozilla source tree
+# and bump version for --with-system-graphite2
# This script lives in gfx/graphite2, along with the library source,
# but must be run from the top level of the mozilla-central tree.
@@ -37,12 +38,16 @@ echo "See" $0 "for update procedure." >> gfx/graphite2/README.mozilla
#find gfx/graphite2/ -name "*.cpp" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \;
#find gfx/graphite2/ -name "*.h" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \;
+# chase version for --with-system-graphite2
+perl -p -i -e "s/[0-9]+\,[0-9]+\,[0-9]+/$RELEASE/ and tr/./,/ \
+ if /GR2_VERSION_REQUIRE/" old-configure.in
+
# summarize what's been touched
echo Updated to $RELEASE.
echo Here is what changed in the gfx/graphite2 directory:
echo
-hg stat gfx/graphite2
+hg stat old-configure.in gfx/graphite2
echo
echo If gfx/graphite2/src/files.mk has changed, please make corresponding
--- icecat-60.5.0/gfx/moz.build
+++ icecat-60.5.0/gfx/moz.build
@@ -10,6 +10,12 @@ with Files('**'):
if CONFIG['MOZ_TREE_CAIRO']:
DIRS += ['cairo']
+if not CONFIG['MOZ_SYSTEM_GRAPHITE2']:
+ DIRS += ['graphite2/src' ]
+
+if not CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ DIRS += ['harfbuzz/src']
+
DIRS += [
'2d',
'ycbcr',
@@ -18,8 +24,6 @@ DIRS += [
'qcms',
'gl',
'layers',
- 'graphite2/src',
- 'harfbuzz/src',
'ots/src',
'thebes',
'ipc',
--- icecat-60.5.0/gfx/skia/generate_mozbuild.py
+++ icecat-60.5.0/gfx/skia/generate_mozbuild.py
@@ -148,6 +148,9 @@
'-Wno-unused-private-field',
]
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk3', 'android'):
CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
--- icecat-60.5.0/gfx/skia/moz.build
+++ icecat-60.5.0/gfx/skia/moz.build
@@ -822,6 +822,9 @@
'-Wno-unused-private-field',
]
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk3', 'android'):
CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
--- icecat-60.5.0/gfx/thebes/moz.build
+++ icecat-60.5.0/gfx/thebes/moz.build
@@ -272,7 +272,13 @@
LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES']
-DEFINES['GRAPHITE2_STATIC'] = True
+if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
+ CXXFLAGS += CONFIG['MOZ_GRAPHITE2_CFLAGS']
+else:
+ DEFINES['GRAPHITE2_STATIC'] = True
+
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
if CONFIG['CC_TYPE'] == 'clang':
# Suppress warnings from Skia header files.
--- icecat-60.5.0/intl/unicharutil/util/moz.build
+++ icecat-60.5.0/intl/unicharutil/util/moz.build
@@ -25,4 +25,7 @@ UNIFIED_SOURCES += [
'nsUnicodeProperties.cpp',
]
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+
FINAL_LIBRARY = 'xul'
--- icecat-60.5.0/netwerk/dns/moz.build
+++ icecat-60.5.0/netwerk/dns/moz.build
@@ -76,3 +76,6 @@
if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
CXXFLAGS += ['-Wno-error=shadow']
+
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
--- icecat-60.5.0/old-configure.in
+++ icecat-60.5.0/old-configure.in
@@ -3971,6 +3971,27 @@
AC_SUBST(MOZ_LINUX_32_SSE2_STARTUP_ERROR)
dnl ========================================================
+dnl Check for graphite2
+dnl ========================================================
+if test -n "$MOZ_SYSTEM_GRAPHITE2"; then
+ dnl graphite2.pc has bogus version, check manually
+ _SAVE_CFLAGS=$CFLAGS
+ CFLAGS="$CFLAGS $MOZ_GRAPHITE2_CFLAGS"
+ AC_TRY_COMPILE([ #include <graphite2/Font.h>
+ #define GR2_VERSION_REQUIRE(major,minor,bugfix) \
+ ( GR2_VERSION_MAJOR * 10000 + GR2_VERSION_MINOR \
+ * 100 + GR2_VERSION_BUGFIX >= \
+ (major) * 10000 + (minor) * 100 + (bugfix) )
+ ], [
+ #if !GR2_VERSION_REQUIRE(1,3,10)
+ #error "Insufficient graphite2 version."
+ #endif
+ ], [],
+ [AC_MSG_ERROR([--with-system-graphite2 requested but no working libgraphite2 found])])
+ CFLAGS=$_SAVE_CFLAGS
+fi
+
+dnl ========================================================
dnl Check for pixman and cairo
dnl ========================================================
--- icecat-60.5.0/toolkit/library/moz.build
+++ icecat-60.5.0/toolkit/library/moz.build
@@ -235,6 +235,12 @@
if CONFIG['MOZ_SYSTEM_PNG']:
OS_LIBS += CONFIG['MOZ_PNG_LIBS']
+if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
+ OS_LIBS += CONFIG['MOZ_GRAPHITE2_LIBS']
+
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ OS_LIBS += CONFIG['MOZ_HARFBUZZ_LIBS']
+
if CONFIG['MOZ_SYSTEM_HUNSPELL']:
OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
--- icecat-60.5.0/toolkit/moz.configure
+++ icecat-60.5.0/toolkit/moz.configure
@@ -1051,6 +1051,26 @@
add_old_configure_assignment('FT2_CFLAGS',
ft2_info.cflags)
+# Graphite2
+# ==============================================================
+option('--with-system-graphite2',
+ help="Use system graphite2 (located with pkgconfig)")
+
+system_graphite2 = pkg_check_modules('MOZ_GRAPHITE2', 'graphite2',
+ when='--with-system-graphite2')
+
+set_config('MOZ_SYSTEM_GRAPHITE2', depends_if(system_graphite2)(lambda _: True))
+
+# HarfBuzz
+# ==============================================================
+option('--with-system-harfbuzz',
+ help="Use system harfbuzz (located with pkgconfig)")
+
+system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.7.4',
+ when='--with-system-harfbuzz')
+
+set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True))
+
# Mortar
# ==============================================================
option('--enable-mortar', help='Enable mortar extension')

View File

@ -0,0 +1,380 @@
Support building with system media libraries.
See <https://bugzilla.mozilla.org/show_bug.cgi?id=517422>
Based on:
https://svnweb.freebsd.org/ports/head/www/firefox-esr/files/patch-z-bug517422?revision=472833&view=markup
Changes to files within the bundled libraries are omitted, since those files
are removed from Guix sources. Modified for use with patch -p1, and to apply
cleanly to GNU IceCat.
--- icecat-60.5.0/build/moz.configure/old.configure
+++ icecat-60.5.0/build/moz.configure/old.configure
@@ -273,7 +273,12 @@
'--with-system-libvpx',
'--with-system-nspr',
'--with-system-nss',
+ '--with-system-ogg',
'--with-system-png',
+ '--with-system-soundtouch',
+ '--with-system-theora',
+ '--with-system-tremor',
+ '--with-system-vorbis',
'--with-system-zlib',
'--with-thumb',
'--with-thumb-interwork',
--- icecat-60.5.0/config/external/moz.build
+++ icecat-60.5.0/config/external/moz.build
@@ -23,12 +23,21 @@
external_dirs += ['modules/xz-embedded']
-if CONFIG['MOZ_VORBIS']:
+if not CONFIG['MOZ_SYSTEM_OGG']:
+ external_dirs += ['media/libogg']
+
+if CONFIG['MOZ_VORBIS'] and not CONFIG['MOZ_SYSTEM_VORBIS']:
external_dirs += ['media/libvorbis']
-if CONFIG['MOZ_TREMOR']:
+if CONFIG['MOZ_TREMOR'] and not CONFIG['MOZ_SYSTEM_TREMOR']:
external_dirs += ['media/libtremor']
+if not CONFIG['MOZ_SYSTEM_THEORA']:
+ external_dirs += ['media/libtheora']
+
+if not CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
+ external_dirs += ['media/libsoundtouch']
+
if CONFIG['MOZ_WEBM_ENCODER']:
external_dirs += ['media/libmkv']
@@ -51,11 +60,8 @@
'media/kiss_fft',
'media/libcubeb',
'media/libnestegg',
- 'media/libogg',
'media/libopus',
- 'media/libtheora',
'media/libspeex_resampler',
- 'media/libsoundtouch',
'media/mp4parse-rust',
'media/psshparser'
]
--- icecat-60.5.0/config/system-headers.mozbuild
+++ icecat-60.5.0/config/system-headers.mozbuild
@@ -1324,6 +1324,28 @@
'harfbuzz/hb.h',
]
+if CONFIG['MOZ_SYSTEM_OGG']:
+ system_headers += [
+ 'ogg/ogg.h',
+ 'ogg/os_types.h',
+ ]
+
+if CONFIG['MOZ_SYSTEM_THEORA']:
+ system_headers += [
+ 'theora/theoradec.h',
+ ]
+
+if CONFIG['MOZ_SYSTEM_VORBIS']:
+ system_headers += [
+ 'vorbis/codec.h',
+ 'vorbis/vorbisenc.h',
+ ]
+
+if CONFIG['MOZ_SYSTEM_TREMOR']:
+ system_headers += [
+ 'tremor/ivorbiscodec.h',
+ ]
+
if CONFIG['MOZ_SYSTEM_LIBVPX']:
system_headers += [
'vpx_mem/vpx_mem.h',
--- icecat-60.5.0/dom/media/AudioStream.cpp
+++ icecat-60.5.0/dom/media/AudioStream.cpp
@@ -128,7 +128,9 @@
: mMonitor("AudioStream"),
mChannels(0),
mOutChannels(0),
+#ifndef MOZ_SYSTEM_SOUNDTOUCH
mTimeStretcher(nullptr),
+#endif
mDumpFile(nullptr),
mState(INITIALIZED),
mDataSource(aSource),
@@ -147,9 +149,11 @@
if (mDumpFile) {
fclose(mDumpFile);
}
+#ifndef MOZ_SYSTEM_SOUNDTOUCH
if (mTimeStretcher) {
soundtouch::destroySoundTouchObj(mTimeStretcher);
}
+#endif
#if defined(XP_WIN)
if (XRE_IsContentProcess()) {
audio::AudioNotificationReceiver::Unregister(this);
@@ -170,7 +174,11 @@
nsresult AudioStream::EnsureTimeStretcherInitializedUnlocked() {
mMonitor.AssertCurrentThreadOwns();
if (!mTimeStretcher) {
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
+ mTimeStretcher = new soundtouch::SoundTouch();
+#else
mTimeStretcher = soundtouch::createSoundTouchObj();
+#endif
mTimeStretcher->setSampleRate(mAudioClock.GetInputRate());
mTimeStretcher->setChannels(mOutChannels);
mTimeStretcher->setPitch(1.0);
--- icecat-60.5.0/dom/media/AudioStream.h
+++ icecat-60.5.0/dom/media/AudioStream.h
@@ -15,7 +15,11 @@
#include "mozilla/TimeStamp.h"
#include "mozilla/UniquePtr.h"
#include "CubebUtils.h"
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
+#include "soundtouch/SoundTouch.h"
+#else
#include "soundtouch/SoundTouchFactory.h"
+#endif
#if defined(XP_WIN)
#include "mozilla/audio/AudioNotificationReceiver.h"
@@ -293,7 +297,11 @@
uint32_t mChannels;
uint32_t mOutChannels;
AudioClock mAudioClock;
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
+ nsAutoPtr<soundtouch::SoundTouch> mTimeStretcher;
+#else
soundtouch::SoundTouch* mTimeStretcher;
+#endif
// Output file for dumping audio
FILE* mDumpFile;
--- icecat-60.5.0/dom/media/moz.build
+++ icecat-60.5.0/dom/media/moz.build
@@ -327,6 +327,21 @@
DEFINES['MOZILLA_INTERNAL_API'] = True
+if CONFIG['MOZ_SYSTEM_OGG']:
+ CXXFLAGS += CONFIG['MOZ_OGG_CFLAGS']
+
+if CONFIG['MOZ_SYSTEM_THEORA']:
+ CXXFLAGS += CONFIG['MOZ_THEORA_CFLAGS']
+
+if CONFIG['MOZ_SYSTEM_VORBIS']:
+ CXXFLAGS += CONFIG['MOZ_VORBIS_CFLAGS']
+
+if CONFIG['MOZ_SYSTEM_TREMOR']:
+ CXXFLAGS += CONFIG['MOZ_TREMOR_CFLAGS']
+
+if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
+ CXXFLAGS += CONFIG['MOZ_SOUNDTOUCH_CFLAGS']
+
if CONFIG['MOZ_ANDROID_HLS_SUPPORT']:
DEFINES['MOZ_ANDROID_HLS_SUPPORT'] = True
--- icecat-60.5.0/dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
+++ icecat-60.5.0/dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
@@ -15,9 +15,13 @@
#include <windows.h>
#endif
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
+#include "nsXPCOMPrivate.h" // for XUL_DLL
+#else
// We use a known symbol located in lgpllibs to determine its location.
// soundtouch happens to be always included in lgpllibs
#include "soundtouch/SoundTouch.h"
+#endif
namespace mozilla {
@@ -60,6 +64,12 @@
sLinkStatus = LinkStatus_FAILED;
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
+ // We retrieve the path of the XUL library as this is where mozavcodec and
+ // mozavutil libs are located.
+ char* path =
+ PR_GetLibraryFilePathname(XUL_DLL, (PRFuncPtr)&FFVPXRuntimeLinker::Init);
+#else
// We retrieve the path of the lgpllibs library as this is where mozavcodec
// and mozavutil libs are located.
PathString lgpllibsname = GetLibraryName(nullptr, "lgpllibs");
@@ -68,6 +78,7 @@
}
PathString path = GetLibraryFilePathname(
lgpllibsname.get(), (PRFuncPtr)&soundtouch::SoundTouch::getVersionId);
+#endif
if (path.IsEmpty()) {
return false;
}
--- icecat-60.5.0/old-configure.in
+++ icecat-60.5.0/old-configure.in
@@ -2417,6 +2417,111 @@
fi
fi # COMPILE_ENVIRONMENT
+dnl ========================================================
+dnl Check for libogg
+dnl ========================================================
+
+MOZ_ARG_WITH_BOOL(system-ogg,
+[ --with-system-ogg Use system libogg (located with pkgconfig)],
+MOZ_SYSTEM_OGG=1,
+MOZ_SYSTEM_OGG=)
+
+if test -n "$MOZ_SYSTEM_OGG"; then
+ PKG_CHECK_MODULES(MOZ_OGG, ogg >= 1.3.3)
+
+ _SAVE_LIBS=$LIBS
+ LIBS="$LIBS $MOZ_OGG_LIBS"
+ AC_CHECK_FUNC(ogg_set_mem_functions, [],
+ [AC_DEFINE(MOZ_OGG_NO_MEM_REPORTING)])
+ LIBS=$_SAVE_LIBS
+fi
+
+AC_SUBST(MOZ_SYSTEM_OGG)
+
+dnl ========================================================
+dnl Check for libvorbis
+dnl ========================================================
+
+MOZ_ARG_WITH_BOOL(system-vorbis,
+[ --with-system-vorbis Use system libvorbis (located with pkgconfig)],
+MOZ_SYSTEM_VORBIS=1,
+MOZ_SYSTEM_VORBIS=)
+
+if test -n "$MOZ_SYSTEM_VORBIS"; then
+ PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.6)
+fi
+
+AC_SUBST(MOZ_SYSTEM_VORBIS)
+
+dnl ========================================================
+dnl Check for integer-only libvorbis aka tremor
+dnl ========================================================
+
+MOZ_ARG_WITH_BOOL(system-tremor,
+[ --with-system-tremor Use system libtremor (located with pkgconfig)],
+MOZ_SYSTEM_TREMOR=1,
+MOZ_SYSTEM_TREMOR=)
+
+if test -n "$MOZ_SYSTEM_TREMOR"; then
+ PKG_CHECK_MODULES(MOZ_TREMOR, vorbisidec >= 1.2.1)
+fi
+
+AC_SUBST(MOZ_SYSTEM_TREMOR)
+
+dnl ========================================================
+dnl Check for libtheora
+dnl ========================================================
+
+MOZ_ARG_WITH_BOOL(system-theora,
+[ --with-system-theora Use system libtheora (located with pkgconfig)],
+MOZ_SYSTEM_THEORA=1,
+MOZ_SYSTEM_THEORA=)
+
+if test -n "$MOZ_SYSTEM_THEORA"; then
+ PKG_CHECK_MODULES(MOZ_THEORA, theora >= 1.2)
+fi
+
+AC_SUBST(MOZ_SYSTEM_THEORA)
+
+dnl ========================================================
+dnl Check for libSoundTouch
+dnl ========================================================
+
+MOZ_ARG_WITH_BOOL(system-soundtouch,
+[ --with-system-soundtouch Use system libSoundTouch (located with pkgconfig)],
+MOZ_SYSTEM_SOUNDTOUCH=1,
+MOZ_SYSTEM_SOUNDTOUCH=)
+
+if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then
+ PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.9.0)
+
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ _SAVE_CXXFLAGS=$CXXFLAGS
+ CXXFLAGS="$CXXFLAGS $MOZ_SOUNDTOUCH_CFLAGS"
+ AC_CACHE_CHECK(for soundtouch sample type,
+ ac_cv_soundtouch_sample_type,
+ [AC_TRY_COMPILE([#include <SoundTouch.h>
+ #ifndef SOUNDTOUCH_INTEGER_SAMPLES
+ #error soundtouch expects float samples
+ #endif],
+ [],
+ [ac_cv_soundtouch_sample_type=short],
+ [ac_cv_soundtouch_sample_type=float])])
+ CXXFLAGS=$_SAVE_CXXFLAGS
+ AC_LANG_RESTORE
+
+ if test \( -n "$MOZ_SAMPLE_TYPE_S16" -a "$ac_cv_soundtouch_sample_type" != short \) \
+ -o \( -n "$MOZ_SAMPLE_TYPE_FLOAT32" -a "$ac_cv_soundtouch_sample_type" != float \) ; then
+ AC_MSG_ERROR([SoundTouch library is built with incompatible sample type. Either rebuild the library with/without --enable-integer-samples, chase default Mozilla sample type or remove --with-system-soundtouch.])
+ fi
+fi
+
+if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then
+ AC_DEFINE(MOZ_SYSTEM_SOUNDTOUCH)
+fi
+AC_SUBST(MOZ_SYSTEM_SOUNDTOUCH)
+
dnl system libvpx Support
dnl ========================================================
MOZ_ARG_WITH_BOOL(system-libvpx,
--- icecat-60.5.0/toolkit/library/moz.build
+++ icecat-60.5.0/toolkit/library/moz.build
@@ -244,6 +244,21 @@
if CONFIG['MOZ_SYSTEM_HUNSPELL']:
OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
+if CONFIG['MOZ_SYSTEM_OGG']:
+ OS_LIBS += CONFIG['MOZ_OGG_LIBS']
+
+if CONFIG['MOZ_SYSTEM_THEORA']:
+ OS_LIBS += CONFIG['MOZ_THEORA_LIBS']
+
+if CONFIG['MOZ_SYSTEM_VORBIS']:
+ OS_LIBS += CONFIG['MOZ_VORBIS_LIBS']
+
+if CONFIG['MOZ_SYSTEM_TREMOR']:
+ OS_LIBS += CONFIG['MOZ_TREMOR_LIBS']
+
+if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
+ OS_LIBS += CONFIG['MOZ_SOUNDTOUCH_LIBS']
+
if CONFIG['MOZ_SYSTEM_LIBEVENT']:
OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']
--- icecat-60.5.0/xpcom/build/XPCOMInit.cpp
+++ icecat-60.5.0/xpcom/build/XPCOMInit.cpp
@@ -139,7 +139,9 @@
#include "mozilla/ipc/GeckoChildProcessHost.h"
+#ifndef MOZ_OGG_NO_MEM_REPORTING
#include "ogg/ogg.h"
+#endif
#if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
#if defined(HAVE_STDINT_H)
// mozilla-config.h defines HAVE_STDINT_H, and then it's defined *again* in
@@ -635,10 +637,12 @@
// this oddness.
mozilla::SetICUMemoryFunctions();
+#ifndef MOZ_OGG_NO_MEM_REPORTING
// Do the same for libogg.
ogg_set_mem_functions(
OggReporter::CountingMalloc, OggReporter::CountingCalloc,
OggReporter::CountingRealloc, OggReporter::CountingFree);
+#endif
#if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
// And for VPX.

View File

@ -0,0 +1,239 @@
(define-module (kdenlive-movit)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (guix build-system qt)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages gnome)
#:use-module (gnu packages linux)
#:use-module (gnu packages video)
#:use-module (gnu packages gtk)
#:use-module (gnu packages xml)
#:use-module (gnu packages audio)
#:use-module (gnu packages photo)
#:use-module (gnu packages xiph)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages autotools)
#:use-module (gnu packages algebra)
#:use-module (gnu packages gl)
#:use-module (gnu packages kde-plasma)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages qt)
#:use-module (gnu packages sdl)
#:use-module (gnu packages check)
#:use-module (gnu packages pkg-config))
(define-public movit
(package
(name "movit")
(version "1.7.1")
(source (origin
(method url-fetch)
(uri (string-append "https://movit.sesse.net/movit-" version
".tar.gz"))
(sha256
(base32
"06n1zfqjq74c4b82v6jfpd07nh0m2lam3ks296nbdk7h0nvp6c5k"))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f
#:make-flags #~'("GTEST_DIR=gtest/googletest")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'unpack-googletest
;; Copy the googletest sources to where the build system expects them.
(lambda* (#:key inputs #:allow-other-keys)
(let ((source (assoc-ref inputs "googletest-source"))
(target "gtest"))
(mkdir-p target)
(copy-recursively source target)
#t))))))
(native-inputs
`(("googletest-source" ,(package-source googletest))))
(inputs
(list
pkg-config
googletest
libepoxy
sdl2
fftw
eigen))
(synopsis "Modern Video Toolkit, a high performance library for video filters")
(description
"Movit is the Modern Video Toolkit, notwithstanding that anything that's called “modern” usually isn't, and it's really not a toolkit. It aims to be a high-quality, high-performance, free software library for video filters.")
(home-page "https://movit.sesse.net")
(license license:gpl2)))
(define-public mlt-movit
(package
(name "mlt-movit")
(version "7.20.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mltframework/mlt")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1dc09j8yvis6ilba5a13qicf6wbgxnzwllab6h48kzfl1lc0n8g7"))))
(build-system cmake-build-system)
(arguments
(list
#:tests? #f ;requires "Kwalify"
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'override-LDFLAGS
(lambda _
(setenv "LDFLAGS"
(string-append "-Wl,-rpath=" #$output "/lib"))))
(add-after 'install 'wrap-executable
(lambda _
(let* ((frei0r #$(this-package-input "frei0r-plugins"))
(ladspa #$(this-package-input "ladspa"))
(movit #$(this-package-input "movit"))
;; In MLT 7, 'melt' symlinks to 'melt-7'. Try to keep
;; compatibility with MLT 6 where it's only 'melt'.
(major #$(version-major version))
(exec (if (file-exists?
(string-append #$output "/bin/melt-" major))
(string-append "melt-" major)
"melt")))
(wrap-program (string-append #$output "/bin/" exec)
`("FREI0R_PATH" ":" =
(,(string-append frei0r "/lib/frei0r-1")))
`("LADSPA_PATH" ":" =
(,(string-append ladspa "/lib/ladspa"))))))))))
(inputs
(list alsa-lib
`(,alsa-plugins "pulseaudio")
bash-minimal
ffmpeg
fftw
frei0r-plugins
gdk-pixbuf
gtk+
libxml2
jack-1
ladspa
libebur128
libexif
libvorbis
movit
eigen
rubberband
libsamplerate
pulseaudio
qtbase-5
qtsvg-5
rtaudio
sdl2
sdl2-image
sox
vidstab))
(native-inputs
(list pkg-config))
(home-page "https://www.mltframework.org/")
(synopsis "Author, manage, and run multitrack audio/video compositions")
(description
"MLT is a multimedia framework, designed and developed for television
broadcasting. It provides a toolkit for broadcasters, video editors, media
players, transcoders, web streamers and many more types of applications. The
functionality of the system is provided via an assortment of ready to use
tools, XML authoring components, and an extensible plug-in based API.")
(license license:lgpl2.1+)))
(define-public kdenlive-movit
(package
(name "kdenlive-movit")
(version "23.04.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://invent.kde.org/multimedia/kdenlive")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0dgrgnnq38nphfzbapr7dkb21lv4idqynxqmzv9x3maijmp1jjfr"))))
(build-system qt-build-system)
(arguments
;; XXX: there is a single test that spawns other tests and
;; 1/3 tests failed and 1/327 assertions failed. It seems
;; that individual tests can't be skipped.
(list
#:configure-flags #~(list "-DBUILD_TESTING=off")
#:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'wrap-executable
(lambda _
(let* ((ffmpeg #$(this-package-input "ffmpeg"))
(frei0r #$(this-package-input "frei0r-plugins"))
(ladspa #$(this-package-input "ladspa"))
(qtbase #$(this-package-input "qtbase")))
(wrap-program (string-append #$output "/bin/kdenlive")
`("PATH" ":" prefix
,(list (string-append ffmpeg "/bin")))
`("FREI0R_PATH" ":" =
(,(string-append frei0r "/lib/frei0r-1")))
`("LADSPA_PATH" ":" =
(,(string-append ladspa "/lib/ladspa")))
`("QT_QPA_PLATFORM_PLUGIN_PATH" ":" =
(,(string-append qtbase "/lib/qt5/plugins/platforms")))
`("MLT_PREFIX" ":" =
(,#$(this-package-input "mlt-movit"))))))))))
(native-inputs
(list extra-cmake-modules kdoctools pkg-config qttools-5))
(inputs
(list bash-minimal
breeze ; make dark them available easily
breeze-icons ; recommended icon set
ffmpeg
frei0r-plugins
karchive
kcrash
kdbusaddons
kdeclarative
kdoctools
kfilemetadata
kguiaddons
kiconthemes
kirigami
knewstuff
knotifications
knotifyconfig
kparts
kplotting
ladspa
mlt-movit
movit
rtaudio
purpose
qtbase-5
qtdeclarative-5
qtgraphicaleffects
qtmultimedia-5
qtnetworkauth-5
qtquickcontrols-5
qtquickcontrols2-5
qtscript
qtsvg-5
shared-mime-info))
(home-page "https://kdenlive.org")
(synopsis "Non-linear video editor")
(description "Kdenlive is an acronym for KDE Non-Linear Video Editor.
Non-linear video editing is much more powerful than beginner's (linear)
editors, hence it requires a bit more organization before starting. However,
it is not reserved to specialists and can be used for small personal
projects.")
(license license:gpl2+)))

View File

@ -0,0 +1,48 @@
(define-module (my_opengl_program)
#:use-module (guix packages)
#:use-module (gnu packages base)
#:use-module (gnu packages commencement)
#:use-module (gnu packages pkg-config)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages gl)
#:use-module (gnu packages bash)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages image))
(define-public my_opengl_program
(package
(name "my_opengl_program")
(version "1.0")
(source (origin
(method url-fetch)
(uri (string-append "file:///home/neox/Projets/compute_shader_test/archive.tar.xz"))
(sha256
(base32
"1zwpgis7py1bf8p88pz3mpai6a02qrdb8ww2fa9kxxdl9b8r2k81"))))
(build-system gnu-build-system)
(inputs
`(("bash" ,bash)
("coreutils" ,coreutils)
("gcc-toolchain" ,gcc-toolchain)
("pkg-config" ,pkg-config)
("findutils" ,findutils)
("make" ,make)
("glu" ,glu)
("glew" ,glew)
("glfw" ,glfw)
("mesa-headers" ,mesa-headers)
("mesa" ,mesa)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-source
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "path/to/source/file.c"
(("WIDTH 512") (string-append "WIDTH " (number->string WIDTH)))
(("HEIGHT 512") (string-append "HEIGHT " (number->string HEIGHT))))
#t)))))
(home-page "https://example.com/my-opengl-program")
(synopsis "My OpenGL Program")
(description "A program that uses OpenGL compute shaders to blur an image without display.")
(license license:gpl3)))

View File

@ -0,0 +1,314 @@
(define-module (nitrocli-nk3)
#:use-module (gnu packages)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix git-download)
#:use-module (guix build-system cargo)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages curl)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages crates-io)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
#:use-module (gnu packages dns)
#:use-module (gnu packages flex)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages gtk)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages man)
#:use-module (gnu packages networking)
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages popt)
#:use-module (gnu packages readline)
#:use-module (gnu packages qt)
#:use-module (gnu packages tls)
#:use-module (gnu packages tex)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages swig)
#:use-module (gnu packages suckless)
#:use-module (gnu packages web)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml))
(define-public rust-libudev-sys-custom
(package
(name "rust-libudev-sys-custom")
(version "0.1.4")
(source (origin
(method url-fetch)
(uri (crate-uri "libudev-sys" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"09236fdzlx9l0dlrsc6xx21v5x8flpfm3d5rjq9jr5ivlas6k11w"))))
(build-system cargo-build-system)
(arguments
`(#:tests? #f ; Tests want font files.
#:cargo-inputs
(("rust-pkg-config" ,rust-pkg-config-0.3)
("rust-libc-0.2" ,rust-libc-0.2))))
(inputs
(list eudev pkg-config))
(home-page "https://github.com/d-e-s-o/nitrocli")
(synopsis "Command line tool for Nitrokey devices")
(description
"nitrocli-nk3 is a program that provides a command line interface
for interaction with Nitrokey 3")
(license license:gpl3+)))
(define-public rust-udev-custom
(package
(name "rust-udev-custom")
(version "0.7.0")
(source (origin
(method url-fetch)
(uri (crate-uri "udev" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"06hr927z0fdn7ay0p817b9x19i5fagmpmvz95yhl4d1pf3bbpgaf"))))
(build-system cargo-build-system)
(arguments
`(#:tests? #f ; Tests want font files.
#:cargo-inputs
(("rust-io-lifetimes" ,rust-io-lifetimes-1)
("rust-mio" ,rust-mio-0.8)
("rust-pkg-config" ,rust-pkg-config-0.3)
("rust-libudev-sys-custom" ,rust-libudev-sys-custom)
("rust-libc-0.2" ,rust-libc-0.2))))
(inputs
(list pkg-config eudev))
(home-page "https://github.com/d-e-s-o/nitrocli")
(synopsis "Command line tool for Nitrokey devices")
(description
"nitrocli-nk3 is a program that provides a command line interface
for interaction with Nitrokey 3")
(license license:gpl3+)))
(define-public rust-hidapi-custom
(package
(name "rust-hidapi-custom")
(version "1.4.1")
(source (origin
(method url-fetch)
(uri (crate-uri "hidapi" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"08kqkz9vcayylfsp0w63svaz0vff3p6vyrhpp3g9h6b98drp3c9q"))))
(build-system cargo-build-system)
(arguments
`(#:tests? #f ; Tests want font files.
#:cargo-inputs
(("rust-cc" ,rust-cc-1)
("rust-pkg-config" ,rust-pkg-config-0.3)
("rust-nix" ,rust-nix-0.26)
("rust-udev-custom" ,rust-udev-custom)
("rust-libc-0.2" ,rust-libc-0.2))))
(inputs
(list hidapi gnupg eudev pkg-config libusb))
(home-page "https://github.com/d-e-s-o/nitrocli")
(synopsis "Command line tool for Nitrokey devices")
(description
"nitrocli-nk3 is a program that provides a command line interface
for interaction with Nitrokey 3")
(license license:gpl3+)))
(define-public rust-ctaphid-types-custom
(package
(name "rust-ctaphid-types-custom")
(version "0.2.0")
(source (origin
(method url-fetch)
(uri (crate-uri "ctaphid-types" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0l4k4gry2aik77ra55kys3n52s0avds6gapcklmm6d2idpccs527"))))
(build-system cargo-build-system)
(arguments
`(#:tests? #f ; Tests want font files.
#:cargo-inputs
(("rust-bitflags" ,rust-bitflags-1)
("rust-quickcheck" ,rust-quickcheck-1))))
(home-page "https://github.com/d-e-s-o/nitrocli")
(synopsis "Command line tool for Nitrokey devices")
(description
"nitrocli-nk3 is a program that provides a command line interface
for interaction with Nitrokey 3")
(license license:gpl3+)))
(define-public rust-ctaphid-custom
(package
(name "rust-ctaphid-custom")
(version "0.3.1")
(source (origin
(method url-fetch)
(uri (crate-uri "ctaphid" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"04gyyxgplp3wwlr6g6m34lqpbp1x5dalp1bha794hzklw51jfqma"))))
(build-system cargo-build-system)
(arguments
`(#:tests? #f ; Tests want font files.
#:cargo-inputs
(("rust-pkg-config" ,rust-pkg-config-0.3)
("rust-hidapi-custom" ,rust-hidapi-custom)
("rust-log" ,rust-log-0.4)
("rust-rand-core" ,rust-rand-core-0.6)
("rust-ctaphid-types-custom" ,rust-ctaphid-types-custom)
("rust-hex" ,rust-hex-0.4)
("rust-env-logger" ,rust-env-logger-0.9)
("rust-tap" ,rust-tap-1)
("rust-serde-cbor" ,rust-serde-cbor-0.11)
("rust-once-cell" ,rust-once-cell-1)
("rust-libc-0.2" ,rust-libc-0.2))))
(inputs
(list eudev pkg-config))
(home-page "https://github.com/d-e-s-o/nitrocli")
(synopsis "Command line tool for Nitrokey devices")
(description
"nitrocli-nk3 is a program that provides a command line interface
for interaction with Nitrokey 3")
(license license:gpl3+)))
(define-public rust-nitrokey3-custom
(package
(name "rust-nitrokey3-custom")
(version "0.3.0")
(source (origin
(method url-fetch)
(uri (crate-uri "nitrokey3" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0g75qfwvbfl4dg3zq2pdf06n5lwhmvqnl64jmisqvynqncksh4w0"))))
(build-system cargo-build-system)
(arguments
`(#:tests? #f ; Tests want font files.
#:cargo-inputs
(("rust-pkg-config" ,rust-pkg-config-0.3)
("rust-hidapi-custom" ,rust-hidapi-custom)
("rust-ctaphid-custom" ,rust-ctaphid-custom)
("rust-log" ,rust-log-0.4)
("rust-tap" ,rust-tap-1))))
(home-page "https://github.com/d-e-s-o/nitrocli")
(synopsis "Command line tool for Nitrokey devices")
(description
"nitrocli-nk3 is a program that provides a command line interface
for interaction with Nitrokey 3")
(license license:gpl3+)))
(define-public nitrocli-nk3
(package
(name "nitrocli-nk3")
(version "main")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~ireas/nitrocli-nk3")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0pipwxf166lkc3kjrnl6qfmjavwbhx4l7l9qk86l6g51l8qzq15d"))))
(build-system cargo-build-system)
(arguments
`(#:tests? #f ;; 2/164 tests fail, nitrocli-ext tests failing
#:cargo-inputs
(("rust-anyhow" ,rust-anyhow-1)
("rust-base32" ,rust-base32-0.4)
("rust-directories" ,rust-directories-3)
("rust-envy" ,rust-envy-0.4)
("rust-libc-0.2" ,rust-libc-0.2)
("rust-merge" ,rust-merge-0.1)
("rust-nitrokey3-custom" ,rust-nitrokey3-custom)
("rust-progressing" ,rust-progressing-3)
("rust-serde" ,rust-serde-1)
("rust-structopt" ,rust-structopt-0.3)
("rust-termion" ,rust-termion-1)
("rust-hex" ,rust-hex-0.4)
("rust-hidapi-custom" ,rust-hidapi-custom)
("rust-toml" ,rust-toml-0.5))
#:cargo-development-inputs
(("rust-nitrokey-test" ,rust-nitrokey-test-0.5)
("rust-nitrokey-test-state" ,rust-nitrokey-test-state-0.1)
("rust-regex" ,rust-regex-1)
("rust-tempfile" ,rust-tempfile-3))))
(inputs
(list hidapi gnupg pkg-config))
(home-page "https://github.com/d-e-s-o/nitrocli")
(synopsis "Command line tool for Nitrokey devices")
(description
"nitrocli-nk3 is a program that provides a command line interface
for interaction with Nitrokey 3")
(license license:gpl3+)))
(define-public nitrocli-custom
(package
(name "nitrocli-custom")
(version "devel")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/d-e-s-o/nitrocli")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0xy169qf5vckvzx48lmkcpd83pw5crnvfl8a7p5wp2cbkrl60pnc"))))
(build-system cargo-build-system)
(arguments
`(#:tests? #f ;; 2/164 tests fail, nitrocli-ext tests failing
#:cargo-inputs
(("rust-anyhow" ,rust-anyhow-1)
("rust-base32" ,rust-base32-0.4)
("rust-directories" ,rust-directories-4)
("rust-envy" ,rust-envy-0.4)
("rust-libc-0.2" ,rust-libc-0.2)
("rust-merge" ,rust-merge-0.1)
("rust-nitrokey" ,rust-nitrokey-0.9)
("rust-progressing" ,rust-progressing-3)
("rust-serde" ,rust-serde-1)
("rust-structopt" ,rust-structopt-0.3)
("rust-termion" ,rust-termion-1)
("rust-toml" ,rust-toml-0.5))
#:cargo-development-inputs
(("rust-nitrokey-test" ,rust-nitrokey-test-0.5)
("rust-nitrokey-test-state" ,rust-nitrokey-test-state-0.1)
("rust-regex" ,rust-regex-1)
("rust-tempfile" ,rust-tempfile-3))))
(inputs
(list hidapi gnupg))
(home-page "https://github.com/d-e-s-o/nitrocli")
(synopsis "Command line tool for Nitrokey devices")
(description
"nitrocli is a program that provides a command line interface
for interaction with Nitrokey Pro, Nitrokey Storage, and Librem Key
devices.")
(license license:gpl3+)))

View File

@ -0,0 +1,148 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2016, 2018, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org>
;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (speed-dreams)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages graphics)
#:use-module (gnu packages gl)
#:use-module (gnu packages xiph)
#:use-module (gnu packages sdl)
#:use-module (gnu packages audio)
#:use-module (gnu packages networking)
#:use-module (gnu packages image)
#:use-module (gnu packages game-development)
#:use-module (gnu packages curl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (guix build-system cmake)
#:use-module (guix build-system trivial)
#:use-module (guix build-system gnu)
#:use-module (guix build utils)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix utils))
(define-public plib-fpic
(package
(name "plib-fpic")
(version "1.8.5")
(source (origin
(method url-fetch)
(uri (string-append "http://plib.sourceforge.net/dist/"
"plib-" version ".tar.gz"))
(sha256
(base32
"0cha71mflpa10vh2l7ipyqk67dq2y0k5xbafwdks03fwdyzj4ns8"))
(patches (search-patches "plib-CVE-2011-4620.patch"
"plib-CVE-2012-4552.patch"))))
(build-system gnu-build-system)
(arguments
(list
#:make-flags
#~(list
"CFLAGS=-fPIC"
"CXXFLAGS=-fPIC")))
(inputs
(list mesa libxi libxmu))
(native-inputs
(list pkg-config))
(home-page "https://plib.sourceforge.net/")
(synopsis "Suite of portable game libraries")
(description "PLIB is a set of libraries that will permit programmers to
write games and other realtime interactive applications that are 100% portable
across a wide range of hardware and operating systems. PLIB includes sound
effects, music, a complete 3D engine, font rendering, a simple Windowing
library, a game scripting language, a GUI, networking, 3D math library and a
collection of handy utility functions. All are 100% portable across nearly
all modern computing platforms. Each library component is fairly independent
of the others")
(license license:lgpl2.0+)))
(define-public speed-dreams
(package
(name "speed-dreams")
(version "2.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://forge.chalec.org/neox/speed-dreams")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0w9l6lg4d20jiddkp1599l3hvy3y1745qv8pzb137kn8j2lz73c0"))))
(build-system cmake-build-system)
(arguments
(list
#:configure-flags
#~(list
"-DOPTION_UNLOAD_SSGGRAPH:BOOL=ON"
"-DCMAKE_CXX_FLAGS=-march=native"
"-DCMAKE_BUILD_TYPE=Release"
"-DOPTION_OFFICIAL_ONLY:BOOL=ON")
#:phases
#~(modify-phases %standard-phases
;(add-after 'unpack 'make-git-checkout-writable
;(lambda* (#:key inputs #:allow-other-keys)
;(make-file-writable "CMakeLists.txt")))
;(add-after 'unpack 'apply-patches
;(lambda* (#:key inputs #:allow-other-keys)
;(invoke "patch" "--force" "-p1"
;"speed-dreams-add-desktop-entry.patch")))
(delete 'validate-runpath)
(delete 'check))))
(native-inputs
(list
pkg-config))
(inputs
(list
openscenegraph
freeglut
libvorbis
sdl2
sdl2-mixer
openal
enet
expat
ijg-libjpeg
plib-fpic
libpng
curl))
(license license:gpl2)
(synopsis "SPEED")
(description
"SPEEEEEED.")
(home-page "https://www.speed-dreams.net/en/")))

View File

@ -0,0 +1,83 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2023 Adrien 'neox' Bourmault <neox@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (xmlcopyeditor)
#:use-module ((guix licenses)
#:select (gpl3+ lgpl2.0+ lgpl3+ public-domain))
#:use-module (gnu packages)
#:use-module (gnu packages aspell)
#:use-module (gnu packages boost)
#:use-module (gnu packages glib)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pcre)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xml)
#:use-module (guix i18n)
#:use-module (guix utils)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module ((guix licenses) #:prefix license:))
(define-public xmlcopyeditor
(package
(name "xmlcopyeditor")
(version "1.3.1.1")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://forge.chalec.org/neox/xml-copy-editor-code.git")
(commit version)))
(file-name
(git-file-name name version))
(sha256
(base32 "05fryg98knxlqsjgx3wwj6pqkw5nz6q5wgjcql8xdfxc2ggbcyb5"))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f
#:configure-flags
#~(list
(string-append
"--prefix=" #$output)
(string-append
"--exec-prefix=" #$output))))
(native-inputs
(list
intltool
pkg-config))
(inputs
(list
pcre2
wxwidgets
aspell
boost
xerces-c
libxml2
libxslt
expat))
(synopsis "XML Copy Editor")
(description
"Fast, free, validating XML editor.")
(home-page "https://xml-copy-editor.sourceforge.io/")
(license gpl3+)))

213
packages/manifest_lourd.scm Normal file
View File

@ -0,0 +1,213 @@
;; Ce fichier « manifeste » peut être passé à « guix package -m » pour reproduire
;; le contenu de votre profil. Son contenu est « symbolique » : il ne spécifie que les
;; noms des paquets. Pour reproduire exactement le même profil, vous devez aussi
;; retenir les canaux utilisés, ceux renvoyés par « guix describe ».
;; Voir la section « Répliquer Guix » dans le manuel.
(specifications->manifest
(list "0ad"
"adb"
"alsa-plugins"
"alsa-utils"
"ardour"
"atop"
"audacity"
"avldrums-lv2"
"bash-completion"
"bind:utils"
"bluefish"
"bsd-games"
"calf"
"cambalache"
"caps-plugins-lv2"
"chess"
"cmake"
"cmatrix"
"cpupower"
"cryptsetup"
"curl"
"cvs"
"dconf-editor"
"dino"
"dmidecode"
"dosage"
"eboard"
"endeavour"
"evolution"
"exfatprogs"
"fastboot"
"ffmpeg"
"flashrom"
"flatpak"
"fluida-lv2"
"font-awesome"
"font-liberation"
"font-openmoji"
"gdb"
"ghostwriter"
"gimp"
"git"
"git-lfs"
"git:send-email"
"gnome-builder"
"gnome-chess"
"gnome-font-viewer"
"gnome-power-manager"
"gnome-shell-extension-blur-my-shell"
"gnome-shell-extension-burn-my-windows"
"gnome-shell-extension-dash-to-dock"
"gnome-shell-extension-topicons-redux"
"gnome-shell-extension-transparent-window"
"gnome-tweaks"
"gnupg"
"gnuplot"
"gparted"
"graphviz"
"grub"
"gx-overdriver-lv2"
"gx-vintage-fuzz-master-lv2"
"gx-voodoo-fuzz-lv2"
"gzip"
"hexchat"
"hplip"
"htop"
"icecat-custom"
"inetutils"
"infamous-plugins"
"inkscape"
"jack"
"kapman"
"kbreakout"
"kdenlive"
"keysmith"
"ksirk"
"libnitrokey"
"libreoffice"
"libtree"
"licensecheck"
"linux-libre-documentation"
"lm-sensors"
"lollypop"
"lv2-speech-denoiser"
"lz4"
"make"
"man-pages"
"mediainfo"
"mda-lv2"
"meld"
"memtester"
"microcom"
"minetest"
"minicom"
"mpv"
"mumble"
"musescore"
"nbd"
"ncftp"
"neofetch"
"nextcloud-client"
"nmap"
"noise-repellent"
"ntfs-3g"
"obs"
"openssh"
"openssl"
"pandoc"
"parted"
"patchelf"
"pavucontrol"
"pinentry"
"pkg-config"
"pngquant"
"powertop"
"python"
"python2"
"python-logutils"
"python-markdown"
"python-unidecode"
"python-virtualenv"
"qbittorrent"
"qjackctl"
"qpdf"
"recutils"
"rkrlv2"
"rsync"
"rubber"
"screen"
"seahorse"
"sherlock-lv2"
"shiru-lv2"
"signal-desktop"
"signing-party"
"simplescreenrecorder"
"sl"
"speedtest-cli"
"sqlitebrowser"
"supertux"
"supertuxkart"
"swh-plugins-lv2"
"sysprof"
"system-config-printer"
"tap-lv2"
"testdisk"
"texlive-babel"
"texlive-babel-french"
"texlive-beamer"
"texlive-beamertheme-metropolis"
"texlive-beamertheme-pure-minimalistic"
"texlive-beamertheme-trigon"
"texlive-biber"
"texlive-biblatex"
"texlive-collection-fontsrecommended"
"texlive-collection-latexrecommended"
"texlive-fira"
"texlive-float"
"texlive-fontawesome"
"texlive-fontawesome5"
"texlive-fontspec"
"texlive-geometry"
"texlive-graphics"
"texlive-hypdoc"
"texlive-hyperref"
"texlive-latex"
"texlive-latex-uni8"
"texlive-listings"
"texlive-ly1"
"texlive-paracol"
"texlive-pgfopts"
"texlive-raleway"
"texlive-scheme-basic"
"texlive-setspace"
"texlive-silence"
"texlive-smartdiagram"
"texlive-sourcesanspro"
"texlive-tabularray"
"texlive-texdoc"
"texlive-tikz-3dplot"
"texlive-titlesec"
"texlive-tocloft"
"texlive-transparent"
"texlive-url"
"texlive-xcolor"
"texlive-xetex"
"texlive-xstring"
"texmaker"
"tig"
"transmission"
"tree"
"uefitool"
"ungoogled-chromium"
"valgrind"
"vlc"
"x42-plugins"
"xauth"
"xdg-desktop-portal"
"xdg-desktop-portal-gtk"
"xdot"
"xdotool"
"xonotic"
"xournalpp"
"youtube-dl"
"yt-dlp"
"zplugins"
"zstd" ))

View File

@ -0,0 +1,202 @@
;; Ce fichier « manifeste » peut être passé à « guix package -m » pour reproduire
;; le contenu de votre profil. Son contenu est « symbolique » : il ne spécifie que les
;; noms des paquets. Pour reproduire exactement le même profil, vous devez aussi
;; retenir les canaux utilisés, ceux renvoyés par « guix describe ».
;; Voir la section « Répliquer Guix » dans le manuel.
(specifications->manifest
(list "adb"
"alsa-plugins"
"alsa-utils"
"ardour"
"atop"
"audacity"
"bash-completion"
"bind:utils"
"bluefish"
"calf"
"cambalache"
"chess"
"cmake"
"cmatrix"
"cpupower"
"cryptsetup"
"curl"
"cvs"
"dconf-editor"
"dino"
"dmidecode"
"dosage"
"eboard"
"endeavour"
"evolution"
"exfatprogs"
"fastboot"
"ffmpeg"
"flashrom"
"flatpak"
"font-awesome"
"font-liberation"
"font-openmoji"
"gdb"
"ghostwriter"
"gimp"
"git"
"git-lfs"
"git:send-email"
"gnome-builder"
"gnome-chess"
"gnome-font-viewer"
"gnome-power-manager"
"gnome-shell-extension-blur-my-shell"
"gnome-shell-extension-burn-my-windows"
"gnome-shell-extension-dash-to-dock"
"gnome-shell-extension-topicons-redux"
"gnome-shell-extension-transparent-window"
"gnome-tweaks"
"gnupg"
"gnuplot"
"gparted"
"graphviz"
"grub"
"gx-overdriver-lv2"
"gx-vintage-fuzz-master-lv2"
"gx-voodoo-fuzz-lv2"
"gzip"
"hexchat"
"hplip"
"htop"
"icecat-custom"
"inetutils"
"infamous-plugins"
"inkscape"
"jack"
"kapman"
"kbreakout"
"kdenlive"
"keysmith"
"ksirk"
"libnitrokey"
"libreoffice"
"libtree"
"licensecheck"
"linux-libre-documentation"
"lm-sensors"
"lollypop"
"make"
"man-pages"
"mediainfo"
"meld"
"memtester"
"microcom"
"minetest"
"minicom"
"mpv"
"mumble"
"musescore"
"nbd"
"ncftp"
"neofetch"
"nextcloud-client"
"nmap"
"noise-repellent"
"ntfs-3g"
"obs"
"openssh"
"openssl"
"pandoc"
"parted"
"patchelf"
"pavucontrol"
"pinentry"
"pkg-config"
"pngquant"
"powertop"
"python"
"python2"
"python-logutils"
"python-markdown"
"python-unidecode"
"python-virtualenv"
"qbittorrent"
"qjackctl"
"qpdf"
"recutils"
"rkrlv2"
"rsync"
"rubber"
"screen"
"seahorse"
"signal-desktop"
"signing-party"
"simplescreenrecorder"
"sl"
"speedtest-cli"
"sqlitebrowser"
"supertux"
"supertuxkart"
"swh-plugins-lv2"
"sysprof"
"system-config-printer"
"tap-lv2"
"testdisk"
"texlive-babel"
"texlive-babel-french"
"texlive-beamer"
"texlive-beamertheme-metropolis"
"texlive-beamertheme-pure-minimalistic"
"texlive-beamertheme-trigon"
"texlive-biber"
"texlive-biblatex"
"texlive-collection-fontsrecommended"
"texlive-collection-latexrecommended"
"texlive-fira"
"texlive-float"
"texlive-fontawesome"
"texlive-fontawesome5"
"texlive-fontspec"
"texlive-geometry"
"texlive-graphics"
"texlive-hypdoc"
"texlive-hyperref"
"texlive-latex"
"texlive-latex-uni8"
"texlive-listings"
"texlive-ly1"
"texlive-paracol"
"texlive-pgfopts"
"texlive-raleway"
"texlive-scheme-basic"
"texlive-setspace"
"texlive-silence"
"texlive-smartdiagram"
"texlive-sourcesanspro"
"texlive-tabularray"
"texlive-texdoc"
"texlive-tikz-3dplot"
"texlive-titlesec"
"texlive-tocloft"
"texlive-transparent"
"texlive-url"
"texlive-xcolor"
"texlive-xetex"
"texlive-xstring"
"texmaker"
"tig"
"transmission"
"tree"
"uefitool"
"ungoogled-chromium"
"valgrind"
"vlc"
"xauth"
"xdg-desktop-portal"
"xdg-desktop-portal-gtk"
"xdot"
"xdotool"
"xonotic"
"xournalpp"
"youtube-dl"
"yt-dlp"
"zplugins"
"zstd" ))

View File