profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/int-index/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Vladislav Zavialov int-index @serokell, @monadfix Moscow, Russia https://int-index.com

haskell/cabal 1290

Official upstream development repository for Cabal and cabal-install

Gabriel439/Haskell-Turtle-Library 812

Shell programming, Haskell style

haskell/haddock 295

Haskell Documentation Tool

int-index/ether 76

Monad Transformers and Classes

Gabriel439/Haskell-Errors-Library 59

Type-safe error handling

int-index/caps 25

Monadic capabilities with late binding

goldfirere/ghc-proposals 5

Proposed compiler and language changes for GHC and GHC/Haskell

int-index/bt 2

Analysis of Boolean Functions

pull request commentalpmestan/ghc.nix

Add a flag for disabling tests for time-compat

Have you tried the workaround suggested by @tritlo in https://github.com/haskell/time/issues/136#issuecomment-843600385?

hithroc

comment created time in 3 days

pull request commentghc-proposals/ghc-proposals

COMPLETE set signatures (under review)

There seems to be only a handful of packages that use this syntax:

https://hackage-search.serokell.io/?q=COMPLETE.%3A%3A.%23-%7D

sgraf812

comment created time in 7 days

pull request commentghc-proposals/ghc-proposals

COMPLETE set signatures (under review)

Thanks @sgraf812! I recommended acceptance. The committee’s deliberations take place at https://mail.haskell.org/pipermail/ghc-steering-committee/2021-September/thread.html

sgraf812

comment created time in 8 days

pull request commentghc-proposals/ghc-proposals

Explicit Splice Imports (under review)

Yeah, I agree that:

  • We should copy what Racket does until there’s a reason to do otherwise. Or at least we should pick a forwards-compatible subset of it.
  • Cross-compilation is an important use case to support, and the design should facilitate it, not hinder it. (I’m happy to trust @Ericson2314’s judgement in this regard).
mpickering

comment created time in 10 days

pull request commentghc-proposals/ghc-proposals

COMPLETE set signatures (under review)

@sgraf812 Could you incorporate your explanations about the required/provided constraints from https://github.com/ghc-proposals/ghc-proposals/pull/400#issuecomment-865282324 into the proposal?

Specifically, I want this to be included in the “Examples” section:

pattern FZ :: () =>        n ~ 'S m      => Fin n
pattern FZ <- (viewFin -> VZ) where
  FZ = Fin 0

pattern FS :: () => n ~ 'S m => Fin m -> Fin n
pattern FS m <- (viewFin -> VS m) where
  FS (Fin m) = Fin (1 + m)

{-# COMPLETE FZ, FS #-}

with the accompanying discussion of the differences between

  1. {-# COMPLETE FZ, FS :: Fin n #-}
    
  2.  {-# COMPLETE FZ :: Fin Z #-}
     {-# COMPLETE FS :: Fin (S n) #-}
    
  3.  {-# COMPLETE FZ :: n ~ Z => Fin n #-}
     {-# COMPLETE FS :: n ~ S m => Fin n #-}
    

I understood the difference thanks to your explanations, but let’s include them in the proposal text for completeness.

sgraf812

comment created time in 10 days

pull request commentghc-proposals/ghc-proposals

Explicit Splice Imports (under review)

Seems like there are some design questions to be resolved. Do we want quote imports or not? Assigning back for revision until the proposal takes a concrete stance on this. Hopefully the implementation efforts will also yield further insights.

mpickering

comment created time in 10 days

startedladislav-zezula/StormLib

started time in 13 days

pull request commentsimonmar/happy

Split off happy-grammar and happy-tabular

It’s in my queue.

I tried to run git diff master --color-moved=blocks -w locally to confirm that this MR just moves things around, but git isn’t smart enough to ignore changes to indentation and migration from .lhs to .hs

Didn’t want to bother you with more nitpicking and decided to rearrange a few things myself (preserving attribution in parts that you’ve done, of course), but have been busy with other things.

I’ll try to get this over with by the end of the week.

knothed

comment created time in 17 days

PullRequestReviewEvent

Pull request review commentsimonmar/happy

Split off happy-grammar and happy-tabular

+module Happy.Tabular (TabularArgs(..), Lr1State, TabularResult, runTabular) where++import Happy.Grammar.Grammar+import Happy.Tabular.Tables+import Happy.Tabular.First+import Happy.Tabular.LALR+import Happy.Tabular.FindRedundancies+import Happy.Tabular.Info+import Data.Set (Set)+import Data.Array (Array)+import System.IO+import System.Exit+import Control.Monad++-------- Main entry point (runTabular) --------++data TabularArgs = TabularArgs {+  inFile :: String, -- printed to the info file, not used otherwise+  infoFile :: Maybe String+  +#ifdef DEBUG++  , +  dumpLR0 :: Bool,+  dumpLA :: Bool,+  dumpAction :: Bool,+  dumpGoto :: Bool++#endif++}++type Lr1State = ([Lr1Item], [(Name, Int)])+type TabularResult = (ActionTable, GotoTable, [Lr1State], [Int])++runTabular :: TabularArgs -> Bool -> Grammar -> IO TabularResult+runTabular args glr g = +    let first       = {-# SCC "First" #-} (mkFirst g)+        closures    = {-# SCC "Closures" #-} (precalcClosure0 g)+        sets        = {-# SCC "LR0_Sets" #-} (genLR0items g closures)+        _lainfo@(spont,prop) = {-# SCC "Prop" #-} (propLookaheads g sets first)+        la          = {-# SCC "Calc" #-} (calcLookaheads (length sets) spont prop)+        items2      = {-# SCC "Merge" #-} (mergeLookaheadInfo la sets)+        goto        = {-# SCC "Goto" #-} (genGotoTable g sets)+        action      = {-# SCC "Action" #-} (genActionTable g first items2)+        (conflictArray,(sr,rr))   = {-# SCC "Conflict" #-} (countConflicts action)+    in do++#ifdef DEBUG++        optPrint (dumpLR0 args) (print sets)+        optPrint (dumpLA args) (print la)+        optPrint (dumpAction args) (print action)+        optPrint (dumpGoto args) (print goto)++#endif++        (unused_rules, unused_terminals) <- reportUnusedRules glr g action+        writeInfoFile sets g action goto conflictArray (inFile args) (infoFile args) unused_rules unused_terminals+        reportConflicts g sr rr+        return (action, goto, items2, unused_rules)++#ifdef DEBUG++    where+      optPrint b io = when b (putStr "\n---------------------\n" >> io)++#endif+++-------- Helpers --------++reportUnusedRules :: Bool -> Grammar -> ActionTable -> IO ([Int], [String])+reportUnusedRules glr g action = +    let reduction_filter = if glr then any_reduction else first_reduction+        (unused_rules, unused_terminals) = find_redundancies reduction_filter g action in do+    when (not (null unused_rules))+       (hPutStrLn stderr ("unused rules: " ++ show (length unused_rules)))+    when (not (null unused_terminals))+       (hPutStrLn stderr ("unused terminals: " ++ show (length unused_terminals)))+    return (unused_rules, unused_terminals)++reportConflicts :: Grammar -> Int -> Int -> IO ()+reportConflicts g sr rr = case expect g of+    Just n | n == sr && rr == 0 -> return ()+    Just _ | rr > 0 ->+        die' $ "The grammar has reduce/reduce conflicts.\n" +++               "This is not allowed when an expect directive is given\n"+    Just _ ->+        die' $ "The grammar has " ++ show sr ++ " shift/reduce conflicts.\n" +++               "This is different from the number given in the expect directive\n"+    _ -> do    +        if sr /= 0+          then hPutStrLn stderr ("shift/reduce conflicts:  " ++ show sr)+          else return ()+        +        if rr /= 0+          then hPutStrLn stderr ("reduce/reduce conflicts: " ++ show rr)+          else return ()++die' :: String -> IO a

Hm, what about using an explicit import?

import System.Exit (exitWith, ExitCode(..))
knothed

comment created time in 25 days

PullRequestReviewEvent

Pull request review commentsimonmar/happy

Split off happy-grammar and happy-tabular

+module Happy.Tabular (TabularArgs(..), Lr1State, TabularResult, runTabular) where++import Happy.Grammar.Grammar+import Happy.Tabular.Tables+import Happy.Tabular.First+import Happy.Tabular.LALR+import Happy.Tabular.FindRedundancies+import Happy.Tabular.Info+import Data.Set (Set)+import Data.Array (Array)+import System.IO+import System.Exit+import Control.Monad++-------- Main entry point (runTabular) --------++data TabularArgs = TabularArgs {+  inFile :: String, -- printed to the info file, not used otherwise+  infoFile :: Maybe String+  +#ifdef DEBUG++  , +  dumpLR0 :: Bool,+  dumpLA :: Bool,+  dumpAction :: Bool,+  dumpGoto :: Bool++#endif++}++type Lr1State = ([Lr1Item], [(Name, Int)])+type TabularResult = (ActionTable, GotoTable, [Lr1State], [Int])++runTabular :: TabularArgs -> Bool -> Grammar -> IO TabularResult+runTabular args glr g = +    let first       = {-# SCC "First" #-} (mkFirst g)+        closures    = {-# SCC "Closures" #-} (precalcClosure0 g)+        sets        = {-# SCC "LR0_Sets" #-} (genLR0items g closures)+        _lainfo@(spont,prop) = {-# SCC "Prop" #-} (propLookaheads g sets first)+        la          = {-# SCC "Calc" #-} (calcLookaheads (length sets) spont prop)+        items2      = {-# SCC "Merge" #-} (mergeLookaheadInfo la sets)+        goto        = {-# SCC "Goto" #-} (genGotoTable g sets)+        action      = {-# SCC "Action" #-} (genActionTable g first items2)+        (conflictArray,(sr,rr))   = {-# SCC "Conflict" #-} (countConflicts action)+    in do++#ifdef DEBUG++        optPrint (dumpLR0 args) (print sets)+        optPrint (dumpLA args) (print la)+        optPrint (dumpAction args) (print action)+        optPrint (dumpGoto args) (print goto)++#endif++        (unused_rules, unused_terminals) <- reportUnusedRules glr g action+        writeInfoFile sets g action goto conflictArray (inFile args) (infoFile args) unused_rules unused_terminals+        reportConflicts g sr rr+        return (action, goto, items2, unused_rules)++#ifdef DEBUG++    where+      optPrint b io = when b (putStr "\n---------------------\n" >> io)++#endif+++-------- Helpers --------++reportUnusedRules :: Bool -> Grammar -> ActionTable -> IO ([Int], [String])+reportUnusedRules glr g action = +    let reduction_filter = if glr then any_reduction else first_reduction+        (unused_rules, unused_terminals) = find_redundancies reduction_filter g action in do+    when (not (null unused_rules))+       (hPutStrLn stderr ("unused rules: " ++ show (length unused_rules)))+    when (not (null unused_terminals))+       (hPutStrLn stderr ("unused terminals: " ++ show (length unused_terminals)))+    return (unused_rules, unused_terminals)++reportConflicts :: Grammar -> Int -> Int -> IO ()+reportConflicts g sr rr = case expect g of+    Just n | n == sr && rr == 0 -> return ()+    Just _ | rr > 0 ->+        die' $ "The grammar has reduce/reduce conflicts.\n" +++               "This is not allowed when an expect directive is given\n"+    Just _ ->+        die' $ "The grammar has " ++ show sr ++ " shift/reduce conflicts.\n" +++               "This is different from the number given in the expect directive\n"+    _ -> do    +        if sr /= 0+          then hPutStrLn stderr ("shift/reduce conflicts:  " ++ show sr)+          else return ()+        +        if rr /= 0+          then hPutStrLn stderr ("reduce/reduce conflicts: " ++ show rr)+          else return ()++die' :: String -> IO a

Why is this named die' with a prime? Is this somehow different from die?

knothed

comment created time in 25 days

PullRequestReviewEvent

pull request commentsimonmar/happy

Split off happy-grammar and happy-tabular

That’s looking better, thanks!

I noticed that you also had to do some changes. For example, I see that hd and tl were moved into the Grammar data type, and that #ifdef DEBUG conditionals have been removed in a couple of places.

Are these the only changes you had to do or is there something I missed? It would be easier for me to tell if the diff looked like this:

                error_handler     :: Maybe String,
                error_sig         :: ErrorHandlerType,
+               hd                :: Maybe String,
+               tl                :: Maybe String
       }

But instead I see the Grammar data type removed and re-added in its entirety in another file but with slight modifications.

For this reason I would like to see the PRs to come in one of two flavors:

  1. Changes to code structure (e.g. adding hd and tl to Grammar)
  2. Moving things around (done exclusively by copy-paste and modifying meta-data such as cabal-files)

Thanks!

knothed

comment created time in a month

pull request commentsimonmar/happy

Split off happy-grammar and happy-tabular

Why move GenUtils to happy-grammar? I didn’t expect to see it there.

knothed

comment created time in a month

pull request commentghc-proposals/ghc-proposals

Export ~ from Data.Type.Equality

The proposal is about (a) only, as (b) is not even an occurrence of the ~ operator.

int-index

comment created time in a month

pull request commentsimonmar/happy

Modularize happy

Would you like each MR to actually build and work for itself?

Yes.

That would be a bit challenging considering the changes to the parsing architecture.

All the more reason to do things separately. Maybe we should start with changes to the parsing architecture without moving things around -- that would make it easier to review the new architecture as a proper diff

knothed

comment created time in a month

pull request commentsimonmar/happy

Modularize happy

Yeah, it’s fine by me.

But as I said, this current PR changes too much at once, I find it difficult to review. Could we do it gradually? For example, start by separating out happy-grammar into its own package.

knothed

comment created time in a month

pull request commentghc-proposals/ghc-proposals

Invisible binders in type declarations

@nomeata I'd like to submit this proposal to the committee.

int-index

comment created time in a month

startedorhun/git-cliff

started time in a month

pull request commentghc-proposals/ghc-proposals

Lambda expressions with guards and multiple clauses (was: `\ of`, -XMultiWayLambda)

Better to keep extensions immutable. Introduce LambdaCases and make it imply LambdaCase.

JakobBruenker

comment created time in a month

startedemilk/egui

started time in 2 months

startedemilk/egui_template

started time in 2 months

push eventint-index/int-index.github.io

push time in 2 months

push eventint-index/int-index.github.io

Vladislav Zavialov

commit sha 36c7cf330bcf1487959b3e07e6b6bc6c5d21c126

look in the eye

view details

push time in 2 months

push eventint-index/int-index.github.io

Vladislav Zavialov

commit sha 4ececdea40a80d9b188b1f9bb1d13c8e04ac51b5

deutsch-freq-dict: more examples

view details

push time in 2 months

Pull request review commentcommercialhaskell/stack

Fix "Setup configure" not passing --with-ghc{,-pkg}=<..>

 ensureConfig newConfigCache pkgDir ExecuteEnv {..} announce cabal cabalfp task =         announce         cp <- view compilerPathsL         let (GhcPkgExe pkgPath) = cpPkg cp-        let programNames =+        let exes =               case cpWhich cp of                 Ghc ->                   [ "--with-ghc=" ++ toFilePath (cpCompiler cp)                   , "--with-ghc-pkg=" ++ toFilePath pkgPath                   ]-        exes <- forM programNames $ \name -> do-            mpath <- findExecutable name

I'm not sure if findExecutable on an absolute Path

Does it have to be an absolute path, though?

hasufell

comment created time in 2 months

PullRequestReviewEvent

pull request commentnh2/static-haskell-nix

Enable SDL

Turns out, it’s something in static-haskell-nix specifically that causes libdevil to fail. So my fix that I tried to submit upstream isn’t right.

int-index

comment created time in 2 months

issue closedNixOS/nixpkgs

libdevil+pkgsMusl: cannot find -ldeflate

Describe the bug

When building libdevil in pkgsMusl, the build fails with the following linker error:

libtool: link: g++ -shared -nostdlib /nix/store/4c13cwcklgkmkyi296a9mfqr1rb6sv6m-musl-1.2.2/lib/crti.o /nix/store/i7a5x595a3b9p8ln16agnnsrf894gdbm-gcc-10.3.0/lib/gcc/x86_64-unknown-linux-musl/10.3.0/crtbeginS.o  .libs/libIL_la-il_alloc.o .libs/libIL_la-il_doom.o .libs/libIL_la-il_stack.o .libs/libIL_la-il_pcx.o .libs/libIL_la-il_rle.o .libs/libIL_la-il_bits.o .libs/libIL_la-il_endian.o .libs/libIL_la-il_exr.o .libs/libIL_la-il_jpeg.o .libs/libIL_la-il_pic.o .libs/libIL_la-il_sgi.o .libs/libIL_la-il_bmp.o .libs/libIL_la-il_error.o .libs/libIL_la-il_lif.o .libs/libIL_la-il_png.o .libs/libIL_la-il_states.o .libs/libIL_la-il_convbuff.o .libs/libIL_la-il_files.o .libs/libIL_la-il_main.o .libs/libIL_la-il_pnm.o .libs/libIL_la-il_targa.o .libs/libIL_la-il_wdp.o .libs/libIL_la-il_convert.o .libs/libIL_la-il_gif.o .libs/libIL_la-il_manip.o .libs/libIL_la-il_profiles.o .libs/libIL_la-il_tiff.o .libs/libIL_la-il_cut.o .libs/libIL_la-il_header.o .libs/libIL_la-il_mdl.o .libs/libIL_la-il_quantizer.o .libs/libIL_la-il_utility.o .libs/libIL_la-il_dcx.o .libs/libIL_la-il_icon.o .libs/libIL_la-il_mng.o .libs/libIL_la-il_raw.o .libs/libIL_la-il_wal.o .libs/libIL_la-il_dds.o .libs/libIL_la-il_internal.o .libs/libIL_la-il_pal.o .libs/libIL_la-il_rawdata.o .libs/libIL_la-il_devil.o .libs/libIL_la-il_io.o .libs/libIL_la-il_pcd.o .libs/libIL_la-il_register.o .libs/libIL_la-il_psd.o .libs/libIL_la-il_fastconv.o .libs/libIL_la-il_neuquant.o .libs/libIL_la-il_dds-save.o .libs/libIL_la-il_psp.o .libs/libIL_la-il_pix.o .libs/libIL_la-il_pxr.o .libs/libIL_la-il_vtf.o .libs/libIL_la-il_xpm.o .libs/libIL_la-il_hdr.o .libs/libIL_la-il_icns.o .libs/libIL_la-il_jp2.o .libs/libIL_la-altivec_common.o .libs/libIL_la-altivec_typeconversion.o .libs/libIL_la-il_sun.o .libs/libIL_la-il_nvidia.o .libs/libIL_la-il_wbmp.o .libs/libIL_la-il_squish.o .libs/libIL_la-il_iff.o .libs/libIL_la-il_ilbm.o .libs/libIL_la-il_size.o .libs/libIL_la-il_tpl.o .libs/libIL_la-il_fits.o .libs/libIL_la-il_iwi.o .libs/libIL_la-il_blp.o .libs/libIL_la-il_ftx.o .libs/libIL_la-il_dicom.o .libs/libIL_la-il_rot.o .libs/libIL_la-il_texture.o .libs/libIL_la-il_dpx.o .libs/libIL_la-il_utx.o .libs/libIL_la-il_mp3.o   -Wl,-rpath -Wl,/nix/store/rslf9ramqpm0cigzshx9sb9m81awjkxg-libtiff-4.3.0/lib -Wl,-rpath -Wl,/nix/store/b493yxrr0glvv3988mkagqlq5k8rg5g1-xz-5.2.5/lib -Wl,-rpath -Wl,/nix/store/31xrqmhrqx1mki5dl695mbwln1nvzxbc-libpng-apng-1.6.37/lib -Wl,-rpath -Wl,/nix/store/wxrvirazjpjg28n7b4ic4xanma2g6j8i-libmng-2.0.3/lib -Wl,-rpath -Wl,/nix/store/4dp91920k88hf9xiwvk560imljzmhkx7-lcms-1.19/lib -Wl,-rpath -Wl,/nix/store/ffqns4hqmfarz4v0786bkr527ycba5l3-gcc-10.3.0-lib/lib/../lib64 -Wl,-rpath -Wl,/nix/store/rslf9ramqpm0cigzshx9sb9m81awjkxg-libtiff-4.3.0/lib -Wl,-rpath -Wl,/nix/store/b493yxrr0glvv3988mkagqlq5k8rg5g1-xz-5.2.5/lib -Wl,-rpath -Wl,/nix/store/31xrqmhrqx1mki5dl695mbwln1nvzxbc-libpng-apng-1.6.37/lib -Wl,-rpath -Wl,/nix/store/wxrvirazjpjg28n7b4ic4xanma2g6j8i-libmng-2.0.3/lib -Wl,-rpath -Wl,/nix/store/4dp91920k88hf9xiwvk560imljzmhkx7-lcms-1.19/lib -Wl,-rpath -Wl,/nix/store/ffqns4hqmfarz4v0786bkr527ycba5l3-gcc-10.3.0-lib/lib/../lib64 /nix/store/rslf9ramqpm0cigzshx9sb9m81awjkxg-libtiff-4.3.0/lib/libtiff.so /nix/store/b493yxrr0glvv3988mkagqlq5k8rg5g1-xz-5.2.5/lib/liblzma.so -ldeflate /nix/store/31xrqmhrqx1mki5dl695mbwln1nvzxbc-libpng-apng-1.6.37/lib/libpng16.so /nix/store/wxrvirazjpjg28n7b4ic4xanma2g6j8i-libmng-2.0.3/lib/libmng.so /nix/store/4dp91920k88hf9xiwvk560imljzmhkx7-lcms-1.19/lib/liblcms.so -ljpeg -L/nix/store/y3yaq4iz18cwdy00182raqrqqkij0cl1-openexr-2.5.7/lib -lIlmImf-2_5 -lImath-2_5 -lHalf-2_5 -lIex-2_5 -lIexMath-2_5 -lIlmThread-2_5 -lz -L/nix/store/5c4bda86vh2f3ylcs0mhxfgfnnp2yv0y-libjpeg-turbo-2.1.0/lib -L/nix/store/1dlhc7w4dlacgmkjbcx9454givv4kdqj-zlib-1.2.11/lib -L/nix/store/31xrqmhrqx1mki5dl695mbwln1nvzxbc-libpng-apng-1.6.37/lib -L/nix/store/b493yxrr0glvv3988mkagqlq5k8rg5g1-xz-5.2.5/lib -L/nix/store/rslf9ramqpm0cigzshx9sb9m81awjkxg-libtiff-4.3.0/lib -L/nix/store/2265hgdd0p74kpksylmi36nvi5giidpq-lcms2-2.12/lib -L/nix/store/wxrvirazjpjg28n7b4ic4xanma2g6j8i-libmng-2.0.3/lib -L/nix/store/4dp91920k88hf9xiwvk560imljzmhkx7-lcms-1.19/lib -L/nix/store/4m1k3nygch371wakfvw3syfybmwjgggs-ilmbase-2.5.7/lib -L/nix/store/4c13cwcklgkmkyi296a9mfqr1rb6sv6m-musl-1.2.2/lib -L/nix/store/ffqns4hqmfarz4v0786bkr527ycba5l3-gcc-10.3.0-lib/lib -L/nix/store/4qq14211l3470xlhcjl3r0lcx2f53p88-gcc-wrapper-10.3.0/bin -L/nix/store/i7a5x595a3b9p8ln16agnnsrf894gdbm-gcc-10.3.0/lib/gcc/x86_64-unknown-linux-musl/10.3.0 -L/nix/store/i7a5x595a3b9p8ln16agnnsrf894gdbm-gcc-10.3.0/lib/gcc/x86_64-unknown-linux-musl/10.3.0/../../../../lib64 -L/nix/store/i7a5x595a3b9p8ln16agnnsrf894gdbm-gcc-10.3.0/lib/gcc/x86_64-unknown-linux-musl/10.3.0/../../.. /nix/store/ffqns4hqmfarz4v0786bkr527ycba5l3-gcc-10.3.0-lib/lib/../lib64/libstdc++.so -lm -lc -lgcc_s /nix/store/i7a5x595a3b9p8ln16agnnsrf894gdbm-gcc-10.3.0/lib/gcc/x86_64-unknown-linux-musl/10.3.0/crtendS.o /nix/store/4c13cwcklgkmkyi296a9mfqr1rb6sv6m-musl-1.2.2/lib/crtn.o  -msse -msse2 -msse3   -pthread -Wl,-soname -Wl,libIL.so.1 -o .libs/libIL.so.1.1.0
/nix/store/vf20zcyqr3qzcjhdidzk377qankcqsqa-binutils-2.35.1/bin/ld: cannot find -ldeflate
  CC       muxinternal.lo
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:501: libIL.la] Error 1
make[1]: Leaving directory '/build/devil-1.7.8/lib'
make: *** [Makefile:322: all-recursive] Error 1
builder for '/nix/store/n24v74x7736yaycg9yk2cccqva0fdwig-libdevil-1.7.8.drv' failed with exit code 2

Steps To Reproduce

Steps to reproduce the behavior:

  1. check out nixpkgs commit 95f1154f993bc788bad7df1feed1b98c7e7381cb (that was latest master when I started testing)
  2. in pkgs/development/interpreters/python/cpython/default.nix set enableLTO to false to work around #131557
  3. run nix-shell -p pkgsMusl.libdevil

Expected behavior

Successful build.

Additional context

The fix is to add libdeflate to build inputs, done in #132220

Notify maintainers

@Phreedom

Metadata

$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 5.10.45, NixOS, 21.11.git.09c38c29f2c (Porcupine)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.3.12`
 - nixpkgs: `/etc/nixos/nixpkgs`

Maintainer information:

# a list of nixpkgs attributes affected by the problem
attribute: pkgsMusl.libdevil
# a list of nixos modules affected by the problem
module:

closed time in 2 months

int-index