Skip to content

Commit

Permalink
fixes deno 1.25.0 (#99)
Browse files Browse the repository at this point in the history
  • Loading branch information
mxcl authored Aug 27, 2022
1 parent 4fdd4df commit 4f7bce0
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 10 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
mkdir .git # no git in our image
#FIXME needed for gdk-pixbuf
apt --yes install shared-mime-info
apt --yes install shared-mime-info file
;;
macos-11)
# screws up a lot of build scripts
Expand Down
13 changes: 10 additions & 3 deletions projects/deno.land/package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,6 @@ relocatable: true

versions:
github: denoland/deno
ignore:
- v1.24.z #FIXME compile issues
- v1.23.4 #FIXME ^^

provides:
- bin/deno
Expand All @@ -19,10 +16,20 @@ interprets:

build:
script: |
# https://github.com/denoland/deno/issues/15596
find ext/ffi/tinycc -maxdepth 0 -empty -exec \
git clone https://github.com/TinyCC/tinycc.git {} \;
if test {{ hw.target }} = x86_64-apple-darwin; then
# our LLVM cannot build with deployment target set to 10.6
sed -i.bak s/MACOSX_DEPLOYMENT_TARGET/\#/ ext/ffi/tinycc/Makefile
fi
cargo build --release
mkdir -p "{{ prefix }}"/bin
mv target/release/deno "{{ prefix }}"/bin
dependencies:
git-scm.org: 2 # to build tinycc
rust-lang.org: 1
llvm.org: '>=13' # macOS/aarch64 requires this (FIXME only dep where needed)
curl.se: '*' # required to download v8 (python is another option)
Expand Down
30 changes: 24 additions & 6 deletions scripts/test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,28 @@ args:
- --import-map={{ srcroot }}/import-map.json
---*/

import { parsePackage, semver, Path, PackageRequirement, PlainObject } from "types"
import { parsePackage, semver, Path, PackageRequirement, PlainObject, parsePackageRequirement } from "types"
import usePantry from "hooks/usePantry.ts"
import useShellEnv, { expand } from "hooks/useShellEnv.ts"
import { run, undent, isPlainObject } from "utils"
import { validatePackageRequirement } from "utils/lvl2.ts"
import useFlags from "hooks/useFlags.ts"
import useCellar from "hooks/useCellar.ts"

useFlags()
const { debug } = useFlags()

//TODO install any other deps

const pantry = usePantry()
const pkg = parsePackage(Deno.args[0])
const pkg = await (async () => {
if (Deno.args[1] == "--magic") {
const i = await useCellar().resolve(parsePackageRequirement(Deno.args[0]))
return i.pkg
} else {
return parsePackage(Deno.args[0])
}
})()

const self = {
project: pkg.project,
constraint: new semver.Range(pkg.version.toString())
Expand All @@ -45,24 +54,33 @@ let text = undent`
`

const tmp = Path.mktemp()
const tmp = Path.mktmp({ prefix: `${pkg.project}-${pkg.version}+` })

try {
if (yml.test.fixture) {
const fixture = tmp.join("fixture.tea").write({ text: yml.test.fixture.toString() })
text += `export FIXTURE="${fixture}"\n\n`
}


const cwd = tmp.join("wd").mkdir()

text += `cd "${cwd}"\n\n`

text += await pantry.getScript(pkg, 'test')
text += "\n"

for await (const [path, {name, isFile}] of pantry.prefix(pkg).ls()) {
if (isFile && name != 'package.yml') path.cp({ into: cwd })
}

const cmd = tmp
.join("test.sh")
.write({ text, force: true })
.chmod(0o500)
await run({ cmd })
await run({ cmd, cwd })
} finally {
tmp.rm({ recursive: true })
if (!debug) tmp.rm({ recursive: true })
}

function get_deps() {
Expand Down

0 comments on commit 4f7bce0

Please sign in to comment.