Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

janet: Add version 1.13.1 #5334

Closed
wants to merge 9 commits into from
Closed

janet: Add version 1.13.1 #5334

wants to merge 9 commits into from

Conversation

littleli
Copy link
Contributor

@littleli littleli commented Dec 19, 2020

From the project homepage:

Janet is a functional and imperative programming language. It runs on Windows, Linux, macOS, BSDs, and should run on other systems with some porting. The entire language (core library, interpreter, compiler, assembler, PEG) is less than 1MB. You can also add Janet scripting to an application by embedding a single C file and two headers.

I did my best with this manifest. Suggestions welcome. Linked issue: janet-lang/janet#533

Manifest declares following environment variables for the user:

JANET_PATH: The location to look for Janet libraries. This is the only environment variable Janet needs to
find native and source code modules.

JANET_HEADERPATH: The location that jpm will look for janet header files (janet.h and janetconf.h) that are used
to build native modules and standalone executables. If janet.h and janetconf.h are available as
default includes on your system, this value is not required. If not provided, will default to
/../include/janet. The --headerpath=/some/path option will override this

Unfortunately, defaults for location does not match the directory structure on Windows platform and it has to be modified.

JANET_LIBPATH: Similar to JANET_HEADERPATH, this path is where jpm will look for libjanet.a for creating standalone executables. This does not need to be set on a normal install. If not provided, this will default to /../lib.
The --libpath=/some/path option will override this variable.

Again. Unfortunately, the documentation says it sets it to default that does not exist on Windows platform.

JANET_BINPATH: The directory where jpm will install binary scripts and executables to. Defaults to (dyn :syspath)/bin. The --binpath=/some/path will override this variable.

@littleli littleli requested a review from Ash258 December 20, 2020 11:31
@littleli
Copy link
Contributor Author

littleli commented Jan 2, 2021

Please check the persist part and the commentary on environment variables above.

@littleli littleli requested a review from Ash258 January 2, 2021 12:15
littleli and others added 5 commits January 4, 2021 15:24
Co-authored-by: Jakub Čábera <cabera.jakub@gmail.com>
Co-authored-by: Jakub Čábera <cabera.jakub@gmail.com>
Co-authored-by: Jakub Čábera <cabera.jakub@gmail.com>
Co-authored-by: Jakub Čábera <cabera.jakub@gmail.com>
Co-authored-by: Jakub Čábera <cabera.jakub@gmail.com>
@littleli
Copy link
Contributor Author

littleli commented Jan 4, 2021

Thanks @Ash258 for the patience and review!

Co-authored-by: earnest ma <me@earne.link>
@littleli littleli requested a review from Ash258 January 4, 2021 17:54
"extract_dir": "Janet",
"bin": [
"bin\\janet.exe",
"bin\\jpm.bat"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://janet-lang.org/docs/index.html

If you want to use jpm to install native extensions, you will also need to install Visual Studio, ideally a recent release (2019 or 2017 should work well). Then, running jpm from the x64 Native Tools Command Prompt should work for a 64-bit build, and from the Developer Command Prompt should work for 32-bit builds. Using these specific command prompts for jpm simply lets jpm use the Microsoft compiler to compile native modules on install.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have two (decent) options I guess.

  1. Put a note in notes section about jpm depending on Visual C
  2. Remove jpm.bat shim

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bakpakin What do you suggest?

@Ash258 Ash258 added the waiting feedback Waiting for user feedback label Jan 5, 2021
@stale
Copy link

stale bot commented Oct 27, 2021

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Oct 27, 2021
@stale stale bot removed the stale label Nov 3, 2021
@rashil2000
Copy link
Member

Hi @littleli!

I noticed the conversation on janet-lang/janet#533. I can help you get this merged. I think 3-4 env vars aren't that much of a blocker, we can have them in the manifest.

Regarding jpm, does it needs VS for installing any package or just for installing native extensions? If it's the latter, we can add a note in the manifest regarding it, just like Rust does: https://github.com/ScoopInstaller/Main/blob/master/bucket/rustup-msvc.json#L6

Finally, I think the Main bucket is a better place for this. Please create an up to date PR there. I'm closing this PR because the remote repo is deleted.

@rashil2000 rashil2000 closed this Jan 1, 2022
@littleli
Copy link
Contributor Author

littleli commented Jan 2, 2022

@rashil2000 Sure. I'll reach you a bit later about this. We can figure this out.

@rashil2000
Copy link
Member

No worries, whenever you get time :)

@littleli
Copy link
Contributor Author

littleli commented Jan 4, 2022

Contrib: ScoopInstaller/Main#3149

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants