diff --git a/codecs/mozjpeg/Makefile b/codecs/mozjpeg/Makefile index 0a3c4f76..410ecd47 100644 --- a/codecs/mozjpeg/Makefile +++ b/codecs/mozjpeg/Makefile @@ -20,6 +20,5 @@ $(filter dec/%,$(OUT_JS)): dec/mozjpeg_dec.cpp -s ENVIRONMENT=$(ENVIRONMENT) \ -s EXPORT_ES6=1 \ -o $@ \ - ${MOZJPEG}/lib/rdswitch.o \ - ${MOZJPEG}/lib/libjpeg.a \ - $+ \ + -ljpeg \ + $+ diff --git a/codecs/mozjpeg/flake.lock b/codecs/mozjpeg/flake.lock index 32d6a0c4..00af9962 100644 --- a/codecs/mozjpeg/flake.lock +++ b/codecs/mozjpeg/flake.lock @@ -19,16 +19,18 @@ }, "nixpkgs": { "locked": { - "lastModified": 1722640603, - "narHash": "sha256-TcXjLVNd3VeH1qKPH335Tc4RbFDbZQX+d7rqnDUoRaY=", - "owner": "NixOS", + "lastModified": 1717179513, + "narHash": "sha256-vboIEwIQojofItm2xGCdZCzW96U85l9nDW3ifMuAIdM=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "81610abc161d4021b29199aa464d6a1a521e0cc9", + "rev": "63dacb46bf939521bdc93981b4cbb7ecb58427a0", "type": "github" }, "original": { - "id": "nixpkgs", - "type": "indirect" + "owner": "nixos", + "ref": "24.05", + "repo": "nixpkgs", + "type": "github" } }, "root": { diff --git a/codecs/mozjpeg/flake.nix b/codecs/mozjpeg/flake.nix index 3c8d913b..f0309c98 100644 --- a/codecs/mozjpeg/flake.nix +++ b/codecs/mozjpeg/flake.nix @@ -1,14 +1,11 @@ { inputs = { + nixpkgs = { + url = "github:nixos/nixpkgs/24.05"; + }; mozjpeg = { url = "github:mozilla/mozjpeg/v3.3.1"; flake = false; - - # type = "github"; - # owner = "mozilla"; - # repo = "mozjpeg"; - # rev = "v3.3.1"; - # hash = "sha256-frpQdkk7bJE5qbV70fdL1FsC4eI0Fm8FWshqBQxCRtk="; }; }; outputs = @@ -36,7 +33,7 @@ ''; installPhase = '' mkdir -p $out - cp + # cp ''; }; mozjpeg = stdenv.mkDerivation { @@ -49,47 +46,39 @@ emscripten pkg-config ]; - preConfigure = '' + configurePhase = '' # $HOME is required for Emscripten to work. # See: https://nixos.org/manual/nixpkgs/stable/#emscripten export HOME=$TMPDIR - autoreconf -if + autoreconf -ifv + emconfigure ./configure \ + --disable-shared \ + --without-turbojpeg \ + --without-simd \ + --without-arith-enc \ + --without-arith-dec \ + --with-build-date=squoosh \ + --prefix=$out ''; - # configurePhase = '' - - # runHook preConfigure - # emconfigure ./configure $configureFlags - # runHook postConfigure - # ''; - configureScript = "emconfigure ./configure"; - configureFlags = [ - "--disable-shared" - "--without-turbojpeg" - "--without-simd" - "--without-arith-enc" - "--without-arith-dec" - "--with-build-date=squoosh" - ]; - buildFlags = [ - "libjpeg.la" - "rdswitch.o" - ]; buildPhase = '' - emmake make -j$(nproc) $buildFlags + export HOME=$TMPDIR + emmake make V=1 -j$(nproc) --trace libjpeg.la ''; installPhase = '' - mkdir -p $out/lib - mkdir -p $out/include - cp .libs/libjpeg.a $out/lib - cp rdswitch.o $out/lib - cp *.h $out/include - ''; - checkPhase = '' - true + make install-includeHEADERS install-libLTLIBRARIES ''; + dontFixup = true; + }; }; devShells.${system}.default = pkgs.mkShell { + packages = [ + autoconf + automake + libtool + emscripten + pkg-config + ]; shellHook = '' echo "Path to MozJPEG: ${mozjpeg}" '';