Update the Changlog to include FBT changes
Signed-off-by: Sameer Rahmani <lxsameer@gnu.org>
This commit is contained in:
parent
e3c9dbf72c
commit
6872744dde
|
@ -10,6 +10,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||||
- New `extensions` implementation (`core/fg42/extensions.el`)
|
- New `extensions` implementation (`core/fg42/extensions.el`)
|
||||||
- New approach to launching fg42
|
- New approach to launching fg42
|
||||||
- New `compiler` target to Makefile
|
- New `compiler` target to Makefile
|
||||||
|
- New fbt package and moved `fbt` and `fg42-new` scripts to the `/bin` directory.
|
||||||
|
- Created the `fpkg` module in `fbt` in order to separate the straight initialization from FG42 so we don't have to work with free dynamic var/functions.
|
||||||
|
- Added `debug` support to `fbt` via `:d`
|
||||||
|
- Added expr evaluation via `:e`
|
||||||
|
- Added `system` support to `fbt`. We can build different systems with `fbt`. It's more like a generic build tool right now.
|
||||||
|
- Added `fpkg` related fields to the system struct.
|
||||||
|
- fpkg `init` command bootstraps straight.
|
||||||
|
- Added `clean` command to fbt
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
- Changed the main package path to `/core`
|
- Changed the main package path to `/core`
|
||||||
- Changed the extensions path to `/extensions`
|
- Changed the extensions path to `/extensions`
|
||||||
|
|
|
@ -23,95 +23,6 @@
|
||||||
;;; Code:
|
;;; Code:
|
||||||
(require 'fg42/system/api)
|
(require 'fg42/system/api)
|
||||||
|
|
||||||
(defvar bootstrap-version nil
|
|
||||||
"`straight.el' bootstrap version. Set it in the `system' level, not here.")
|
|
||||||
|
|
||||||
(defvar straight-base-dir)
|
|
||||||
(defvar straight-repository-branch)
|
|
||||||
(defvar straight-cache-autoloads)
|
|
||||||
(defvar straight-check-for-modifications)
|
|
||||||
(defvar straight-enable-package-integration)
|
|
||||||
(defvar straight-vc-git-default-clone-depth)
|
|
||||||
(defvar autoload-compute-prefixes)
|
|
||||||
(defvar straight-fix-org)
|
|
||||||
(defvar straight-recipe-repositories)
|
|
||||||
(defvar straight-recipe-overrides)
|
|
||||||
|
|
||||||
(defun fg42-fpkg/-set-straight-values (system)
|
|
||||||
"Set the default values for some of `straight.el' vars for the SYSTEM."
|
|
||||||
(setq straight-base-dir (fg42-system/fpkg-path system)
|
|
||||||
straight-repository-branch "develop"
|
|
||||||
;; Our autoload process is different.
|
|
||||||
straight-cache-autoloads nil
|
|
||||||
;; `straight.el' suppose to be a functional pkg manager but it actually
|
|
||||||
;; allows user to edit libraries in place which we don't like it.
|
|
||||||
;; We have our own mechanism to allow users extend FG42 so we don't
|
|
||||||
;; want `straight.el' to handle it. Frankly it reduces the boot time
|
|
||||||
;; by a lot.
|
|
||||||
straight-check-for-modifications nil
|
|
||||||
straight-enable-package-integration nil
|
|
||||||
;; We don't want `straight.el' to deep clone the dependencies. Some packages
|
|
||||||
;; might break this way according to `doom-emacs'
|
|
||||||
straight-vc-git-default-clone-depth 1
|
|
||||||
;; We have our own autoload system.
|
|
||||||
autoload-compute-prefixes nil
|
|
||||||
straight-fix-org nil))
|
|
||||||
|
|
||||||
|
|
||||||
(defun fg42-fpkg/-install-core-dependencies (system)
|
|
||||||
"Install the core dependencies of the given SYSTEM.
|
|
||||||
Core dependencies are thoses packages that the system itself is depends on
|
|
||||||
and not the extensions."
|
|
||||||
(mapc #'straight-use-recipes (fg42-system/core-dependencies system)))
|
|
||||||
|
|
||||||
|
|
||||||
(defun fg42-fpkg/initialize (system)
|
|
||||||
"Initilize the package manager for the given SYSTEM.
|
|
||||||
Basically fpkg will bootstrap and `straight.el' repositoryu for the given
|
|
||||||
SYSTEM by fetching the required values from it. Including the path to the
|
|
||||||
target directory."
|
|
||||||
(unless (fboundp 'straight--reset-caches)
|
|
||||||
(let ((bootstrap-file (concat (fg42-system/fpkg-path system)
|
|
||||||
"straight/repos/straight.el/bootstrap.el"))
|
|
||||||
(bootstrap-version (fg42-system/fpkg-backend-version system)))
|
|
||||||
|
|
||||||
(make-directory (fg42-system/fpkg-path system) t)
|
|
||||||
(fg42-fpkg/-set-straight-values system)
|
|
||||||
|
|
||||||
(or (require 'straight nil t)
|
|
||||||
(file-readable-p bootstrap-file)
|
|
||||||
(with-current-buffer
|
|
||||||
(url-retrieve-synchronously
|
|
||||||
(format "https://raw.githubusercontent.com/raxod502/straight.el/%s/install.el"
|
|
||||||
straight-repository-branch)
|
|
||||||
'silent 'inhibit-cookies)
|
|
||||||
(goto-char (point-max))
|
|
||||||
(eval-print-last-sexp))
|
|
||||||
(load bootstrap-file nil t)))
|
|
||||||
(require 'straight))
|
|
||||||
|
|
||||||
(funcall #'straight--reset-caches)
|
|
||||||
(fg42-fpkg/-install-core-dependencies system)
|
|
||||||
|
|
||||||
(setq straight-recipe-repositories nil
|
|
||||||
straight-recipe-overrides nil)
|
|
||||||
|
|
||||||
;; Someday we might have to use our own fork of `straight.el'
|
|
||||||
(straight-register-package
|
|
||||||
`(straight :type git :host github
|
|
||||||
:repo "raxod502/straight.el"
|
|
||||||
:files ("straight*.el")
|
|
||||||
:branch ,straight-repository-branch
|
|
||||||
:no-byte-compile t))
|
|
||||||
|
|
||||||
(fg42-system/fpkg-initilized! system))
|
|
||||||
|
|
||||||
|
|
||||||
(defun fg42-fpkg/initialize-once (system)
|
|
||||||
"Initilize FPKG only once for the given SYSTEM."
|
|
||||||
(when (not (fg42-system/fpkg-initilized-p system))
|
|
||||||
(fg42-fpkg/initialize system)
|
|
||||||
(straight-use-package 'use-package)))
|
|
||||||
|
|
||||||
|
|
||||||
(provide 'fg42/fpkg/core)
|
(provide 'fg42/fpkg/core)
|
||||||
|
|
Loading…
Reference in New Issue