Implement researched Guix package outcome for #62: [Guix packaging] A7R7/org-popup-posframe #619
Labels
No labels
accessibility
bug
category:ai-tool
category:browser
category:command-line-tool
category:compiler-toolchain
category:desktop-application
category:developer-tool
category:editor-extension
category:emulator
category:font
category:game
category:input-accessibility
category:library-framework
category:mud-client
category:multimedia
category:networking-client
category:programming-language
category:roguelike
category:storage-media-tool
category:system-tool
category:terminal-application
complexity:high
complexity:low
complexity:medium
difficulty:blocked
difficulty:easy
difficulty:hard
difficulty:moderate
documentation
duplicate
enhancement
good first issue
gooflow:guix-package-high
gooflow:guix-package-moderate
gooflow:guix-package-quality-gates
gooflow:guix-research-disposition
gooflow:guix-runtime-evidence-refresh
help wanted
invalid
kind:disposition
kind:packaging
needs:license-investigation
priority:quick
question
ready-for-agent
state:available-elsewhere
state:blocked
state:deferred
state:out-of-scope
state:ready
state:research
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
tay/guix-channel#619
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
This delivery ticket was created from research issue #62 ([Guix packaging] A7R7/org-popup-posframe).
The host-validated research finding follows:
Canonical source and fixed revision: use https://github.com/A7R7/org-popup-posframe at upstream Version 0.0.1, fixed to commit d39cb7c2c9a996689b0d6519695eed3d807c0c85 on main (2024-05-28); there is no release tag or published release. The local channel already records this exact codeload origin as a7r7-org-popup-posframe-source in tay/packages/starred-a-c.scm, with base32 source hash 1aalk02slmy50nhjdp3knw09qs44ms6ak5ch3c2k025cnn9cb0w and channel snapshot version 0-d39cb7c. The tree at that revision contains org-popup-posframe.el, readme.org, LICENSE, and two PNG screenshots; .gitmodules is absent and git submodule status is empty. License and source-build assessment: at the exact A7R7 revision, LICENSE is the complete GNU GPL version 3 text and org-popup-posframe.el carries SPDX GPL-3.0-or-later plus the full GPL grant and warranty notice; the README also identifies GPLv3. The screenshots are files in that same fixed origin, not separately fetched sources, and should not be installed by the Emacs build. The existing preservation snapshot narrows its metadata to license:gpl3, but the installed package should use license:gpl3+ to match the source header. The only runtime extension origin required beyond Emacs is https://github.com/tumashu/posframe tag v1.5.2, fixed at commit 74c8c56131ed866db47ae4191364b72dd4852456; posframe.el at that exact revision contains the full GPL version 3 or later grant, and the pinned Guix commit 21c3d6748b65dad0d23c5d72e406ffee42212884 defines emacs-posframe 1.5.2 from that tag with license:gpl3+ and no submodules. emacs-build-system supplies the pinned build-only emacs-minimal 30.2 origin, mirror://gnu/emacs/emacs-30.2.tar.xz with base32 hash 1nggbgnns7lvxn68gzlcsgwh3bigvrbn45kh6dqia9yxlqc6zwxk; the Guix emacs-minimal definition at that channel revision declares license:gpl3+. Org is bundled with supported Emacs, so emacs-org is not a required separately fetched input. This is a legal, source-buildable Elisp package with no native compilation, vendored code, downloads, or runtime helper. Equivalent coverage: the local channel has only the preservation source snapshot; neither the pinned GNU Guix package set nor the local tay modules has an installed package for A7R7/org-popup-posframe, so no equivalent with the same origin exists. Delivery brief: add an installed package named emacs-org-popup-posframe in a dedicated tay/packages/org-popup-posframe.scm module using emacs-build-system, upstream version 0.0.1-0.d39cb7c, the recorded package-source from a7r7-org-popup-posframe-source, and propagated-inputs containing emacs-posframe. Do not add emacs-org or a wrapper; emacs-build-system automatically uses emacs-minimal for compilation, while runtime is the user’s Emacs 28.1 or newer with propagated posframe. Add a phase to install the upstream LICENSE at share/doc/emacs-org-popup-posframe/LICENSE; the default Emacs include rules install the Elisp and generated package metadata but not the PNGs. Required runtime behavior is loading org-popup-posframe.el, requiring org and posframe, and enabling org-popup-posframe-mode; posframe-workable-p intentionally makes popup display a no-op in batch or non-graphic Emacs, so GUI behavior must be tested separately and needs no wrapper or environment setup. Specific smoke proof: add tests/emacs-org-popup-posframe-smoke.sh; create a fresh temporary HOME, XDG_CONFIG_HOME, XDG_DATA_HOME, and XDG_CACHE_HOME, run the installed library with emacs --batch -Q and no network, require org, posframe, and org-popup-posframe, enable the mode and assert the org-capture and org-insert-link advices are installed, disable it and assert they are removed, verify the installed GPL text, fingerprint every file under the package output before and after the run, and assert no output file is writable. Separately run the same installed package under Xvfb or a real isolated DISPLAY, show a temporary Org buffer through org-popup-posframe--show-buffer, assert the buffer-local posframe--frame is live, then hide and clean it up. Acceptance for the implementation is guix lint -L . emacs-org-popup-posframe and guix build -L . emacs-org-popup-posframe, followed by the isolated batch smoke and separate GUI check; no package proof is claimed by this research, and the current host could not realize packages because the Guix daemon socket was unavailable.
Acceptance criteria
Imported from GitHub issue/PR. Originally posted by htayj on 2026-08-25T17:37:05Z.
Completed by Goocastle
Imported from GitHub comment. Originally posted by htayj on 2026-08-25T21:56:46Z.
Published signed/authenticated commit
f9d9ee4d9bafter separately authorized remote object recovery. Main source build, --check reproducibility, offline lint, real isolated runtime and integrated targets passed; unchanged store and native screenshots verified. Actual isolated Org childframe capture menu, template selection/finalized content and show/hide/delete passed; PNG619 native childframe inspected. Existing compile warning disclosed. No Goocastle execution or user package-profile changes.