Compare commits

...

24 Commits

Author SHA1 Message Date
Adrien Bourmault 9800ba2db6
Speed Dreams 2023-12-13 12:06:43 +01:00
Adrien Bourmault 726e7b5867
travail sur speed dreams 2023-12-12 00:28:28 +01:00
Adrien Bourmault cf7f16bc2b
Maj gnuboot-utils & guix-repo 2023-11-26 01:47:07 +01:00
Adrien Bourmault aa0850cdf0
Libération 2023-11-07 11:04:50 +01:00
Adrien Bourmault 7679a26c9a
Ajout nitrokey 2023-10-13 22:54:55 +02:00
Adrien Bourmault 186d7d4725
added dasharo version of flashrom (for flashing ec) 2023-09-01 23:19:44 +02:00
Adrien Bourmault 6bf55e33c0
Cleaned .bash_profile 2023-09-01 19:24:43 +02:00
Adrien Bourmault 7c5f823e37
Cleanup icecat custom conf 2023-09-01 19:22:38 +02:00
Adrien Bourmault 12ef0de622
Changed readme title 2023-09-01 19:20:45 +02:00
Adrien Bourmault a30af860ae
Cleanup profile conf 2023-09-01 19:18:58 +02:00
Adrien Bourmault a763dcf26a
Refresh package list 2023-09-01 19:15:29 +02:00
Adrien Bourmault d5586705ac
Added GNU tools and deleted useless GIT variables 2023-09-01 19:06:27 +02:00
Adrien Bourmault 845b534468
Définition d'icecat 2023-06-19 09:35:51 +02:00
Adrien Bourmault 3b85849846
Ajout channel à substituts, icecustom et manifeste de paquets 2023-06-12 23:49:44 +02:00
Adrien Bourmault e927db9bcb
Modifs au 2 juin 2023-06-02 23:32:07 +02:00
Adrien Bourmault bbd2c64398
Reset 2023-01-15 23:04:08 +01:00
Adrien Bourmault eb979e037e
Cleanup 2023-01-10 22:38:37 +01:00
Adrien Bourmault 07d3b57b5b
Custom bashrc 2023-01-10 22:28:10 +01:00
Adrien Bourmault 3c24e88bd3
Cleanup 2023-01-10 22:23:00 +01:00
Adrien Bourmault ca39c6e359
Revert "Retour du channels.scm"
This reverts commit 3dda4748e5.
2023-01-10 20:44:41 +01:00
Adrien Bourmault 3dda4748e5
Retour du channels.scm 2023-01-10 20:43:34 +01:00
Adrien Bourmault 8a82e99355
Retour du channels.scm 2023-01-10 20:42:10 +01:00
Adrien Bourmault af97b3710b
Clean up 2023-01-10 13:59:21 +01:00
Adrien Bourmault f73b727f07
Ajout du home 2023-01-10 13:55:25 +01:00
17 changed files with 2489 additions and 1 deletions

8
.bash_profile Executable file
View File

@ -0,0 +1,8 @@
## -------------------
## CUSTOM BASH_PROFILE
## -------------------
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"

25
.bashrc Executable file
View File

@ -0,0 +1,25 @@
## -------------
## CUSTOM BASHRC
## -------------
# Adjust the prompt depending on whether we're in 'guix environment'.
if [ -n "$GUIX_ENVIRONMENT" ]
then
PS1='\[\033[01;31m\]\u\[\033[00m\]@\[\033[01;37m\]\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\] [env]\$ '
else
PS1='\[\033[01;31m\]\u\[\033[00m\]@\[\033[01;37m\]\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 PATH=$PATH:~/Projets/GNU/gnulib/build-aux:/home/neox/.local/bin
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

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
current

6
channels.scm Normal file
View File

@ -0,0 +1,6 @@
(use-modules (guix ci))
(list (channel-with-substitutes-available
%default-guix-channel
"https://ci.guix.gnu.org"))

39
home-configuration.scm Normal file
View File

@ -0,0 +1,39 @@
;; 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))))))

View File

@ -0,0 +1,110 @@
;;; 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 (flashrom_dasharo)
#: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 (gnu packages)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (gnu packages autotools)
#:use-module (gnu packages admin)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages documentation)
#:use-module (gnu packages elf)
#:use-module (gnu packages embedded)
#:use-module (gnu packages flex)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages groff)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages libusb)
#:use-module (gnu packages libftdi)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages qt)
#:use-module (gnu packages tls))
(define-public flashrom_dasharo
(package
(name "flashrom_dasharo")
(version "1.2.2")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/Dasharo/flashrom/archive/refs/tags/dasharo-v"
version ".tar.gz"))
(sha256
(base32
"04b409lfhb1c5nl0d7fj4vs36yg1388ic4n0xfv60kzxcsncal15"))))
(build-system gnu-build-system)
(inputs `(("dmidecode" ,dmidecode)
("pciutils" ,pciutils)
("zlib" ,zlib)
("libusb" ,libusb)
("libftdi" ,libftdi)))
(native-inputs `(("pkg-config" ,pkg-config)))
(arguments
'(#:make-flags
(list "CC=gcc"
(string-append "PREFIX=" %output)
"CONFIG_ENABLE_LIBUSB0_PROGRAMMERS=no")
#:tests? #f ; no 'check' target
#:phases
(modify-phases %standard-phases
(delete 'configure) ; no configure script
(add-before 'build 'patch-exec-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "dmi.c"
(("\"dmidecode\"")
(format #f "~S"
(string-append (assoc-ref inputs "dmidecode")
"/sbin/dmidecode"))))
#t)))))
(home-page "https://flashrom.org/")
(synopsis "Identify, read, write, erase, and verify ROM/flash chips")
(description
"flashrom is a utility for identifying, reading, writing,
verifying and erasing flash chips. It is designed to flash
BIOS/EFI/coreboot/firmware/optionROM images on mainboards,
network/graphics/storage controller cards, and various other
programmer devices.")
(license license:gpl2)))

View File

@ -0,0 +1,93 @@
;; Copyright (C) 2021 muradm <mail@muradm.net>
;; Copyright (C) 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;
;; This program 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.
;;
;; This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
(define-module (gnuboot-utils)
#:use-module (gnu packages gnupg)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils))
(define-public gnuboot-version "0.1-rc1")
(define-public gnuboot-source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/gnuboot/gnuboot-" gnuboot-version
"_src.tar.xz"))
(sha256
(base32
"0h3cdc7manb46zs7marqg63h8fjmg503n5x4wxyi9q638fp10csj"))))
(define-public
(make-gnuboot-utils-package
name
source
version
synopsis
description)
(package
(name name)
(version version)
(source source)
(build-system gnu-build-system)
(arguments
(list
#:tests? #f
#:make-flags
#~(list
(string-append "CC=" #$(cc-for-target))
(string-append "DESTDIR=" #$output)
"INSTALL=install"
"PREFIX=/")
#:phases
#~(modify-phases
%standard-phases
(delete 'configure)
(add-after
'unpack 'enter-source
(lambda _
(chdir (string-append "coreboot/default/util/" #$name)))))))
(synopsis synopsis)
(description description)
(home-page "https://www.gnu.org/software/gnuboot")
(license license:gpl2)))
(define-public cbfstool
(make-gnuboot-utils-package
"cbfstool"
gnuboot-source
gnuboot-version
"Tool to manipulate Coreboot image files."
""))
(define-public ifdtool
(make-gnuboot-utils-package
"ifdtool"
gnuboot-source
gnuboot-version
""
""))
(define-public nvramtool
(make-gnuboot-utils-package
"nvramtool"
gnuboot-source
gnuboot-version
""
""))

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"

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.

1099
packages/defs/icecustom.scm Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,102 @@
diff --git packaging/CMakeLists.txt packaging/CMakeLists.txt
index 4d796e18f..893a1a508 100644
--- packaging/CMakeLists.txt
+++ packaging/CMakeLists.txt
@@ -118,3 +118,5 @@ IF(NOT MSVC)
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMENT "Create tar source archives")
ENDIF(NOT MSVC)
+
+ADD_SUBDIRECTORY(desktop)
diff --git packaging/desktop/CMakeLists.txt packaging/desktop/CMakeLists.txt
new file mode 100644
index 000000000..b68d70ab5
--- /dev/null
+++ packaging/desktop/CMakeLists.txt
@@ -0,0 +1,21 @@
+# Copyright (C) 2022 Matthew Fennell <matthew.robert.fennell@gmail.com>
+#
+# This program 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 2 of the License, or
+# (at your option) any later version.
+#
+# This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
+IF(UNIX AND NOT APPLE)
+ INSTALL(FILES net.speed_dreams.desktop
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications)
+ INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/data/icons/icon.svg
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/scalable/apps
+ RENAME speed-dreams-2.svg)
+ENDIF(UNIX AND NOT APPLE)
diff --git packaging/desktop/net.speed_dreams.desktop packaging/desktop/net.speed_dreams.desktop
new file mode 100644
index 000000000..de1dadef0
--- /dev/null
+++ packaging/desktop/net.speed_dreams.desktop
@@ -0,0 +1,59 @@
+# Copyright (C) 2022 Hao Liang
+# Copyright (C) 2022 Matthew Fennell <matthew.robert.fennell@gmail.com>
+# Copyright (C) 2022 Zewei Jin
+# Copyright (C) 2022 franzopow
+# Copyright (C) 2022 leillo1975
+# Copyright (C) 2022 madbad82
+#
+# This program 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 2 of the License, or
+# (at your option) any later version.
+#
+# This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
+[Desktop Entry]
+Type=Application
+Name=Speed Dreams
+Icon=speed-dreams-2
+Exec=speed-dreams-2
+Terminal=false
+Categories=Game;SportsGame;
+Comment=Motorsport Simulator featuring high-quality 3D graphics and an accurate physics engine
+Comment[ca]=Simulador de deports de motor amb gràfics 3D d'alta calitat i un motor de física precís
+Comment[ca_ES@valencia]=Simulador de deports de motor amb gràfics 3D d'alta calitat i un motor de física precís
+Comment[de]=Motorsport Simulator mit hochwertigen 3D Grafiken und präziser Physik-Engine
+Comment[es]=Simulador de deportes de motor con gráficos 3D de alta calidad y un motor de física preciso
+Comment[eu]=Kalitate altuko 3D grafikak eta fisika zehatzeko eragileak dituen motorrezko kirolen simulatzailea
+Comment[gl]=Simulador de deportes de motor con gráficos 3D de alta calidade e un motor de física preciso
+Comment[it]=Simulatore di guida con grafica 3d di alta qualità e un accurato motore fisico
+Comment[nl]=Motorsportsimulator met 3D-graphics van hoge kwaliteit en een nauwkeurige physics-engine
+Comment[pt]=Simulador de esportes a motor com gráficos 3D de alta qualidade e um motor de física preciso
+Comment[zh_CN]=具有高清3D画质和精准物理引擎的赛车模拟器
+GenericName=Racing Game
+GenericName[ca]=Joc de carreres
+GenericName[ca_ES@valencia]=Joc de carreres
+GenericName[de]=Rennspiel
+GenericName[es]=Juego de carreras
+GenericName[eu]=Lasterketen jokoa
+GenericName[gl]=Xogo de carreiras
+GenericName[it]=Gioco di corse
+GenericName[nl]=Race spelletje
+GenericName[pt]=jogo de corrida
+GenericName[zh_CN]=赛车游戏
+Keywords=race;racing;drive;driving;racer;driver;track;motorsport;game;
+Keywords[ca]=carrera;racing;conducció;deport de motor;joc;cotxe;simulació;
+Keywords[ca_ES@valencia]=carrera;racing;conducció;deport de motor;joc;cotxe;simulació;
+Keywords[de]=Rennen;Fahren;Motorsport;Videospiel;Auto;Simulation
+Keywords[es]=carrera;racing;conducción;deporte de motor;juego;coche;simulación;
+Keywords[eu]=Lasterketa;kondukzioa;motor-kirola;jokoa;kotxe/auto;simulazioa
+Keywords[gl]=carreira;racing;conducción;deporte de motor;xogo;coche;simulación;
+Keywords[it]=corse;racing;guida;guidare;motorsport,gioco,macchine;simulatore
+Keywords[nl]=racen, racing, autorijden, motorsport, spelletjes, auto's, simulatie;
+Keywords[pt]=corrida, racing, condução, esporte a motor, jogos, carros, simulação
+Keywords[zh_CN]=赛车;驾驶;赛车运动;游戏;汽车;模拟;模拟器;竞速;

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/")))

150
packages/manifest.scm Normal file
View File

@ -0,0 +1,150 @@
;; 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 "xonotic"
"kdenlive"
"icecat-custom"
"giara"
"audacity"
"0ad"
"linux-libre-documentation"
"keysmith"
"ksirk"
"kbreakout"
"kapman"
"nextcloud-client"
"lollypop"
"gnome-font-viewer"
"xdg-desktop-portal"
"xdg-desktop-portal-gtk"
"sysprof"
"cambalache"
"transmission"
"dino"
"ardour"
"gnome-tweaks"
"gnome-builder"
"endeavour"
"dconf-editor"
"uefitool"
"ffmpeg"
"mpv"
"ungoogled-chromium"
"pavucontrol"
"alsa-plugins"
"qjackctl"
"flatpak"
"yt-dlp"
"vlc"
"qbittorrent"
"musescore"
"mumble"
"gimp"
"ghostwriter"
"supertuxkart"
"supertux"
"seahorse"
"hplip"
"bluefish"
"inkscape"
"simplescreenrecorder"
"youtube-dl"
"obs"
"pngquant"
"signal-desktop"
"icedove"
"meld"
"xournalpp"
"libreoffice"
"hexchat"
"minetest"
"system-config-printer"
"lm-sensors"
"grub"
"pinentry"
"calf"
"gparted"
"xdot"
"git-lfs"
"cmake"
"openssh"
"parted"
"cryptsetup"
"gajim-omemo"
"git:send-email"
"git"
"graphviz"
"zplugins"
"dosage"
"ncftp"
"sherlock-lv2"
"infamous-plugins"
"x42-plugins"
"shiru-lv2"
"avldrums-lv2"
"xdotool"
"licensecheck"
"atop"
"rsync"
"libtree"
"recutils"
"cvs"
"flashrom"
"tree"
"gnupg"
"python-unidecode"
"memtester"
"zstd"
"gzip"
"lz4"
"dmidecode"
"openssl"
"python"
"pandoc"
"fluida-lv2"
"fastboot"
"adb"
"ntfs-3g"
"python-virtualenv"
"python-markdown"
"valgrind"
"man-pages"
"noise-repellent"
"gx-overdriver-lv2"
"gx-vintage-fuzz-master-lv2"
"gx-voodoo-fuzz-lv2"
"tap-lv2"
"caps-plugins-lv2"
"lv2-speech-denoiser"
"rkrlv2"
"mda-lv2"
"swh-plugins-lv2"
"jack"
"alsa-utils"
"font-liberation"
"gdb"
"testdisk"
"bind:utils"
"tig"
"speedtest-cli"
"bsd-games"
"python2"
"gnome-shell-extension-dash-to-dock"
"curl"
"inetutils"
"make"
"pkg-config"
"patchelf"
"minicom"
"font-openmoji"
"gnome-shell-extension-transparent-window"
"gnome-shell-extension-topicons-redux"
"gnome-shell-extension-burn-my-windows"
"gnome-shell-extension-blur-my-shell"
"neofetch"
"htop"
"bash-completion"))

View File

@ -1 +1 @@
# Configurations Guix de neox
# Configuration home du laptop

View File

@ -0,0 +1 @@
/home/neox/Projets/guix-repo